所以我设计了一种编程语言并且足够远以至于我编写了示例代码并开始编写BNF。我想知道在编写剩下的BNF之前,是否有我想要做的事情清单?我该怎么办?我担心实现会花费很长时间(它的复杂程度可能比C ++更复杂)。我应该做的事情或我应该考虑的事情是什么?
答案 0 :(得分:2)
对目前为止所做的工作进行同行评审。语言设计很难 - 很可能一对额外的眼睛(或几个)会帮助找到一些你可以改进它的领域之前你在实施过程中走得太远侧。 (特别是,如果它比C ++更复杂,你确定这是必要的吗?)
答案 1 :(得分:1)
如果它比C ++更复杂,可能需要重新设计。 C ++的复杂性来自于提供C兼容性的需要,因此移植功能不仅仅是精彩的C声明语法。如果您不需要支持现有语言,很难看出这种复杂性是如何合理的。
我自己设计并实现了几种语言,我建议使用一种非常规的方法:
借鉴经验教训,设计一个更大的子集并重复。