1
使用YACC,我想分析的文字像规则具有相同的字符串标记两次
begin foo ... end foo
字符串foo
在编译时已知有可以在相同的输入不同 这样的字符串。
到目前为止,我看到的唯一选择是解析后检查没有语法错误:
block : BEGIN IDENT something END IDENT
{ if (strcmp($2, $5) != 0) yyerror("Mismatch"); }
这种感觉是错误的。解析器应该已经检测到错误。 yacc有内置的东西吗?