语法制导翻译和中间代码的生成.pptxVIP

  • 1
  • 0
  • 约6.67千字
  • 约 50页
  • 2023-03-15 发布于四川
  • 举报
编译程序的任务: 是把源程序翻译成目标程序,这个 目标程序必须和源程序的语义等同 ,也就是说,尽管它们的语法结构 完全不同,但它们所表达的结果应 完全相同。;通常,在词法分析程序和语法分析程序对 源程序的语法结构进行分析之后,要么由 语法分析程序直接调用相应的语义子程序 进行语义处理,要么首先生成语法树或该 结构的某种表示,再进行语义处理。 ;语义处理的两个功能: 第一,审查每个语法结构的静态语义, 即验证语法结构合法的程序是否真正有意义 。有时把这个工作称为静态语义分析或静态 审查。 第二,如果静态语义正确,语义处理则 要执行真正的翻译,即,要么生成程序的一 种中间表示形式(中间代码),要么生成实 际的目标代码。 ; 1.属性文法 2.语法制导翻译 3.中间代码的形式 4.简单的赋值语句的翻译 5.布尔表达式的翻译(*) ;属性文法 : 一个属性文法是一个三元组A=(G,V,F), (1) 一个上下文无关文法G; (2)一个属性的有穷集V; (3)关于属性的断言或谓词的有穷集F。 每个属性与文法的某个非终结符或终结符 相联。每个断言与文法的某产生式相联。 ;如果对G中的某一输入串而言,句子A中的所 有断言对该输入串的语法树结点的属性全 为真,则该串A是语言中的句子,编译程序 的静态语义审查工

文档评论(0)

1亿VIP精品文档

相关文档