当前位置:首页 » 编程软件 » 自己写编译器视频

自己写编译器视频

发布时间: 2022-04-23 07:14:39

① 自己写编译器怎么写,我想为中国程序员做个编译C语言的编译器。

首先做这个东西的意义并不大,如果是想学习的话,看看这本书Modern Compiler by Andrew W. Appel

② 如何看待《自己动手写编译器,链接器》一书大量抄袭开源编译器 TCC

对于编译器来说,核心是定义的语言,从这个意义上讲,SCC编译器属于原创内容当然就谈上上抄袭,人家有这个版权声明也算合理,不过似乎没什么用,因为源代码可以公开下载,实事上就是开源了。
其实我们读者更关心一本书对我们自身是否有用,听朋友说现在编译器开发工程师起薪20k以上,要真能学会这门技术对我来说还是很有诱惑力的,毕竟国内真正写过完整编译器,链接器的人还是凤毛麟角,能掌握这门技术还是很吃香的。

java的编译器怎么用

首先,Java编译之后不是生成.exe文件,编译之后只有.class文件,也就是字节码文件,所以你运行它只是用Java虚拟机去解释执行,而不是操作系统直接执行,换句话说,它不是DOS程序,所以没办法直接像C语言编译之后的那样。
其次如果你把JDK的安装目录下的bin文件夹的路径添加到Path环境变量的话,那么进入命令提示符(运行对话框里输入cmd就可以进入命令提示符),输入:“java【空格】 类名”就可以看到类似C语言运行的效果,当然,那个类要有main方法,还有就是你输入:“java【空格】 类名”之前,还需要在命令提示符里先进入到.class文件所在的路径,进入的方法是输入“cd 路径”
再次,NetBean是个集成开发工具,不是编译器,但是NetBean里有编译器,它有个窗口类似于DOS窗口的,在里面可以看到输出,也以自己输入命令、参数。
最后,如果学习Java的话,还是建议你系统地学习,很多入门书籍、入门视频都有教编译器怎么用,怎么运行Java程序等等各种知识的。

④ 如何编写自己的编译器

我晕,你们老师真NB,你学的什么语言啊?是c吗?上来就让你做个编译器,你们老师吃错药了吧?

我大学同学毕业设计才是做个编译器,那会那俩人合作做的,还都是我们系公认的c最强的两个,合作还做了半年,你认为大一刚上来就做这个?!

⑤ 怎样去写一个编译器(用C语言写C语言编译器),需要哪些知识做铺垫,可以给一下相关网站和书籍的推荐吗

写编译器重点就是设计并实现一些数据结构和算法,语言特点太多的话,代码写起来不容易,建议你找一个小语言尝试下,不要一开始就去尝试成熟语言。否则你会在写完语法分析程序以后,遭遇到很大的困难。多数人都是在写语义分析程序的时候,突然发现自己设计的数据结构很烂,后边越写越要命。
如果你想入门编译器的话,那么可以看《编译原理与实践》,整本书先将编译器理论,然后后边教你一步步实现c-miuns(c的子集)的编译器,包括lex,yacc,都在几千行代码左右。这本书讲的比较简单易懂一点
也可以学学斯坦福大学的编译器设计公开课(aiken设计了一个叫cool的语言,专门用来教人写编译器),课程地址上面有人给了:Compilers。这门课以前有个实验环境(据说已经给了,我以前写的时候还是用的网上一个不完整的实验环境),把和编译器知识无关的内容都给你写好了,你只需要在固定的地方填上你的内容就可以写出你的编译器(不要觉得很简单哦,人家的代码写的很精巧的,读完就发现写个好编译器还是很费脑子的),另外,这个实验环境有个特点,就是在每一步都提供标准程序做对比,你可以在写完一部分以后就同标准程序对比,及时发现错误。这种方式为写编译器又提供了很多帮助
先找个小的,慢慢研究,弄懂了整体的结构再说

⑥ 我想用JAVA做个简易编译器,说说思路,或者有没有现成的代码JAVAC的代码有吗

要写编译器?自己开发语言?很牛X,先赞一个!
自己写编译器,原理其实不难,就那么点东西。找一个编译原理看明白就OK了,词法、语法、语义、语境。
这些东西用一些自动机,图灵机,范式,正规之类的就可以搞定。分析嘛,什么逆波兰,树形,一共也没几种的。
但最难做的是优化,还有机器代码生成这二部分。
优化怎么做?你的中间代码放哪?先优化还是先生成中间代码?
机器代码怎么搞?用汇编?还是直接和机器特性相关?
反正这二点我是晕,虽然原理还是那点东西,但真搞起来,我一点思路都没有。。。
国内写编译器的有,但都不是很牛X。
想要写好,还得多看E文资料。
加油吧。

⑦ 怎样去写一个编译器(用C语言写C语言编译器),需

这个需要考虑到很多的问题 各种错误的类型 以及可能出现的情况
这个可以先去看看c编译器的原理(最好是源代码) 然后可以自己试着 编写其中一部分实现的原理 如果是简单的查错 也要分析错误的类型等 修正方法

⑧ 新手如何学习编程

熟悉以下关键东西,可以边学边做,定期训练,经常思考,长期积累:

1、语法。

2、基础理论(数学、数据结构、算法等)。

3、设计方法(编程原则、设计模式、框架设计等)。

4、库(核心、基础、UI、扩展、游戏引擎等)。

5、计算机相关(操作系统、网络、图形学等)。

6、领域知识(游戏设计、网站设计等)。

7、开发工具(编辑器、IDE、自动部署等)。

8、项目管理(进度管理、分工协作、Bug管理、版本控制等)。

最普遍也是最重要的能力:创造力。努力分析并理解好做什么以及怎么做。要知道上面那些东西一开始都是不存在的。

具体方法包括:

1、快速阅读入门教程和书籍,适合学习语言和基础库。比如我学Java读的《Java编程思想》,练习题做过一点,然后学ActionScript就没读过书,只读过Adobe官方文档《ActionScript 3.0编程》。

2、阅读库的文档、实例、源码。比如Flash、Flex开发,熟悉官方API很重要,很多细节要具体使用时才注意到,这时候最好做个笔记,虽然我从没看过我的笔记。

3、做一个自己感兴趣或熟悉的小项目,比如我就以黑白棋游戏作为多个语言的试水项目,一样的逻辑,便于把关注点放在语言特点上。

4、自己动手丰衣足食。厨师有菜谱,程序员可没菜谱。比如我做游戏,最关键的游戏编程知识全部是动手学出来的,很少有专门针对某个业务领域(如游戏)的编程书籍,要么是入门书,要么是模式书(如算法)、理论书(图形学),很少有书籍教你如何开发一个45度角地图系统加编辑器的,全靠自己思考,以及看前人的代码,需要时找些网络资料。关键是,可以培养最重要的创造力。

对于算法和设计模式,可以研读下,但是关键还是靠平时如何使用了。新手勉强不来的。

项目管理方面的,就得靠工作经验了,多思考多提意见不要只走流程。

⑨ 如何自己实现一个编译器

1、编译器有很多种,每一种的使用方式不尽相同。常用编译器:
Visual C++
GNU C++
Inter C++
Sun C++
clang
2、一般编译过程:源文件→预处理→编译→汇编→链接→可执行文件
下面以GCC示例:
预处理(Pre-Processing):根据预处理命令(#开头)修改源文件
# gcc -o hello.i -E hello.c or # cpp -o hello.i hello.c
编译(Compiling):语法检查,并将源文件翻译成汇编文件
# gcc -o hello.s -S hello.i or # cc1 -o hello.s hello.i
汇编(Assembling):将汇编文件转换为目标文件(二进制)
# gcc -o hello.o -c hello.s or # as -o hello.o hello.s
链接(Linking):编址和符号链接,生成可执行文件
# gcc -o hello hello.o or # ld -o hello hello.o

⑩ 如何写一个简单的编译器

因为我这里都只写了 Parser ,所以就只谈谈第一次写 Parser 的建议。

1. 扔掉龙书虎书鲸鱼书。这些书都有一个问题,就是在自己手写完一个自己的 Parser 之前,书上写的那些鬼东西完全都不知道该怎么用,用在哪里。
2. 大胆地撸。不要在意性能啊,扩展性,复用啊这些鬼东西,先把东西做出来再说。
3. 记住代码只不过是格式化文本。不要觉得代码是什么复杂的东西,它跟 Json / XML 这些东西没啥太大区别。Parser 的意义就是把人能看懂的格式化数据编程计算机能看懂的格式数据。

热点内容
微信在手机里面的文件夹 发布:2025-04-04 23:08:24 浏览:288
东风风行t5evo哪个配置好 发布:2025-04-04 23:08:23 浏览:172
sql中real 发布:2025-04-04 23:06:32 浏览:38
google地球无法连接到数据库 发布:2025-04-04 22:57:24 浏览:960
安卓的耳机孔在哪里 发布:2025-04-04 22:57:21 浏览:14
酷我听书外置存储卡 发布:2025-04-04 22:52:50 浏览:612
编译比赛 发布:2025-04-04 22:49:51 浏览:135
苹果一键清理缓存软件 发布:2025-04-04 22:34:44 浏览:415
手机uc浏览器缓存电影怎么删除 发布:2025-04-04 22:21:12 浏览:271
theandroid作文 发布:2025-04-04 22:20:23 浏览:11