PLC中的FOR...NEXT指令,yacc的产生式如何写?

发布于 2022-09-18 16:59:37 字数 386 浏览 18 评论 0

PLC(可编程逻辑控制器)应用程序中的FOR...NEXT指令,它可以允许最多五层嵌套,就象这样:

FOR
...
FOR
...
FOR
...
FOR
...
FOR
...
NEXT
...
NEXT
...
NEXT
...
NEXT
...
NEXT

,其中的...是指被省略的语句(它的语句就象是汇编的一样,一行一句),
请问:它的yacc的产生式如何写?谢谢

[ 本帖最后由 liuzq71 于 2009-7-18 17:20 编辑 ]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

等风也等你 2022-09-25 16:59:37

PLC里的“语句”和C语句完全是两码事。这个也能yacc?我也想知道,帮顶一下。

云仙小弟 2022-09-25 16:59:37

我已经用yacc完成了好多PLC的指令的识别了,但这个FOR ... NEXT的不会了,请大家邦忙!

勿挽旧人 2022-09-25 16:59:37

我不懂PLC,请问以下违背语法吗?
FOR
...
FOR
...
NEXT
...
FOR
...
NEXT
...
NEXT

鹿! 2022-09-25 16:59:37

原帖由 beepbug 于 2009-7-19 09:03 发表
PLC里的“语句”和C语句完全是两码事。这个也能yacc?我也想知道,帮顶一下。

只要是2类语言,yacc语言都可以描述。加上flag,yacc语言其实可以变相描述某些1类语言。但我不知道yacc是不是实际上可以描述所有的1类语言。像LZ所述这样的语言,yacc是可以描述的

怎会甘心 2022-09-25 16:59:37

yacc做循环是可以的。
我玩过PLC,我感兴趣的是,这yacc对PLC有什么实际意义?
PLC这东西,使用是很简单的。它其实是用来代替一大堆继电器的。会用继电器搭一个控制电路的电工,通过一个短训班就可熟练使用。可自己做一个并不容易。我做过一个,很简单,却花了很大劲。
诚如楼主所说,PLC的循环嵌套是有限的。像4楼那样,只需要2层嵌套。
楼主用yacc去“实现”(其实是描述吧?)PLC指令有什么意义,能说说吗?

最初的梦 2022-09-25 16:59:37

原帖由 beepbug 于 2009-7-19 21:18 发表
yacc做循环是可以的。
我玩过PLC,我感兴趣的是,这yacc对PLC有什么实际意义?
PLC这东西,使用是很简单的。它其实是用来代替一大堆继电器的。会用继电器搭一个控制电路的电工,通过一个短训班就可熟练使用。 ...

我是想用yacc来检查PLC应用程序的语法是否正确,就象C编译器能检查*.C的语法一样

我是男神闪亮亮 2022-09-25 16:59:37

原帖由 cjaizss 于 2009-7-19 15:46 发表
我不懂PLC,请问以下违背语法吗?
FOR
...
FOR
...
NEXT
...
FOR
...
NEXT
...
NEXT

这样的语法是正确的

始终不够 2022-09-25 16:59:37

原帖由 liuzq71 于 2009-7-19 21:23 发表

我是想用yacc来检查PLC应用程序的语法是否正确,就象C编译器能检查*.C的语法一样

PLC的“应用程序”,其实是对逻辑的模拟。真正要验证的,是它是不是完全符合需要的逻辑。这个能用yacc解决吗?

不美如何 2022-09-25 16:59:37

急盼 cjaizss   版主快来邦忙啊!谢啦

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文