A->Ab | b
改成
A -> bR
R -> bR | epsilon
ps:繁体字好难认哦:em06: 好像真正用的编译器很少有用lex/yacc生成前端的,应该是效率比较低,或有某些限制吧,在现实工作中遇到的lex/yacc多数是一些自定义的简单语言(如某公司的单板告警描述),或一些简单的小Shell(VxWorks5.1的Target Shell)。
现在做编译器前端相对比较成熟了,更多是在拼后端吧。 手工很正常啊,以前版本用的是lex/yacc
to 6L:
编译原理里会有详细的介绍,建议详细学一学
页:
1
[2]