Ram*_*lol 37 c++ compiler-construction interpreter programming-languages
可能的重复:
在C/C++中实现解释器所需的引用
如何创建语言这些天?
学习编写一个编译器
我知道一些c ++,非常擅长php,亲在css html,还可以在javascript.所以我在考虑如何创建c ++我的意思是计算机如何理解代码的含义?它怎么读...所以我可以创建自己的语言,怎么样?
Nik*_*bak 47
如果您对编译器设计感兴趣("计算机如何理解代码的含义"),我强烈推荐Dragon Book.我在大学期间使用它,并且自己创建编程语言.
ant*_*ony 37
"我时不时地感受到设计编程语言的诱惑,但我只是躺下直到它消失." - L. Peter Deutsch
编辑(对于那些渴望上下文的人):
"[L. Peter Deutsch]也写了PDP-1 Lisp 1.5实施,基本PDP-1 LISP,"在12-15岁之间仍然穿着短裤."
Mr *_*ooz 19
如果您想了解计算机如何理解代码,您可能想学习一些汇编语言.它是一种低级语言,可以让您更好地理解真正执行的各种简单指令.您还应该能够了解如何使用条件跳转实现更高级别的构造,如循环.
为了更低层次的理解,你需要学习电子学.数字逻辑向您展示如何使用电子"门"并实现可以理解汇编语言代码生成的机器代码的通用CPU.
对于真正低水平的东西,你可以学习材料科学,它可以教你如何真正使门在原子水平上工作.
你听起来像一个足智多谋的人.您可能希望根据您的理解水平搜索这些主题的书籍和/或网站,并专注于您最感兴趣的内容.对所有这些的相当完整的理解来自计算机科学或计算机工程学士学位,但对于你所处位置的有动力的人来说,很多事情都是可以理解的.
Mat*_*att 11
是的,可以创建自己的语言.看看编译器编译器.或者如果你敢于使用某些脚本语言的源代码.一些有用的工具是yacc和bison和lexx.
其他人提到了龙书.我在大学期间使用过一本我认为被称为"编译理论与实践"的书.
没有必要学习汇编程序来编写语言.例如,Javascript在称为解释器的东西中运行,解释器是执行javascript文件的应用程序.在这种情况下,解释器通常内置在浏览器中.
最简单的启动程序语言可能是编写一个简单的基于文本的计算器.即获取文本文件,运行它并执行计算.你可以很容易地用C++编写它.
我的大学项目的第一语言是给予我们的BNF定义的语言.然后我们必须编写一个解析器,将其解析为内存中的树结构,然后编写为3地址代码(就像汇编程序一样).您可以很容易地将3个地址代码转换为真正的汇编程序或为此编写解释程序.
对!这绝对是可能的.其他人提到了龙书,但网上也有很多信息.例如,llvm有一个关于实现编程语言的教程:http://llvm.org/docs/tutorial/
归档时间: |
|
查看次数: |
14806 次 |
最近记录: |