我在BNF遇到了一些麻烦。我不知道什么似乎是做事的标准方式(如果有的话),以及是否有类似char或int或其他内置类型。写BNF时{和}之间有什么关系?
但是,我的主要问题是了解花括号中的BNF部分是如何工作的。
鉴于这样的:
exp : term {$$ = $1;}
| exp '+' term {$$ = $1 + $3;}
| exp '-' term {$$ = $1 - $3;}
;
(这是轻而易举地从什么地方偷来的,是YACC/C)
什么是大括号的东西实际上是在说?我也看到了类似的东西快乐的分析器生成器也一样困惑。
这是功课吗? – jcolebrand 2010-10-27 21:37:23
哦,这实际上不是BNF。 – 2010-10-27 21:44:15
@drachenstern:虽然这个问题主要是因为我在看BNF而被问到,因为我必须为Happy编写一些东西来为编译器任务创建一个玩具语言的解析器,但它本身并不是一个家庭作业问题。我不明白当我使用谷歌搜索时我正在看的东西,因此问。所以这不是家庭作业,但它与我的学位课程有关。即使那样,我也不是要求某人为我工作,我是在解释之后。 – Squidly 2010-10-27 22:01:12