折叠 编辑本段 简介
折叠 编辑本段 语法分析方法
目前,已存在许多语法分析的方法。但就产生语法树的方向而言,可大致把他们分为自底向上和自顶向下两大类。目前比较流行LL分析法和LR分析法。
折叠 自上而下
给定文法G和源程序串r。从G的开始符号S出发,通过反复使用产生式对句型中的非终结符进行替换(推导),逐步推导出r 。
是一种产生的方法,面向目标的方法。
分析的主旨是选择产生式的合适的侯选式进行推导,逐步使推导结果与r匹配.
折叠 自下而上
从给定的输入串r开始,不断寻找子串与文法G中某个产生式P的候选式进行匹配,并用P的左部代替(归约)之,逐步归约到开始符号S。
是一种辨认的方法,基于目标的方法。
分析的主旨是寻找合适的子串与P的侯选式进行匹配,直到归约到G的S为止 。
折叠 编辑本段 功能
按照源语言的语法规则,从词法分析的结果中识别出相应的语法范畴,同时进行语法检查。
给定文法G和字符串( ∈VT*),检查、判定 ∈L(G)?即检查、判定是否是文法G所能产生的合法的句子,同时报告和处理语法错误。
折叠 编辑本段 构造元素
源程序串 (L1形式)
源语言的文法G
识别出的语法范畴的表示