我正在尝试学习这些概念,以及如何从BNF表示法而不是EBNF用C语言创建词法分析器和解析器。我想用C语言来学习它。谁能给我解释一下我用来放入C语言的词法分析器和解析器的BNF的哪些部分,以及把它们放在哪里?比如也用到了一个例子?for_statement> ::= FOR <identifier>
IS <expression> BY <expression> TO <
我的词法分析器(目标语言C++)包含一个解析字符串文字的简单规则: STRING: '"' ~'"'+ '"'; 但是根据函数返回的值,我希望我的lexer返回一个字符串或一个IDENT。MODE_IDENT : MODE_STRING) ; 在这两种情况下,我在尝试生成词法分析器时都会得到一个错误(错误消息显示:'"' came as a compl