编译原理手记05-文法和语法分析中一些概念的解释

来源:互联网 发布:手机刷银行卡软件 编辑:程序博客网 时间:2024/06/04 23:36

文法是比语法更高层的一个概念,文法并不是仅仅适用于描述编程语言,它同样可以用来描述自然语言或其他一些语言形式。

文法分为0型、1型、2型、3型,编程语言属于其中的2型文法,2型文法也叫做"上下文无关的文法"。


关于语法分析,有一些名词的意思一定要弄懂他们。

终结符:就是之前提到过的编程语言中的五类元素(即关键字、标识符、常量、操作符、界符)中的某个串(token)。

非终结符:是一组串的集合,和终结符区别开来,终结符是一个串(这个串的概念类似token),而非终结符是一组串的集合

开始符:开始进行语法推导的起点,是一个非终结符。

产生式:由某个开始符推导出的结果,这个结果是一串终结符或一串非终结符或一串终结符与非终结符的组合。


语法分析的过程就是:

通过开始符进行推导,然后对生成的产生式中的非终结符继续进行这个推导,直到生成的产生式全由终结符组成时终止。



推导可以分为两种:

最左推导:每次对开始符或产生式中最左边的非终结符进行替换

最有推导:每次对开始符或产生式中最右边的非终结符进行替换


0 0
原创粉丝点击