词法分析
语法分析
上下文无关文法的含义
四类文法
0型:无限制文法
=> 产生式的左部至少包含一个非终结符;
1型:上下文相关文法
=> 产生式左边的符号数少于等于右边的符号数;
2型:上下文无关文法
=>
3型:正则文法
=>
上下文无关的含义
若一个形式文法G = (N, Σ, P, S) 的产生式规则都取如下的形式:V->w,则谓之。其中 V∈N ,w∈(N∪Σ)* 。上下文无关文法取名为“上下文无关”的原因就是因为字符 V 总可以被字串 w 自由替换,而无需考虑字符 V 出现的上下文
。
语义分析
语法制导翻译的概念
语法制导翻译是语义分析的一种技术
。
翻译很好理解,就是完成各种语义动作(属性计算,中间代码生成,登录符号表);
为什么是语法制导呢 => 以S属性定义为例:在语法分析时,采用自底向上分析,例如LR分析,首先给出S-属性定义,然后,把S-属性定义变成可执行的代码段,从而构成翻译程序。随着语法分析的进行,归约前调用相应的语义子程序,完成相应的翻译任务。在这种分析模式中,语法分析是主动的,语义分析是从动的,语法分析制导着语义分析
。