我正在尝试定义BNF的BNF。换句话说,我正在尝试定义BNF的元语法。也就是说,一个BNF语法是它自己的实例,并且可以生成任何其他的BNF语法。
如果有任何提示/提示/片段,将不胜感激!
谢谢!
我正在尝试定义BNF的BNF。换句话说,我正在尝试定义BNF的元语法。也就是说,一个BNF语法是它自己的实例,并且可以生成任何其他的BNF语法。
如果有任何提示/提示/片段,将不胜感激!
谢谢!
bnf = rules ;
rules = rule ;
rules = rules rule ;
rule = lefthandside EQUAL righthandside SEMICOLON ;
lefthandside = IDENTIFIER ;
righthandside = ;
righthandside = righthandside token ;
token = IDENTIFIER ;
token = QUOTEDLITERAL ;
EQUAL = '=' ;
SEMICOLON = ';' ;
IDENTIFIER = letter ;
IDENTIFIER = IDENTIFIER letterordigit ;
letterordigit = letter ;
letterordigit = digit ;
letter = 'A' ;
...
letter = 'Z' ;
digit = '0' ;
...
digit = '9' ;
<line> ::= '<' <word> '>' '::=' <definition>
<definition> ::= <word> '|' | '' <definition> | ''
编程语言的自我定义
通过使用元循环解释器,可以给出一种操作性的编程语言自我定义的示例。
Tymoczko, Thomas. “Gödel and the Concept of Meaning in Mathematics.” Synthese, vol. 114, no. 1, 1998, pp. 25–40
王浩(1980)报告说库尔特·哥德尔曾经说过,所有逻辑都可以从概念的概念(CoC)开始进行定义。CoC是自我定义的。CoC是由它本身定义的对象。
从哥德尔到哲学——逻辑之旅 郝旺带我们进入了哥德尔的思想世界。哥德尔将一个概念的概念描述为逻辑的基础。(第8章,第247页) “从1953年到1959年初,他花费了大量的精力在卡纳普的论文上,试图证明数学不是语言的句法,并支持某种形式的柏拉图主义。”
编程语言的语法(编程语言系列)1977年1月1日 第33页包含BNF的BNF。