在以阶段划分的编译中,判断程序语句的形式是否正确属于( )阶段的工作。A.词法分析B.语法分析C.语义分析D.代码生成
在以阶段划分的编译中,判断程序语句的形式是否正确属于( )阶段的工作。
A.词法分析
B.语法分析
C.语义分析
D.代码生成
B.语法分析
C.语义分析
D.代码生成
参考解析
解析:词法分析阶段是编译过程的第一阶段,其任务是对源程序从前到后(从左到右)逐个字符扫描,从中识别出一个个“单词”符号。词法分析过程的依据是语言的词法规则,即描述“单词”结构的规则。语法分析阶段其任务是在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单位。通常语法分析是确定整个输入串是否构成一个语法上正确的程序。一般来说,通过编译的程序,不存在语法上的错误。语义分析阶段其任务主要检查源程序是否包含静态语义错误,并收集类型信息供后面的代码生成阶段使用。语义分析的一个主要工作是进行类型分析和检查。中间代码生成其任务是根据语义分析的输出生成中间代码。目标代码生成是编译器工作的最后一个阶段。其任务是把中间代码变换成特定机器上的绝对指令代码、可重定位的指令代码或汇编指令代码。本阶段与具体机器密切相关。
相关考题:
下面哪项关于GCC编译过程的说法是错误的:() A.编译阶段GCC要检查代码规范性、是否有语法错误等,确定代码的实际要做的工作B.汇编阶段是把编译阶段生成的.s文件转成目标文件C.预处理阶段,GCC编译器将代码中包含的头文件编译进来D.GCC在编译时默认使用静态库
●以下关于程序错误的叙述中,正确的是(50) 。(50)A.编译正确的程序必然不包含语法错误B.编译正确的程序必然不包含语义错误C.除数为0的错误可以在语义分析阶段检查出来D.除数为0的错误可以在语法分析阶段检查出来
以下关于程序错误的叙述中,正确的是( )。A.编译正确的程序不包含语义错误 B.编译正确的程序不包含语法错误 C.除数为0的情况可以在语义分析阶段检查出来 D.除数为0的情况可以在语法分析阶段检查出来
下面说法正确的是( ) 。A.解释程序将源程序翻译成目标语言程序,然后在计算机上运行目标程序。B.编译程序直接解释或翻译成中间代码。不生成独立的目标程序。C.语法分析器检查每条语句是否有正确的逻辑结构。D.语义分析阶段分析表达式、赋值、循环、表达式的除数是否为零等。
以下说法错误的是( )。A.使用中间代码可提高编译程序的可移植性,常见的有逆波兰记号、四元式、三元式和树。B.在词法分析阶段输入源程序,对构成源程序的字符串进行扫描和分解,识别出一个个的单词,删掉无用的信息,报告分析时的错误。C.在语义分析阶段,按语义规则分析检查每条语句是否有正确的语义结构。D.在语法分析阶段,按语法规则分析检查每条语句是否有正确的逻辑结构。
问答题编译程序的工作分为那几个阶段?