【发布时间】:2012-08-29 04:01:44
【问题描述】:
我必须为我正在创建的一些编译器做一个语法:
二元运算符 && 和 || 和一元运算符 # 和 * 以它们的方式:
I) || 优先于 &&
II) && 关联到左边:a && b && c 表示 ((a&&b)&&c)
III) || 右关联
IV) 一元运算符的优先级高于二元运算符
我在想这样的事情:
E -> E || T | E && T | T
T -> T # F | T * F
F -> (E) | Numbers
Numbers -> 0 | 1 | 2 | 3 | ... | 9
会错吗? 有什么想法吗?
【问题讨论】:
-
语法是LL吗? LR?甚至没有上下文?
-
这是大学的一个项目,我正在和我的教授一起工作,他把这个交给了研究,我开始学习编译器。
标签: compiler-construction compilation computer-science computer-architecture