中间代码生成.pptVIP

  • 142
  • 0
  • 约1.31万字
  • 约 80页
  • 2017-02-16 发布于湖北
  • 举报
数据库原理与Oracle——SQL语言 中间代码生成 授课:胡静 中间代码生成的位置和作用 所处位置 中间语言 源语言的中间表示方法 抽象语法树 后缀式 三地址代码(包括三元式、四元式、间接三元式) DAG图表示 后缀式 后缀式表示又称逆波兰表示法。 这种表示法是:把运算量(操作数)写在前面,把算符写在后面(后缀)。 一个表达式的后缀形式可以如下定义: 如果E是一个变量或常量,则E的后缀式是E自身 如果E是E1opE2形式的表达式,这里op是任何二元操作符,则E的后缀式为E1’E2’op。这里E1’和E2’分别是E1和E2的后缀式。 如果E是(E1)形式的表达式,则E1的后缀式就是E的后缀式 这种表示法用不着使用括号。 只要知道每个算符的目数,对于后缀式,无论从那一端进行扫描,都能对它正确的进行唯一分解 后缀式 表达式翻译为后缀式的语义规则描述: 其中E.code表示E的后缀式,op表示任何二元操作符,“||”表示后缀形式的连接 图表示法 图表示法主要包括DAG( Directed Acyclic Graph )与抽象语法树 语法树描述了源程序的自然层次结构。DAG以更紧凑的形式给出了相同的信息。两者不同的是: 在一个DAG中代表公共子表达式的结点具有多个父结点 在一颗抽象语法树中公共子表达式被表示为重复的子树。 抽象语法树 语法树中的边不会显式的出现在后缀表达式中,可

文档评论(0)

1亿VIP精品文档

相关文档