zoukankan      html  css  js  c++  java
  • 1.4-1.5

    1.4

    1)记号(token)

      一个符号,一个字符或字符串或一个及多个数字都可以成为一个token。扫描程序把源代码读入并以token的形式记录下来,以便后面的程序进行工作

    2)语法树(syntax tree)

      是一个以指针链接起来的树结构,每个节点都是一个记录类型,该记录类型存储语法分析程序及语义分析程序生成的信息。

    3)符号表(symbol table)

      与标识符及类型有关。诸如函数,变量,常量或数据类型。因为从扫描程序到优化程序都需要对它作出修改,因此需要很快的插入、删除、访问速度,杂凑表是唯一满足要求的数据结构。

    4)常数表(literal table)

      存储常数,与符号表类似,它需要很快的访问和插入速度,但不需要删除,因为每个程序所产生的常数在该表中仅出现一次,不必修改。

    5)中间代码(intemediate code)

      根据中间代码的类型和优化的类型,它的数据结构选择有很多,诸如文本串的数组、临时文本文件或是结构的连接列表。对于复杂的优化程序,应该选择允许简单重组的结构。

    6)临时文件(temporary file)

      用于编译器存储源代码及中间生成的信息等。也用于代码反填:比如if...else...语句中,在未获知else的位置之前就要跳到else的位置去,需要临时文件(不懂)。

  • 相关阅读:
    Java面试题
    删除两个相同的数据
    Oracle中的rowid rownum
    SQL的七种连接
    Oracle的分页和MySQL的分页
    Script to Collect Log File Sync Diagnostic Information (lfsdiag.sql) (文档 ID 1064487.1)
    Analytic Functions in Oracle
    Oracle X$Tables
    Microsoft SQL Server Trace Flags
    Oracle Log Block Size
  • 原文地址:https://www.cnblogs.com/kangyun/p/4331557.html
Copyright © 2011-2022 走看看