高级项目实施的语言好吗?

Aus*_*ley 2 compiler-construction language-design

它是我上一学期的大学,我必须在12月做一个大的演讲.我计划设计一种不仅可以工作的小语言,而且还有一些漂亮的功能.有没有人有任何有趣的语法想法或功能会给我的教授留下深刻的印象?

注意:我不想只复制一种语言并重新实现它.我希望做一些研究,并尝试一些新的想法.

Ira*_*ter 5

我有一个疯狂的想法.

有编译器可以编译编译器.这本身就很有趣.您可以在MetaII样式中实现一个(阅读其他SO答案: 有没有"有趣"的方法来学习语言,语法,解析和编译器?)

这对于学生项目来说是可行的是,MetaII编译器非常小,而技术论文(阅读其他答案)除了你提供的一些汗水之外,还有10页需要的所有内容.这在你可用的时间范围内非常适合(坦率地说,作为学生只是坐下来自己敲打编译器).

MetaII自己对自身的描述非常简洁:只有大约50行(!).

因为它可以自己编译,所以它可以编译自身的增强版本......所以你可以用它来引导更复杂的编译器.通常,这是大多数人想要采用它的方向,因为MetaII本身就相当简单.

这是一个疯狂的想法:您也可以使用它来编译功能较弱的版本.问题是,你可以拿走多少,并且仍能爬回到metacompiler阶梯?你可以构建一个多小的编译器仍然可引导?

我知道有一个事实,MetaII有2个项目是可移动的,因为我已经在很久以前完成了这个.我不会告诉你他们是什么因为破坏了发现过程.但是它在学生项目中很好地承担了一些已经知道可行的东西,所以你不要去找那些真正死路一条的小巷.

很久以前我认识的其中一个人非常认真地试图这样做.他的目标是将其缩减为一小段字符......将其视为"编译器DNA".