编译原理中,括号和注释会不会被编译成机器码?

如题所述

诸如括号、注释等非可执行语句并不会转化为机器指令,所以是错的。

所谓的可执行语句是:可以通过编译产生对应的汇编代码和机器码的语句。像赋值、逻辑运算、算术运算、分支、循环等,都可以转化成相应的汇编代码,都是可执行语句。比如:括号、预处理语句(行首是#的如#include)、注释等等不会转化成指令代码。

例如:程序编译时,不对注释内容作任何处理。注释一般可出现在程序中的任何位置。注释用来向用户或程序员提示或解释程序的功能作用。

扩展资料:

编译对非可执行语句的相关处理:

预处理器(preprocessor )可以删除注释、包含其他文件以及执行宏(宏macro是一段重复文字的简短描写)替代。预处理器可由语言(如 C )要求或以后作为提供额外功能(诸如为FORTRAN提供Ratfor预处理器)的附加软件。

一个C赋值语句的抽象语法树的例子:请注意,在语法树中,许多节点(包括记号节点在内)已经消失。例如,如果知道表达式是一个下标运算,则不再需要用括号“[”和“]”来表示该操作是在原始输入中。

参考资料来源:百度百科-执行语句

参考资料来源:百度百科-注释

参考资料来源:百度百科-编译原理

温馨提示:答案为网友推荐,仅供参考
相似回答