c++ - 如何让我自己的 C++ 编译器理解模板、嵌套类等 C++ 的强大功能?

标签 c++ templates compiler-development

我小组的一项大学任务是编写类 C 语言的编译器。当然,我将实现我们钟爱的 C++ 的一小部分。
确切的任务绝对是愚蠢的,讲师告诉我们它需要是自编译的(应该能够自己编译)——所以,他的意思是不要使用 Boost 和 STL 等库。
他也不希望我们使用模板,因为它很难实现。
问题是 - 这对我来说是真的吗,因为我要自己写这个项目,截止日期是 5 月底 - 6 月中旬(今年),不仅要实现模板,还要实现嵌套语法分析级别的类、命名空间、虚函数表?
PS 我不是 C++ 新手

最佳答案

坚持做一个C编译器。

相信我,构建一个像样的 C 编译器已经够难的了,尤其是如果它希望自己编译的话。试图支持所有 C++ 特性,如嵌套类和模板,会让你发疯。也许一个团队可以做到,但就您自己而言,我认为 C 编译器就足够了。

如果你对此死心塌地,至少先实现一个类 C 语言(这样你就有东西要交了)。 然后专注于炫耀。

关于c++ - 如何让我自己的 C++ 编译器理解模板、嵌套类等 C++ 的强大功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/618859/

相关文章:

c++ - 装饰器模式 - 我如何在初始化时不调用复制构造函数?

c++ - 返回类型中不需要模板参数

c++ - 来自模板类的友元函数

C 语法生成无效表达式

c++ - 通过命令行控制 shell 程序,给它多个指令/数据

c++ - 为什么要设置 vector 的大小

c++ - 无法在 x86 上以 SSE 类型访问内存,但在 x64 上工作正常

c++ - 模板参数和它自己的模板参数都包含同名类型;如何在函数签名中引用第二个?

compiler-construction - LLVM中的部分应用

language-agnostic - 识别不同语言并将它们发送到相应编译器的编译器。可能的?