导航:首页 > 源码编译 > 自制语言编译机器

自制语言编译机器

发布时间:2022-09-22 23:48:39

Ⅰ 什么自编译过程要在某一台机器上为某种语言构造一个编译程序,必须掌握哪些方面的内容

最基本的啦
函数

Ⅱ 用c++写c语言编译器(输出汇编语言)有多难{自学成才}

中国从编程流传进来到现在还没写出过一款自己的编译器,难度由此可见

Ⅲ 汇编语言编译器是怎么编写的

编译器自举!搜索这个关键字
程序都是编译器编译的。这个是肯定的
至于第一款X语言编译器是不是直接1010101010自己写的那就不知道啦

一般开发编译器的话。有两条路选择
1.利用yacc(或者其变种)&lex(词法分析)-等工具自己生成语法模板
词法语法都可以使用这些工具自己生成
然后自己编写生成的中间码和生成的机器码就可以了
一般做编译原理类似试验都是如此的。许多编译器也的确是这样

2.自己写词法分析和语法分析。可以参考一些开源的编译器
lcc-这个是ANSI C99标准的编译器是开源的
或者nasm,watcom等编译器到www.sf.net上不少开源的编译器

总的来说。高级语言编译器比较难写
如果想快速写出一个的话
可以采用第一种做法。利用工具生成语法词法模板
先写一个简单的汇编编译器比较简单
开源的有nasm,jwasm(支持masm语法开源的编译器)
http://www.japheth.de/JWasm.html
fasm(这款编译器是自举的.就是自己可以编译自己),
http://flatassembler.net/

剩下的就是自己做好语言规则关键字map
引用高手的话。语言map做好了你的编译器也做好一半了
剩下的都是机械性的工作了。
生成x86或者arm指令。

优化工作这个很难解释.根据你所需要的做吧
毕竟可以做出一个无错,又XX的编译器已经很难得

你可以选择使用现有的编译器开发自己的编译器
然后等到你的编译器支持相当数量指令和成熟度的时候
使用自己的语法重新写一遍编译器.
这样你就可以用自己的编译器开发自己的编译器了(是不是很邪恶?)

另外举几个例子
Delphi的编译器是C++ Builder开发的。
而C++ Builder的IDE是Delphi开发的
C++ Builder的编译器是C++ Builder开发的-这个就是编译器自举了。。Delphi和C++ Builder共享一个后端化优化器。
Delphi 早期的版本的编译器是tasm直接编译的。可见Anders的汇编功力多强悍(Anders也就是后来VJ++,C#,.NET工程的核心架构师.最关键的灵魂级人物)

VC++的编译器是VC++开发的。很明显这都说明了编译器自举
自己开发自己。如果一个编译器可以做到自己编译自己。那基本上就可以实现任何功能了。

关于编译器开发的书籍可以看一下
龙书《编译原理(第二版)》
虎书《现代编译原理-C语言描述》
鲸书《高级编译器设计与实现》
建议从鲸书看起。然后是龙书
再来是虎书--虎书里面描述了许多现代编译器(正如其名)技术
例如面向对象啦,优化,垃圾回收等等.
鲸书看完基本上就可以实现一个简单的Tiny C编译器了
然后在龙书巩固,读一下语言规范,自己看一些开源的汇编编译器代码
自己就可以尝试做一个汇编语言编译器了.等到技术提高了
在尝试做一些高级语法识别,参考LCC代码做一下ANSI C99的
C语言编译器。再来就看你自己的兴趣和领悟度拉
如果想支持C++的话就得要对编译器做许多方便的研究

类似Java那种跨平台或者Ruby,Python等动态语言
虎书中也有描述。当然看自己功力了

Ⅳ 汇编语言编译器是怎么编写的

最开始的编译器是机器语言写的,然后写出来支持部分之后,就可以用这部分继续编译其他部分的。

Ⅳ 如何用vc6.0做c语言的编译器阿

VC本身就是C的编译器。好长时间不用。记得存的时候存声C SOURCE FILE就可以了吧

Ⅵ 在Windows下只用VBS或者是JS或者BAT怎么做编译器(任何语言都可以,包括机器码和汇编)

编译器原理通常很复杂,常见的比如vs,delphi编译器等,一般底层是汇编,然后是C语言嫁接在上边,一时半会根本说不清楚,好好买书来看吧,豆瓣和知乎都有人推荐比较好的书目。

Ⅶ 把计算机机器语言编写成汇编语言的编译器是怎么制作出来的,它借助什么

如果理解不错,你问的是反汇编程序吧,机器语言是二进制,不同的CPU架构有固定的语义,反汇编时根据语义来分析 二进制数的含义,然后转换成汇编代码。如果微软平台,一般用C语言编写的多些,其它如PASCAL,BASIC等也可

Ⅷ 求助关于:简单的自定义语言的编译器

用VB6.0就有。

Ⅸ 如何编写机器语言到汇编语言编译器...

用机器语言写!

Ⅹ 怎么傻瓜式建立自己的编程语言和编译器

因为做起来实在是很麻烦的,首先需要弄懂底层的逻辑,计算机执行代码的方式,或者可以在其他语言的基础上去改,但是很浪费时间,还不一定有别人的好。

阅读全文

与自制语言编译机器相关的资料

热点内容
单片机RRC指令 浏览:887
默认加密文件密码 浏览:3
怎么用反诈中心app查询电话 浏览:708
linuxvi操作 浏览:296
什么是实木压缩板 浏览:639
加密空投与硬分叉指南 浏览:15
加密wps文档密码忘了怎么办 浏览:685
冲程算法 浏览:988
鸡料与鸡粪的算法 浏览:833
phpif变量为空值 浏览:59
iot编译器异常 浏览:600
代理服务器被禁用怎么上网 浏览:411
隐私加密怎么设置密码 浏览:940
马丁靴补色解压 浏览:565
在设置app上怎么找到个人热点 浏览:754
按照档案号生成文件夹 浏览:1001
程序员转方向 浏览:111
lol敏捷加密 浏览:882
传统公司眼中的加密货币 浏览:430
电脑图标又出现文件夹怎么去掉 浏览:964