我对 Flex/Bison 很陌生,所以这是一个非常幼稚的问题。
如果是,请原谅我。可能看起来像家庭作业问题 - 但我需要根据以下概念实施项目。
我的问题与两个部分有关,
问题 1
在 Bison 解析器中,如何为可选输入提供规则。
就像,我需要解析语句
示例:
-country='USA' -state='INDIANA' -population='100' -ratio='0.5' -comment='Census study for Indiana'
在这里,比率标记可以是可选的。同样,如果我有许多可选标记,那么如何在解析器中提供相同的语法?
我的代码看起来像,
%start program
program : TK_COUNTRY TK_IDENTIFIER TK_STATE TK_IDENTIFIER TK_POPULATION TK_IDENTIFIER ...
其中所有标记都在词法分析器中定义。由于有很多标记是可选的,如果我使用“|” 那么将有许多不同的输入组合方式成为可能。
问题 2
评论很有可能在输入中包含引号,所以我添加了一个 token -tag,用户可以提供它来解释相同的内容,
例子 :
-country='USA' -state='INDIANA' -population='100' -ratio='0.5' -comment='Census study for Indiana$'s population' -tag=$
现在,我需要将 Indiana$'s 重新解释为 Indiana's since -tag=$
.
请提供任何输入或相关材料以了解这些主题。