【发布时间】:2010-10-30 00:20:14
【问题描述】:
所以我设计了一种编程语言,并且已经足够远,我编写了示例代码并开始编写 BNF。我想知道在编写 BNF 的其余部分之前我可能想做的事情清单吗?之后我该怎么办?恐怕实现将需要很长时间(它与 C++ 一样复杂,甚至可能更复杂)。我应该做什么或应该考虑什么?
【问题讨论】:
所以我设计了一种编程语言,并且已经足够远,我编写了示例代码并开始编写 BNF。我想知道在编写 BNF 的其余部分之前我可能想做的事情清单吗?之后我该怎么办?恐怕实现将需要很长时间(它与 C++ 一样复杂,甚至可能更复杂)。我应该做什么或应该考虑什么?
【问题讨论】:
如果它比 C++ 更复杂,它可能需要重新设计。很多 C++ 的复杂性来自于提供 C 兼容性的需要,因此在不太美妙的 C 声明语法中移植特性。如果您不需要支持现有语言,那么很难看出这种复杂性是如何合理的。
我自己设计并实现了几种语言,我建议采用一种独立的方法:
根据经验教训,设计一个更大的子集并重复。
【讨论】:
获得对您迄今为止所做工作的同行评审。语言设计是困难 - 多一双(或几只)眼睛可能会帮助你找到一些可以改进的地方在你在实施中走得太远边。 (特别是,如果它比 C++ 更复杂,你确定有必要吗?)
【讨论】: