当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何让我自己的C++编译器理解模板,嵌套类等C++的强大功能?》经验,为你挑选了5个好方法。

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



1> rjh..:

坚持做一个C编译器.

相信我,构建一个体面的C编译器很困难的,特别是如果它希望编译自己.试图支持嵌套类和模板等所有C++功能会让你疯狂.也许一个小组可以做到这一点,但我自己认为C编译器绰绰有余.

如果你已经死定了,至少要先实现一个类C语言(所以你有东西可以提交).然后专注于炫耀.



2> duffymo..:

"确切的任务绝对是愚蠢的" - 我认为你不能公平地做出这样的判断.最好放弃这种观点.

"我将自己写这个项目" - 你说这是一个小组项目.你是说你的小组不想同意你应该变成C++的观点,所以你要自己起飞和工作?还有一点我建议改变.

你对C++的了解程度并不重要.你对语法,解析器,词法分析器,AST和代码生成的能力似乎更加密切相关.

如果你不了解更多关于你或任务的内容,我会说你在5月底完成原始任务时表现得很好.那是三个月之后.坚持任务.它的难度可能会给你带来惊喜.

如果您提前完成并履行对团队的义务,我会说您可以随意修改为添加C++功能而生成的内容.

我敢打赌Bjarne Stroustrup花了三个多月时间才把对象添加到C.不要高估自己或低估原来的任务.


部分教育经验是在一个小组中工作.在现实生活中你需要做的事情.当我有足够的机智倾听时,我发现其他人也有好主意.

3> j_random_hac..:

没问题.当你在它的时候,为什么不实现一个操作系统来运行它.



4> jalf..:

按照作业.为类C语言编写编译器!我要做的是选择C 的子集.删除浮点数据类型以及构建编译器时不需要的所有其他功能.

编写C编译器是很多工作.几个月后你将无法做到这一点.编写C++编译器是彻头彻尾的疯狂.你将无法在5年内做到这一点.



5> Nikhil..:

我想强调已经提到的几点,并提供一些参考.

1)坚持1989 ANSI C标准,没有优化.

2)不要担心,只要有适当的指导,良好的组织和相当多的努力,这是可行的.

3)阅读The C Programming Language封面.

4)从Dragon Book中了解编译器开发的重要概念.

5)看看lcc代码和书籍.

6)看看Lex和Yacc(或Flex和Bison)

7)编写一个C编译器(直到可以自编译的程度)是程序员之间的一种仪式.好好享受.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有