【发布时间】:2016-04-04 07:33:23
【问题描述】:
我正在学习编译器和编程语言的概念。 怎么翻译?
问题:
<S> → (+ | -)[<C>]{<A>}
一开始我是这样翻译的:
<S> -> epsilon
| +<S>
| -<S>
| <C><S>
| <A><S>
但是,它有一个问题是它可以重现C!
【问题讨论】:
-
您的问题不清楚。 什么可以(重新?)产生C,为什么那么糟糕?如果您展示了您产生答案的阶段以及每个步骤的理由,那将非常有帮助。
标签: compiler-construction programming-languages bnf ebnf