编译原理

编译原理是什么?有什么用?

做~自己de王妃 提交于 2020-02-21 04:19:42
说真的,我也想知道是什么。 于是乎通过老师给的网站找了些回答。 编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。虽然只有少数人从事编译方面的工作,但是这门课在理论、技术、方法上都对学生提供了系统而有效的训练,有利于提高软件人员的素质和能力。 至于有什么用嘛,总结起来也就八个字: 装逼利器,必学必备。 来源: https://www.cnblogs.com/ChalingStreet/p/5852344.html

0909编译原理

耗尽温柔 提交于 2020-02-21 04:19:28
1.编译原理学什么? “编译原理”是一门研究设计和构造编译程序原理和方法的课程,是计算机各专业的一门重要专业基础课。 2.为什么学编译原理? 通过学习该课程,掌握编译的基本理论、常用的编译技术,了解编译过程及编译系统结构和机理,更好的理解程序。  3.怎么学编译原理? 实践中学习,当然,需要掌握一些基本知识,通过在课堂中认真听课,运用已有的编程基础多加实践。 4.思考:在没有学习本书理论之前,如果让你写一个编译器,你是什么思路? 之前了解过编译器的原理就是将高级语言翻译成机器语言,但是如何写一个编译器,毫无头绪。。。 来源: https://www.cnblogs.com/xhlbk/p/4799263.html

0909 编译原理

£可爱£侵袭症+ 提交于 2020-02-21 04:18:50
网络上有许许多多的有关编译原理的叙述,这个科目的资源也十分的繁多。对我们的学习会产生很大的帮助,也可以让我们更多的了解编译原理这一门科目。 1.编译原理学的是介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。是让学生理解编译过程中有涉及的原理。 2.编译原理及技术从本质上来讲就是一个算法问题而已,当然由于这个问题十分复杂,其解决算法也相对复杂。我们学的数据结构与算法分析也是讲算法的,不过讲的基础算法,换句话说讲的是算法导论,而编译原理这门课程讲的就是比较专注解决一种的算法了。在20世纪50年代,编译器的编写一直被认为是十分困难的事情,第一Fortran的编译器据说花了18年的时间才完成。在人们尝试编写编译器的同时,诞生了许多跟编译相关的理论和技术,而这些理论和技术比一个实际的编译器本身价值更大。 3.编译原理这门课我还没有很高的了解,所以我会认真听课,做好作业,课后花时间来了解这门课目。 4.对于编译器的原理我并不了解,所以暂时没有思路,等待老师解答。 来源: https://www.cnblogs.com/liezhihua/p/4795434.html

0909编译原理

心已入冬 提交于 2020-02-21 04:18:31
1、编译原理学什么? 内容包括语言及文法的基本知识、词法分析、语法分析、语义分析及中间代码生成、符号表组织、运行时的存储组织与分配、代码优化及目标代码生成等 2、为什么学编译原理? 通过本课程的学习,既掌握编译理论和方法方面的基本知识,而且也获得设计、实现、分析和移植编译程序方面的初步能力 3、怎么学编译原理? 编译原理内容抽象,不易理解,内容多且繁琐。但是我觉得如果能熟悉这门课程,对我们自身会有很大的帮助,提高我们计算机的能力。至于要怎样学好这门课程。我认为就是要 多学多练,亲手练习比一直听课来的效率高,多请教老师,多和同学交流,相信自己能够学好这门课程。 4.思考:在没有学习本书理论之前,如果让你写一个编译器,你是什么思路? 对于编译器,我觉的不是很熟悉。大概就是将我们所写的代码翻译成机械语言,让电脑可以识别。 来源: https://www.cnblogs.com/chenkaiqi/p/4797643.html

深入分析Java的编译原理

北城余情 提交于 2020-02-21 04:17:46
在《 Java代码的编译与反编译 》中,有过关于Java语言的编译和反编译的介绍。我们可以通过 javac 命令将Java程序的源代码编译成Java字节码,即我们常说的class文件。这是我们通常意义上理解的编译。 但是,字节码并不是机器语言,要想让机器能够执行,还需要把字节码翻译成机器指令。这个过程是Java虚拟机做的,这个过程也叫编译。是更深层次的编译。 在编译原理中,把源代码翻译成机器指令,一般要经过以下几个重要步骤: 根据完成任务不同,可以将编译器的组成部分划分为前端(Front End)与后端(Back End)。 前端编译主要指与源语言有关但与目标机无关的部分,包括词法分析、语法分析、语义分析与中间代码生成。 后端编译主要指与目标机有关的部分,包括代码优化和目标代码生成等。 我们可以把将 .java 文件编译成 .class 的编译过程称之为前端编译。把将 .class 文件翻译成机器指令的编译过程称之为后端编译。 Java中的前端编译 前端编译主要指与源语言有关但与目标机无关的部分,包括词法分析、语法分析、语义分析与中间代码生成。 我们所熟知的 javac 的编译就是前端编译。除了这种以外,我们使用的很多IDE,如eclipse,idea等,都内置了前端编译器。主要功能就是把 .java 代码转换成 .class 代码。 词法分析 词法分析阶段是编译过程的第一个阶段

前端要以正确的姿势学习编译原理(上篇)

笑着哭i 提交于 2020-02-21 04:17:08
转自:https://zhuanlan.zhihu.com/p/36301857 前言 最近在我的 timline 上面出现了很多类似《前端为什么要学编译原理》这类文章以及《前端怎么学AST》这类的问题,但是却发现并没有人给大家介绍前端要如何以系统并且正确地学习编译原理,所以我就结合自己的经验以及走过的弯路来给大家分享点心得和经验,希望能让大家少走点弯路。 最后我并不是前端,只是恰好会写点 JavaScript 而已。 目录 上篇: 编译原理为什么难 怎么学好编程语言 代码到底是什么 正则与上下文无关文法 编程语言从 AST 才正式开始 下篇: 静态分析 类型推导 AST 的转换 Conitnuation 字节码虚拟机 编译原理为什么难 大家提起编译原理第一反应都是很难,难到无从下手,但是为什么难呢?说白了,编译原理不就是研究把一门语言解析并且转换成另一门语言的技术吗?这项技术到底有哪些地方成为了阻碍呢?我认为这个最大的阻碍其实就是“编程语言”本身。 我相信在看这篇文章的朋友至少已经学会了 JavaScript 了吧,但是我想多嘴问一句,大家真的懂 JavaScript 吗?能描述出 JavaScript 的语法规则吗?能理解语法所代指的逻辑结构吗?知道 JavaScript 是如何在被解释和执行的吗?所以,大家真的懂 JavaScript 吗?反正我是至今没有底气说自己”精通“

0909 关于编译原理

懵懂的女人 提交于 2020-02-21 04:16:56
1.编译原理学什么? 可以学习到程序设计语言的本质,编译程序构造的一般原理和基本方法,例如语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 2.为什么学编译原理? 对编程有更好更新的理解,是学好C语言必要的条件,能加深对电脑的认识。 3.怎么学编译原理? 首先不要厌倦这门课程,多看有关编译原理的相关书籍,多写多打代码,提前预习功课,上课认真听课,课后多做练习和消化知识。 4.思考:在没有学习本书理论之前,如果让你写一个编译器,你是什么思路? 编译一个智能卡片,把个人的身份证,银行卡,和个人信息等存在一个卡片里面,方便便捷。 来源: https://www.cnblogs.com/l549023320/p/4795466.html

0909 关于编译原理

限于喜欢 提交于 2020-02-21 04:16:43
编译原理是计算机专业的一门重要专业课,介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成等等。 学习编译原理能让你理解机器是如何理解高级语言的,更加方便的去学习利用其它高级语言,让你在其它计算机学习方面有很大的帮助。 虽然还没开始学习这门课程,但是我感觉这门课程只要努力去学习,应该还是能够很好地去学习好。除了平时上课认真听老师讲课,上机课做好老师所布置的,有时间可以去图书馆去借一些关于编译原理方面的书,虽然这些书可能有些看不懂,有些乏味,但是只要肯努力的去看,努力的去学习,肯定会成功的。 我感觉一开始写一个编译器,首先要弄懂最基本的,先学习文化和语言的基本知识,掌握基本知识,进行词汇分析和语法分析等,最后在通过一些代码实现一个编译器吧。 来源: https://www.cnblogs.com/range/p/4795321.html

0909 关于编译原理

不想你离开。 提交于 2020-02-21 04:16:30
当我们通过编译器用高级语言编写代码时,编译器可以自动的将我们写的代码转化成机器语言,这个过程我们是不可见的。通过学习编译原理,我们便可以了解编译器将高级语言向机器语言转化的这一过程,明白编译器的工作原理,懂得如何编写自己的代码,才能获得更高的处理效率,让自己的编码思想更加成熟,提高自己的编码能力。 如何学习编译原理?我想,跟随老师上课的进度,认真听讲学习,多涉猎这一类型的书籍,应该能获得一定的效果。 还未学习编译原理前,我对编译器的编写方法还未有太大想法,但我觉得编译器一重要的点便是分析编写的语句,判断所输入的内容构成,并通过一定的规则对语句进行处理。 来源: https://www.cnblogs.com/shuaibi/p/4795322.html

0909关于编译原理

耗尽温柔 提交于 2020-02-21 04:16:02
1、编译原理学什么? 答:“编译原理”主要讲述编译系统的结构、工程流程以及编译程序各组成部分的设计原理和实现技术,其内容包括语言及文法的基本知识、词法分析、语法分析及中间代码生成、代码优化、目标代码生成。 2、为什么要学习编译原理? 答:因为编译原理可以使我们达到不一样的技术,不但要知其然,还要知其所以然,这样才能应对技术的不断的更新,才能不被技术的1发展所淘汰,而且编译原理讲的是比较专注解决一种算法了。 3、怎么学编译原理? 答:首先认真听讲,跟随上老师的步骤,根据基础然后举一反三,平常多多思考,多多练习,由实践出真理,这样学会的更快。 4、思考:在没有学习本理论之前,如果让你写一个编译器,你会是什么思路? 答:首先在网上查询资料,自学一下分析编译器到底需要什么样的思路,运用到什么类的知识,划分好思路,然后再对课本的理论知识进行学习,理解,再不断的进行实践检验。 来源: https://www.cnblogs.com/caicaihong/p/4796190.html