对高级语言源程序进行编译时,可发现源程序中的(  )错误。A.堆栈溢出 B.变

免费题库2022-08-02  53

问题 对高级语言源程序进行编译时,可发现源程序中的(  )错误。A.堆栈溢出B.变量未定义C.指针异常D.数组元素下标越界

选项 A.堆栈溢出
B.变量未定义
C.指针异常
D.数组元素下标越界

答案 B

解析 高级语言源程序进行编译经过六个过程:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成①词法分析:从左到右读字符流的源程序、识别单词②语法分析:在词法分析的基础上,根据语言的语法规则,把单词符号串分解成各类单位,如“短语”、“句子”、“程序段”和“程序”。通过语法分解,确定整个输入串是否构成一个语法上正确的程序。③语义分析:检查源程序是否包含语义错误,并搜集类型,供后面的代码生成阶段使用,只有语法和语义正确的源程序才可被翻译成目标代码。语义分析程序需要进行频繁的造表和查表工作。语义分析的一个重要内容是类型检查,对表达式及语句中的各语法成分作类型检查和分析④中间代码生成:生成一种介于源语言和目标语言之间的中间语言代码⑤代码优化:对前阶段产生的中间代码进行加工变换,以期在最后阶段能产生出更为高效(省时间和省空间)的目标代码⑥目标代码生成:将前阶段产生的中间代码翻译为机器语言或汇编语言形式的目标程序
转载请注明原文地址:https://tihaiku.com/congyezige/2420955.html

最新回复(0)