编译原理—文法和语言.pptVIP

  • 3
  • 0
  • 约2.32万字
  • 约 207页
  • 2023-08-14 发布于江苏
  • 举报
第3章:文法和语言的概念和表示;3.0 概述;语言概述;语法 —— 表示构成语言句子的各个记号之间的组合规律。 语义 —— 表示各个记号的特定含义。(各个记号和记号所表示的对象之间的关系) 语用 ——表示在各个记号所出现的行为中,它们的来源、使用和影响。; 任何语言均可看作一个集合。这个集合中的每个元素都是在一定符号集 (字母表)上的一个符号串。 对于自然语言来说,它们是定义在某个字母表上的句子的集合。 对于程序语言来说,它们也是定义在某个字母表上的句子的集合。这里 的句子,就是一个源程序。 通常,源程序是由关键字、标识符、常数、运算符以及一些界限符组成。 这些语法成分统称为单词或单词符号。 单词符号是语言中具有独立意义的最基本单位。语言的单词符号是由词法 规则所确定的,即词法规则规定了单词符号的形成规则。 ;“我是大学生”。是汉语的一个句子 用语法来描述:; 有了一组规则以后,按照如下方式用它们导出句子:开始去找∷=左端的带有〈句子〉的规则并把它由∷=右端的符号串代替,这个动作表示成: 〈句子〉 ? 〈主语〉〈谓语〉,然后在得到的串〈主语〉〈谓语〉中,选取〈主语〉或〈谓语〉,再用相应规则的∷=右端代替之。比如,选取了〈主语〉,并采用规则〈主语〉∷=〈代词〉, 那么得到:〈主语〉〈谓语〉 ? 〈代词〉〈谓语〉, 重复做下去, 句子:“我是大学生”的全部动作过程是: 〈句子〉 ? 〈主语〉〈谓语〉? 〈代词〉〈谓语〉  ?我〈谓语〉 ?我〈动词〉〈直接宾语〉  ? 我是〈直接宾语〉 ?我是〈名词〉 ?我是大学生 ;3.1 形式语言基础;二、符号串和符号串集合的运算;例:A={a,b},B={c,d}, AB= ? ; 9. 方幂运算: 符号串集合的方幂 符号串的方幂 有任一符号串集合A,定义 : 有任一符号串X,定义: A0 ={ε}, X0 = ε A1=A, X1 = X A2=AA, X2=XX A3=AAA, X3=XXX … … An=An-1A=AAn-1 Xn=XX … X =A A … A n个 n个 其中:n≥0;10.符号串集合的闭包运算:设A是符号串集合,定义 A+ = A1 ∪ A2 ∪ A3 ∪……∪ An ∪…… 称为集合A的正则闭包。 A* = A0 ∪ A1 ∪ A2 ∪ A3 ∪……∪ An ∪…… = A0 ∪ A+ 称为集合A的星闭包。; 为什么对符号、符号串、符号串集合以及它们的运算感兴趣? 若A为某语言的基本字符集 A={a,b,……z,0,1,……,9, +,-,×,_/, ( , ), =……} B为单词集 B ={begin, end, if, then,else,for,……,标识符,常量,……} 则B ? A* 。 语言的句子是定义在B上的符号串。 若令C为句子集合,则C ? B * , 程序? C;3.2文法的直观理解; 2.语法规则: 我们通过建立一组规则(产生式),来描述句子 的语法结构。规定用“::=”表示“由……组成”。;由产生式推导句子: ;句子 ? 主语谓语;例:有一英语句子:The big elephant ate the peanut. 句子::=主语谓语 主语::=冠词形容词名词 冠词 ::=the 形容词::=big 名词::=elephant 谓语::=动词宾语 动词::=ate 宾语::=冠词名词 名词 ::=peanut;句子 = 主语谓语;上述推导可写成句子 = the big elephant ate the

文档评论(0)

1亿VIP精品文档

相关文档