Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Programming languages 哪些编程语言有规则的语法?_Programming Languages_Compiler Theory_Regular Language - Fatal编程技术网

Programming languages 哪些编程语言有规则的语法?

Programming languages 哪些编程语言有规则的语法?,programming-languages,compiler-theory,regular-language,Programming Languages,Compiler Theory,Regular Language,我很好奇哪种(如果有的话)真实世界的编程语言有规则的语法(即所有语法正确的程序集都是规则的) 另请参见这个问题:.和类似词当然是有规律的 另一方面,任何支持(parens)的语言都不是规则的,因为自动机识别它需要一个堆栈。如果没有(){}[]支持,我真的不知道有多少种语言除了汇编之外还能做什么 只有现实世界中出现的例子,而且可能是经常出现的是。作为一个实际问题,它们都没有。仅供参考,您对(帕伦斯)的评论是不正确的。古老的Fortran有帕伦。。但是有3个深度的限制。正则语言在现代计算中的相关性是

我很好奇哪种(如果有的话)真实世界的编程语言有规则的语法(即所有语法正确的程序集都是规则的)

另请参见这个问题:.

和类似词当然是有规律的

另一方面,任何支持(parens)的语言都不是规则的,因为自动机识别它需要一个堆栈。如果没有(){}[]支持,我真的不知道有多少种语言除了汇编之外还能做什么


只有现实世界中出现的例子,而且可能是经常出现的是。

作为一个实际问题,它们都没有。仅供参考,您对(帕伦斯)的评论是不正确的。古老的Fortran有帕伦。。但是有3个深度的限制。正则语言在现代计算中的相关性是什么?直觉上,我会想象,要在电路上实现某种东西,它需要一种规则的语言,机器代码语法似乎是规则的。在软件中有没有任何时候正规语言是有用的?我似乎很少使用严格的正则语言——PCRE的名称中有“正则表达式”,但如果我理解正确,它甚至不是严格的正则语言。Brainfuck不是一种正则语言,因为它允许嵌套循环,其中
[
标记循环的开始,
]
标记循环的结束。由于这些必须匹配,brainfuck不是常规的。@Pall根据实现,brainfuck可以是常规的,也可以不是。您可以将它们解析为
while{}
语句或push
[
和pop+jmp/ret
]
指令。从技术上讲,括号计数不需要匹配。@KeksArmee您将翻译与实际解析混为一谈。当然,您可以使用简单的替换操作将brainfuck翻译成C,但要真正解析正确的brainfuck,您需要一个至少可以处理上下文无关语法的解析器。您不能使用常规语法来表达所有语法正确的brainfuck程序集。