第二章
? 词法记号:是由记号名和属性值构成的二元组,属性值有时不必要。记号名是代表一类
词法单元的抽象名字。 ? 模式:记号的模式描述属于该记号的词法单元的形式。在一个关键字作为一个记号的情
况下,它的模式就是构成该关键字的字符序列。
? 词法单元:又称单词,是源程序中匹配一个记号模式的字符序列,它由词法分析器标识
该记号的实例。
? 正规表达式是按照一组定义规则,由简单的正规式构成的,每个正规式r表示一个语言
L(r)。这些定义规则说明L(r)是怎样从r的正规式所表示的语言中构造出来的 第三章
? 一个上下文无关文法(Context-Free Grammar) G是一个四元组(VT,VN,S,P), 其中
VT是一个非空有限集,它的每个元素称为终结符号;
VN是一个非空有限集,它的每个元素称为非终结符号,VT∩VN=φ; S是一个非终结符号,称为开始符号; ρ是一个产生式集合(有限),每个产生式的形式是P→α,其中,P∈VN, α∈(VT∪VN)* 。开始符号S至少必须在某个产生式的左部出现一次。
? 文法的优点
接收词法分析器提供的记号串
检查记号串是否能由源程序语言的文法产生
用易于理解的方式提示语法错误信息,并能从常见的错误中恢复过来
? LR分析方法的特点
栈中的文法符号总是形成一个活前缀
分析表的转移函数本质上是识别活前缀的DFA 栈顶的状态符号包含了确定句柄所需要的一切信息 是已知的最一般的无回溯的移进--归约方法
能分析的文法类是预测分析法能分析的文法类的真超集 第四章
? 语法制导的定义是对上下文无关文法的推广,其中每个文法符号都有一个相关的属性
集。
属性分为综合属性(synthesized attribute)和继承属性(inherited attribute)
? L-属性定义:一个语法制导定义,如果对于每个产生式A?X1X2...Xn,其每个语义规
则中的每个属性或者是综合属性,或者是Xj(1?j?n)的一个继承属性且这个继承属性仅依赖于:
(1) 产生式Xj的左边符号X1,X2,...Xj-1的属性 (2) A的继承属性
? 翻译方案:和文法符号相关的属性和语义规则,用花括号{}括起来,插入到产生式的合
适位置上。