导航:首页 > 源码编译 > 自己写一个编译器怎么学

自己写一个编译器怎么学

发布时间:2022-05-16 22:29:38

Ⅰ 新手如何学习编程

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

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. 选择一门语言

1)确定你感兴趣的领域。你可以开始学习任何编程语言(尽管有些语言绝对比其他语言“容易”),所以你首先要问自己,你想通过学习编程语言来达到什么目的?这将帮助你确定应该从事哪种类型的编程,并为你提供一个良好的起点。

2)考虑从“更简单”的语言开始。不管你的决定如何,你都可以考虑从一种高级的、更简单的语言开始。这些语言对初学者特别有用,因为它们的基本概念和思维过程几乎可以适用于任何语言。

3)通读各种语言的基本教程。如果你还不确定应该开始学习哪种语言,请阅读一些不同语言的教程。如果一种语言比其他语言更有意义,那就试一下,看看它是否合拍。网上相关的教程有很多。

2、从小处开始

1)学习语言的核心概念。虽然这一步骤的应用部分会因你选择的语言而有所不同,但所有编程语言都有一些基本概念,这些概念对于构建程序至关重要。尽早学习和掌握这些概念将使解决问题和创建强大而高效的代码变得更容易。以下是一些不同语言中的一些核心概念:

2)安装任何必要的软件。许多编程语言都需要编译器,编译器是用来将代码翻译成机器可以理解的语言的程序。其他语言(例如Python)使用解释器,该解释器无需编译即可立即执行程序。

某些语言具有IDE(集成开发环境),通常包含代码编辑器,编译器和或解释器以及调试器。 这使程序员可以在一处执行任何必要的功能。 IDE也可能包含对象层次结构和目录的直观表示。

3、创建你的第一个程序

1)一次只关注一个概念。任何语言最开始都是教大家“Hello World”。这是一个非常简单的程序,它在屏幕上显示文本“Hello,World”(或其他变体)。这个程序是教给第一次编程的程序员如何创建一个基本的、功能性程序,以及如何处理显示输出。通过更改文本,可以了解程序如何处理基本数据。

2)通过解构网上的例子学习。几乎每种编程语言都有成千上万的代码示例。用这些例子来检查语言的各个方面是如何工作的,以及不同部分是如何相互作用的。从不同的例子中获取一些零碎的东西来创建你自己的程序。

3)检查语法。语法是编写语言的方式,以便编译器或解释器能够理解它。每种语言都有一个独特的语法,尽管有些元素可以跨多种语言共享。学习语法对于学习如何用语言编程是必不可少的。

4)尝试改变。对示例程序进行更改,然后测试结果。通过实验,你可以比阅读一本书更快地了解什么是有效的,什么是无效的。不要害怕破坏你的程序;学习修复错误是任何开发过程中的一个主要部分,任何新事物几乎永远不会在第一次就能正确工作。所以别怕犯错!

5)开始练习调试。当你在编程时,你总是会遇到bug。这些都是程序中的错误,几乎可以在任何地方出现。bug可以是程序中无害的异常,也可以是阻止程序编译或运行的主要错误。找出并修复这些错误是软件开发周期中的一个主要过程,所以要尽早习惯这样做。

6)注释代码。几乎所有的编程语言都有一个“comment”函数,允许你包含未经解释器或编译器处理的文本。这允许您对代码的作用留下简短但清晰的语言解释。这不仅有助于您记住代码在大型程序中所做的工作,而且是协作环境中的基本实践,因为它能帮助其他人理解你的代码干嘛的。

最后,一定要经常练习。编程是熟能生巧的技能,多练才能查漏补缺,更上一层楼。

Ⅲ 初学者怎样学习编程有哪些方法

初学者学习编程的方法如下:

1、 打好基础

当你开始学习编程的时候,首先你要确定的东西是“基础”。要打好基础,你需要学习计算机科学。现在,我们可以在网上找到很多针对初学者的课程。互联网的确为初学者提供了便利,使你可以通过网络找到大量有用的信息。因此,你得花时间研究一下这些信息,从中选择最适合自己需求的。

6、平衡好你的学习

作为一个开发人员,能力的提升是永无止境的,而持续的无助感只是作为一个开发者的一部分而已。新技术的诞生不会令开发者轻松下来,因为他们需要不断地提升自身的能力来适应市场的要求。

作为初学者,你应该随时准备学习新的东西。即使是有经验的开发者,他们也会对自己的能力缺乏信心,因为市场上会不断有新的工具,技术和标准涌现,这需要开发者与时并进,才能跟得上变化。但这并不是说你得知道一切事情,只要了解你要了解的事情就可以了。关键是不要停止学习新的东西。

7、学习算法

当你获得一定的项目经验后,你就应该开始学习算法了。 算法是构成计算机科学的核心。无论你是正在做网页开发还是游戏开发,你总得使用算法来实现最终的结果。

Ⅳ 如何自学编程

自学编程要做到将编程作为自己的爱好、对自己的电脑了解、确定自己的编程语言、多看书,具体介绍如下:

1、要想真正学习一门知识,就要先尽量保持将其保持为一种爱好,才能一步一步的学习,还要保持耐心,不能为了成果跳跃学习。这两句话很重要,请在任何时候都要记住,无论那一门课。

2、要对自己家的电脑有一个充分的了解,包括他的位数(64位,32位),内存,型号,和版本,如果要编程的话,一定要对电脑的各个功能有详细的了解

3、先确定自己要学的编程语言,将其语言环境和编程工具准备好。入门最好使用c-free,或Java(要准备语言环境)入门或是深入都可以使用eclipse,python(要准备语言环境)可以使用editplus。

4、多在当地书城或是网上购买一些所学习的语言的书,可以轻松自学,当然如果你认为仅仅是文字并不够生动,可以看看一些优秀的教学视频,但千万不要放弃书本。

注意事项:

1、明确学习目的 学习编程对大多数IT业人员来说都是非常有用的。

2、逻辑思维能力的培养,学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。

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

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

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

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

Ⅶ 怎么开始动手自己写一个编译器,编译器的理论学习该从

编译器的目标是写编程语言,学习编译器理论,现已有专门编译器原理的书籍,中文和原文都有。不过要在编译器方面有建树很难,至少 编译器-编程语言-操作系统-界面编写-芯片汇编 他们要捆绑在一块的。

阅读全文

与自己写一个编译器怎么学相关的资料

热点内容
光遇安卓怎么转ios教程小米 浏览:959
python儿童 浏览:42
程序员毕业半年后被辞退 浏览:641
开发板系统编译 浏览:390
pdf安装包下载 浏览:48
如何配置foxmail邮箱服务器 浏览:971
python解释器编译器源代码 浏览:113
服务器ip地址正确为什么连不上 浏览:82
飞天开放平台编程指南 浏览:114
文件夹向上一级 浏览:878
apachelinux配置域名 浏览:786
王者荣耀体验服服务器出错是什么意思 浏览:824
程序员对联意思 浏览:550
php追加txt 浏览:519
java验证码jsp 浏览:753
色铅笔画动漫pdf 浏览:260
a文件编译so 浏览:347
单片机power怎么改成接地 浏览:219
https是什么app 浏览:371
androidstudio优化设置 浏览:436