在他的FAQ , Bjarne Stroustrup 说:
To build [Cfront, the first C++ compiler], I first used C to write a "C with Classes"-to-C preprocessor. "C with Classes" was a C dialect that became the immediate ancestor to C++... I then wrote the first version of Cfront in "C with Classes".
当我读到这篇文章时,它激起了我对 C 预处理器的兴趣。我已经看到它的宏功能适合简化通用表达式,但没有想到它能够在我想象的将类引入 C 的水平上显着增加语法和语义。
所以现在我有一些问题:
是否还有其他示例可以说明这种从 C 引导语言的方法?
是否可以在任何地方找到 Stroustrup 原始作品的来源?
我在哪里可以了解更多关于使用此技术的细节?
该方法的长度/限制是什么?比如说,是否可以创建一组预处理器宏,让某人可以编写类似 Lisp/Scheme 的东西?
最佳答案
请注意,Stroustrup 不是说他使用 C 预处理器 (cpp) 来创建 C With Classes - 他没有。他使用 C 编写了自己的预处理器。而 Cfront 是一个真正的编译器,根本不是预处理器。 C 预处理器实际上非常不适合语言开发,因为它没有任何解析能力。
关于c++ - C 预处理器作为语言创建工具的长度/限制是什么?我在哪里可以了解更多关于这些的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2784742/