digitalmars.D - D2 Grammar
- Paolo Invernizzi (8/8) Jan 12 2009 In the documentation, the grammar for Declarator is:
In the documentation, the grammar for Declarator is:
Declarator:
BasicType2 Declarator DeclaratorSuffixesopt
BasicType2 Identifier DeclaratorSuffixesopt
How is possible to parse something like " int i,j; "?
What are the parser reduction steps?
Thanks in advance!
Paolo
Jan 12 2009
Paolo Invernizzi wrote:
In the documentation, the grammar for Declarator is:
Declarator:
BasicType2 Declarator DeclaratorSuffixesopt
BasicType2 Identifier DeclaratorSuffixesopt
How is possible to parse something like " int i,j; "?
What are the parser reduction steps?
Thanks in advance!
Paolo
Why not take a peek at the source :p? parse.c has the method
parseDeclarator. Like any recursive descent parser, it just checks the
next token and then chooses what to parse next. You have to kind of
unwind the grammar a bit to get all possible tokens that can appear next.
Jan 12 2009
Reply to Paolo,In the documentation, the grammar for Declarator is: Declarator: BasicType2 Declarator DeclaratorSuffixesopt BasicType2 Identifier DeclaratorSuffixesopt How is possible to parse something like " int i,j; "? What are the parser reduction steps? Thanks in advance! PaoloThe only real definition for the D grammar is the parser code itself (cpp source code). The BNF in the docs is known to be incomplete and/or wrong. In the past Walter has edited it from corrections people has submitted so...
Jan 12 2009









mpt <mpt iki.fi> 