目标代码生成的功能是( )
A: 根据词法规则,进行合法性检查,如果不合法,就调用出错处理程序;如果合法,就把正确的单词识别出来。
B: 根据语法规则,进行合法性检查,如果不合法,就调用出错处理程序;如果合法,就将各个单词组合成各类语法结构,并构造出一个语法树。
C: 根据语义规则,进行合法性检查,如何不合法,就调用出错处理程序;如果合法,就进行初步的翻译,生成中间代码。
D: 对中间代码进行等价变换,使得代码的执行效率更高。
E: 将中间代码翻译成目标代码。
A: 根据词法规则,进行合法性检查,如果不合法,就调用出错处理程序;如果合法,就把正确的单词识别出来。
B: 根据语法规则,进行合法性检查,如果不合法,就调用出错处理程序;如果合法,就将各个单词组合成各类语法结构,并构造出一个语法树。
C: 根据语义规则,进行合法性检查,如何不合法,就调用出错处理程序;如果合法,就进行初步的翻译,生成中间代码。
D: 对中间代码进行等价变换,使得代码的执行效率更高。
E: 将中间代码翻译成目标代码。
举一反三
- 解释下面的程序段:std::cout <<"The sum of"<< v1; <<"and"<<v2; <<is"<<V1+v2 <<std::end1;这段代码合法吗?如果合法,为什么?如果不合法,又为什么?
- 单选题下列关于这行代码说法正确的是()。(选择一项) A: 如果xx是⼀个接⼝,one、two是类,则代码合法 B: 如果xx、one、two三个都是接⼝,则代码合法 C: 如果xx是类,one和two是接⼝,则代码合法 D: 如果xx、one、two三个都是类,则代码合法
- 给出以下代码,请问以下哪个描述是正确的?PublicXXXXextendssomething1,something2() A: 如果XXXX是一个接口,something1和something2取消掉,则代码段合法 B: 如果XXXX是一个类,something1和something2均是接口,则代码段合法 C: 如果XXX D: something1和something2均是接口,则代码段合法 E: 因为Java语言不支持多继承机制,所以代码段不合法
- 给出以下代码,请问以下哪个描述是正确的?PublicXXXXextendssomething1,something2() A: 如果XXXX是一个接口,something1和something2取消掉,则代码段合法 B: 如果XXXX是一个类,something1和something2均是接口,则代码段合法 C: 如果XXXX、something1和something2均是接口,则代码段合法 D: 因为Java语言不支持多继承机制,所以代码段不合法
- ()是在词法分析的基础上将单词序列分解成各类语法短语。 A: 语法分析 B: 语义分析 C: 中间代码生成 D: 代码优化 E: 目标代码生成