我很好奇哪些(如果有的话)现实世界的编程语言有一个正规的语法(即所有的语法正确的程序是常规的)。哪些编程语言有正则语法?
另请参阅这个问题:What programming languages are context-free?。
我很好奇哪些(如果有的话)现实世界的编程语言有一个正规的语法(即所有的语法正确的程序是常规的)。哪些编程语言有正则语法?
另请参阅这个问题:What programming languages are context-free?。
Brainfuck和Whitespace和类似物肯定是正常的。
另一方面,支持(parens)的任何语言都是不规则的,因为自动机会识别它需要一个堆栈。如果没有(){} []支持,我不会真正了解许多语言,它只能执行组装以外的任何操作。
只有想到并且可能经常使用的真实世界的例子是Forth。
仅供参考您对(parens)的评论不正确。老Fortran有parens ..但有3深的限制。 – Yttrill 2011-12-24 04:51:19
现代计算中正规语言的相关性是什么?直觉上我会想象在电路上实现某些东西需要一种常规的语言,而机器代码的语法看起来好像是常规的。在软件中有没有时间使用常规语言?看起来我几乎没有使用严格的正规语言--PCRE的名字中有“正则表达式”,但如果我理解正确的话,它甚至不是严格规则的。 – ashgromnies 2016-03-09 01:48:02
Brainfuck不是常规语言,因为它允许嵌套循环,其中'['表示循环的开始,']表示结束。由于这些都必须匹配,因此brainfuck并不经常。 – Palle 2017-08-11 09:32:26
作为一个实际问题,他们都没有。 – 2011-06-02 06:23:26