https://www.zhihu.com/question/466502198/answer/1963578170
6-27 补:
问题改了,又加了个”实际完成度如何“。什么叫”完成度“?有什么标准吗?谁定的标准?
用树枝和绳索做个弓,能射出箭去,这个弓的完成度算多少?
6-26原答:
想起两年前看到的问题:小学四年级写编译器是什么水平?
强烈建议把重心放在编程语言设计上,不用为了某些喷“后端”的就把主要精力放在“摆脱依赖”、以及无底洞的性能优化上。
相比“编译器实现和优化”,对现有编程语言设计的改进、革新尤其是本地化是一块大有前景而且更少人探索的领域。作为尚未被“主流”编程语言将思维完全定势化的后来者,更可以大胆想大胆试。
用最小的代价实现语言设计,在语言使用中发现问题立刻改进,在语言设计达到满意和稳定之后,再改进语言实现(编译器)不迟。
相比手写分析器,可以考虑使用分析器生成工具减少工作量,加速迭代。如:用 rply-ulang 实现“求8的oct值”语法
另外,建议从一开始就将报错机制和报错信息的人性化考虑在内。看看网上各种“XX 语言的 XXX 报错信息是啥意思”问题可见现在市面上编程语言工具的反馈信息有多少改进空间。
一些报错信息本地化和格式改进的探索供参考: