28-Feb-2013 14:44, Walter Bright пишет:
On 2/28/2013 12:25 AM, Jacob Carlborg wrote:
On 2013-02-28 08:23, Walter Bright wrote:

There is always a terminating 0, even if the file ends in 0x1a.

(The 0x1A comes from some old editors that end a file with a control Z.)

http://dlang.org/lex.html, "End of File" shows this:

EndOfFile:
     physical end of the file
     \u0000
     \u001A

Doesn't that mean that the input is empty if the file is empty, \u0000
or \u001A
is encountered?




Please follow the source code from file to input to the lexer.

Source as spec is no good. Either change the spec or admit that having a tuple of sentinels as manifest constant is fine. In any case constant tuples are easily unrolled into case statements.

https://github.com/D-Programming-Language/dmd/blob/master/src/root/root.c

line 1012 and 1038


--
Dmitry Olshansky

Reply via email to