对于想要编写编程或脚本语言的人,您可以提供哪些建议?我
我不担心如何编程或设计编译器,而是担心如何使用工具和代码生成器快速开发编译器。
上次我尝试用 C++ 对其进行编码,状态和语法几乎与编写实际逻辑一样长。我知道以下工具会有帮助。
我想我可以生成 C++ 代码并让 gcc 编译它。使用上述工具,您估计编写一个程序或脚本语言需要多长时间?
早在学习编写编译器 https://stackoverflow.com/questions/1669/learning-to-write-a-compiler. 这是 SO 资源的不完整列表 https://stackoverflow.com/questions/365602/creating-your-own-language#365636关于这个话题。
估计类似的事情可能需要多长时间取决于许多不同的因素。例如,经验丰富的程序员可以通过单元测试在几个小时内轻松完成一个简单的算术表达式计算器。但是新手程序员可能必须学习解析技术、递归下降、表达式树的抽象表示、树遍历策略等等。仅对于算术表达式来说,这很容易需要数周或更长时间。
不过,不要因此而泄气。当杰夫和乔尔与埃里克·辛克讨论一个问题时最近的 Stack Overflow 播客 https://blog.stackoverflow.com/2009/01/podcast-36/,编写编译器是了解编程许多不同方面的绝佳方法。我已经构建了一些编译器,它们是我最难忘的编程项目之一。
关于构建编译器的一些经典书籍是:
-
编译器:原理、技术和工具 http://dragonbook.stanford.edu/(又名《龙之书》)
-
计算机程序的结构和解释 http://mitpress.mit.edu/sicp/(也称为 SICP)
- 算法+数据结构=程序 http://www.inf.ethz.ch/personal/wirth/books/AlgorithmE0/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)