有没有一个EBNF描述 Forth 无限循环或 if 语句的规则?
EBNF用来描述syntax。无限循环或其他循环通常不属于它所描述的范围。因此,您将查看 EBNF 的无限循环,如下所示:
indefinite_loop ::= 'BEGIN' statements cond 'UNTIL'
通常情况下cond
将把 0 或 1 压入堆栈以确定是否继续循环(0
表示继续循环,1
表示退出)。因此,如果您只是插入一个0
直接地,循环将永远执行:
: infinite_loop BEGIN do_whatever 0 UNTIL ;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)