fre*_*low 8 c++ compiler-construction preprocessor terminology
根据各种消息来源(例如,与Kevlin Henney的SE电台节目,如果我没记错的话),"C with classes"是用预处理器技术实现的(输出然后被输入到C编译器),而C++一直是用编译器实现(刚好在早期就吐出了C).这似乎引起了一些混乱,所以我想知道:
预处理器和编译器之间的边界究竟在哪里?你什么时候调用一个实现语言"预处理器"的软件,什么时候称它为"编译器"?
那么,"编译语言"是一个既定术语?如果是这样,究竟是什么意思?
这是个有趣的问题.我不知道一个明确的答案,但如果按下一个,我会说这个:
预处理器不解析代码,而是扫描嵌入的模式并扩展它们
编译器实际上通过构建AST(抽象语法树)来解析代码,然后将其转换为不同的语言
| 归档时间: |
|
| 查看次数: |
528 次 |
| 最近记录: |