语言基础知识
对C源程序进行编译时,需建立符号表,其作用是记录源程序中各个符号(变量等)的必要信息,以辅助语义的正确性检查和代码生成,在编译过程中需要对符号表进行快速有效地查找、插入、修改和删除等操作。符号表的建立可以始于词法分析阶段,也可以放到语法分析和语义分析阶段,但符号表的使用有时会延续到目标代码的运行阶段。
对于编译型语言,处理过程为:预处理-编译-链接,没有汇编过程
上下文无关文法:形式语言理论中一种重要的变换文法,用来描述上下文无关语言,在乔姆斯基分层中称为2型文法。由于程序设计语言的语法基本上都是上下文无关文法,因此应用十分广泛。

词法分析阶段处理的错误:非法字符、单词拼写错误等。
语法分析阶段处理的错误:标点符号错误、表达式中缺少操作数、括号不匹配等有关语言结构.上的错误。
静态语义分析阶段(即语义分析阶段)处理的错误:运算符与运算对象类型不合法等错误。本题选择语义错误。
目标代码生成(执行阶段)处理的错误:动态语义错误,包括陷入死循环、壘取零时做除数、引用数组元素下标越界等错误等。

浙公网安备 33010602011771号