课件
Q&A
编译过程与人工翻译过程之间的关系
- 编译过程在一定意义上等价于人工翻译。如同外文翻译为中国话,首先要认识外文中每一个单词,就等于编译过程中的词法分析。其次判断每个单词的词性,进而组成短语,就相当于语法分析。在之后将短语链接起来,进行整句话意义的判断就等于是编译过程中的语义分析。人工翻译时翻译者在自己脑中理解的意义就相当于中间代码。在脑中将意义进行整理归纳为对应的完整的句子就是代码优化。最后进行翻译就等于是编译过程中的目标代码生成。
符号表中NAME字段为什么要设计字符串表这样一种数据结构,而不是把标识符对应的字符串直接存放到name字段中?
- 符号表中的NAME字段的长度是不固定的,如果要统一长度进行存储则会造成严重的空间浪费,而通过加入索引这种方式可以确定其长度,对于各类长度的内容能够有效地节约空间,方便进行管理。