编译原理例题与习题解答.pptVIP

  • 25
  • 0
  • 约1.49万字
  • 约 85页
  • 2019-06-15 发布于四川
  • 举报
例题与习题解答 第二章 回顾 程序语言的定义 一个程序语言是一个记号系统,它主要由以下方面定义: 语法 语义 语法={词法规则+语法规则} 词法规则:单词符号的形成规则。 单词符号是语言中具有独立意义的最基本结构。一般包括:常数、标识符、基本字、算符、界符等。 描述工具:正规式和有限自动机理论 语法规则:语法单位的形成规则。 语法单位通常包括:表达式、语句、子程序、过程、函数、程序等; 描述工具:上下文无关文法 标识符与名字 标识符:以字母开头的,由字母数字组成的字符串。 标识符与名字两者有本质区别: 标识符是语法概念 名字有确切的意义和属性 上下文无关文法的定义:一个上下文无关文法G是一个四元式G=(VT,VN,S,P),其中 VT:终结符集合(非空) VN:非终结符集合(非空),且VT ? VN=? S:文法的开始符号,S?VN P:产生式集合(有限),每个产生式形式为 P??, P?VN, ? ? (VT ? VN)* 开始符S至少必须在某个产生式的左部出现一次。 文法产生语言 假定G是一个文法,S是它的开始符号。如果S ? ?,则称?是一个句型。仅含终结符号的句型是一个句子。 文法G所产生的句子的全体是一个语言,将它记为L(G) L(G) ={ ? | S ? ? ? ∈VT*} 文法和语言的二义性 定义:如果一个文法存在某个句子对应两颗不同的语法树,则说

文档评论(0)

1亿VIP精品文档

相关文档