PLC中的FOR...NEXT指令,yacc的产生式如何写?
PLC(可编程逻辑控制器)应用程序中的FOR...NEXT指令,它可以允许最多五层嵌套,就象这样:
FOR
...
FOR
...
FOR
...
FOR
...
FOR
...
NEXT
...
NEXT
...
NEXT
...
NEXT
...
NEXT
,其中的...是指被省略的语句(它的语句就象是汇编的一样,一行一句),
请问:它的yacc的产生式如何写?谢谢
[ 本帖最后由 liuzq71 于 2009-7-18 17:20 编辑 ]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
PLC里的“语句”和C语句完全是两码事。这个也能yacc?我也想知道,帮顶一下。
我已经用yacc完成了好多PLC的指令的识别了,但这个FOR ... NEXT的不会了,请大家邦忙!
我不懂PLC,请问以下违背语法吗?
FOR
...
FOR
...
NEXT
...
FOR
...
NEXT
...
NEXT
只要是2类语言,yacc语言都可以描述。加上flag,yacc语言其实可以变相描述某些1类语言。但我不知道yacc是不是实际上可以描述所有的1类语言。像LZ所述这样的语言,yacc是可以描述的
yacc做循环是可以的。
我玩过PLC,我感兴趣的是,这yacc对PLC有什么实际意义?
PLC这东西,使用是很简单的。它其实是用来代替一大堆继电器的。会用继电器搭一个控制电路的电工,通过一个短训班就可熟练使用。可自己做一个并不容易。我做过一个,很简单,却花了很大劲。
诚如楼主所说,PLC的循环嵌套是有限的。像4楼那样,只需要2层嵌套。
楼主用yacc去“实现”(其实是描述吧?)PLC指令有什么意义,能说说吗?
我是想用yacc来检查PLC应用程序的语法是否正确,就象C编译器能检查*.C的语法一样
这样的语法是正确的
PLC的“应用程序”,其实是对逻辑的模拟。真正要验证的,是它是不是完全符合需要的逻辑。这个能用yacc解决吗?
急盼 cjaizss 版主快来邦忙啊!谢啦