std.d.lexer: pre-voting review / discussion

deadalnix deadalnix at gmail.com
Wed Sep 11 18:28:52 PDT 2013


On Wednesday, 11 September 2013 at 19:46:25 UTC, Brian Schott 
wrote:
> Yeah. D requires lookahead in both lexing and parsing. Some 
> examples:
>
> * String literals such as q{}
> * If statements need to determine the difference between if 
> (expression) and if (type identifier = expression)
> * Determining if something is a lamba expression or a function 
> literal expression
> * Determining if something is a declaration or a statement or 
> an expression.

Does not require lookahead.

> * Differentiating between (type).identifier and a lambda 
> expression

Yup !

> * Differentiating between a type and an expression inside a 
> typeid expression

Does not require lookahead.

> * Differentiating between associative array key type and tuple 
> slices in type suffixes

ditto.


More information about the Digitalmars-d mailing list