摘 要:在计算机编程领域中,语法分析是编译程序的核心部分,它有着极其重要的地位,语法分析的作用是在词法分析识别单词符号串的基础上,分析并判断程序的语法结构是否符合语法规则。目前语法分析包含为自顶向下的分析方法和自底向上的分析方法两大类。明确文法分析的方法时,选用实用的方法对文法进行分析。本文主要采用自顶向下的分析方法,对LL(1)文法做出适当的分析与研究,LL(1)文法的功能是利用LL(1)控制程序和相关文法生成LL(1)分析表,对输入符号串进行自上而下的分析过程。
关键词:LL(1)分析法;自顶向下
1 原理概述
LL(1)文法使用的是确定的自顶向下的分析技术。其中LL(1)的代表的含义是:第一个L表明自顶向下分析是从左向右扫描输入串,第二个L表明分析过程中将使用的是最左推导,1表明的是只需要向右看一个符号便可以决定如何推导,也就是说选择哪一个规则进行推导。
在对LL(1)文法的判别中,要铭记步骤即首先计算FIRST集,然后计算FOLLOW集和SELLECT集,最后判断是否为LL(1)文法,在此基础上再进行句子的分析。
2 文法规则说明
2.1 词法规则
在本文中,讨论的字符可以规定为终结符或非终结符,但“#”作为空串处理不可以作为终结符或非终结符去处理。
2.2 文法规则
(1)在产生式中,右边的字符不全是由终结符组成。
(2)如果在两个产生式中相同的左边字符,它们的右边一定是由不同的终结符或非终结符开始的。
3 算法设计
3.1 表驱动的LL(1)分析器
LL(1)分析法的……