我很好奇哪些(如果有的話)現實世界的編程語言有一個正規的語法(即所有的語法正確的程序是常規的)。哪些編程語言有正則語法?
另請參閱這個問題: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