4.5 上下文无关文法的句型分析 对于上下文无关文法,语法树是句型推导过程的几何表示。从上节所给的例子看出,语法树确实将所给句型的结构很直观地显示出来了。语法树是句型结构分析的极好工具。而我们这里所说的句型分析问题,是说如何知道所给定的符号串是文法的句型。句型的分析就是识别一个符号串是否为某文法的句型,是某个推导的构造过程。进一步说,当给定一个符号串时,试图按照文法的规则为该符号串构造推导或语法树,以此识别出它是文法的一个句型;当符号串全部由终结符号组成时,就是识别它是不是文法的句子。因此也有人把语法树称为语法分析树或分析树。对于程序设计语言来说,我们要识别的是程序设计语言的程序,程序是定义程序设计语言的文法的句子。句型分析是识别一个输入符号串是否为语法上正确的程序的过程。在语言的编译实现中,把完成句型分析的程序称为分析程序或识别程序,分析算法又称识别算法。 |