当前位置:首页 » 编程软件 » 编译器到底有多难

编译器到底有多难

发布时间: 2022-07-16 19:20:37

A. 编译原理难吗

编译原理我觉得不是最难的,或者是读得很浅所以不觉得难。在计算机基础课中最难的我觉得是操作系统,很难很重要,但是很少人会去重视,基本都是草草的上课草草的学了,不得精髓;次之算法也很难,不止是理论,实际用用也难。
国内985本科编译能教的大约是半本龙书组成的前端加一个基本的后端,不难。但是实践的工作量大。认真做一个编译器至少两三万行C++的工作量,只有半个学期的时间,压力很大。当然,compiler的可玩性不错,不那么枯燥。

B. 开发一个 C++ 编译器的难度有多大,难点又在哪里

C++的前端是出了名的复杂度和可靠性要求并驾齐驱的软件。

(这两点都比它高一个数量级的大概就只有OS了)

对于这种系统,唯一的办法就是烧钱。

烧钱的作用主要包括:
1.留人;
2.填坑;
3.买买买。

先说留人:复杂度一般是“细节”的代名词。现实中的编译器大多数以递归下降为主,自底向上的归纳推导为辅。这两样在教科书上也就是几页纸的事情。但是现实总是很残酷的,人们总想让语言更加“易用”,这就意味着各种上下文相关的情况都会出现。

对于C++来说,你要判断一个符号是类型或者变量(比如这个符号被用在模板参数中),要看前面的声明/定义。这就是一个上下文相关的推导。然后你就会写大量的if else switch case之类的代码来解决各种各样的可能分支。写它的人当然知道它是做什么的,但是如果这个人离职了,新来一个人,就呆掉了,这写的都是什么煞笔玩意儿。因为它不知道现实中怎样的需求会导致奇形怪状的逻辑。所以人员的稳定,对于这种长周期迭代、逻辑复杂的项目是很重要的。但是人的水平要求高吗?不算高也不算低。总结来说就是:有逻辑,知好歹。技术什么都可以培养,但是态度和基本智商是比较难培养起来的。

至于怎么保证人员稳定?很简单:加薪。

再说填坑:编译器是对正确性要求很高的基础软件。这里的正确性既包括产生的代码的正确性,也包括编译器自身对于各种问题的容忍度和足够丰富的错误提示。容错和错误提示本身也是代码,也有很大的出错几率。所以这些软件,bug少不了。但是作为基础软件,你又不能随便就2+3搞成了2*3,这样还怎么让别人相信爱情。所以要烧很多钱来养一帮debugger。

再说买买买:古人日:我们不用很麻烦很辛苦也可以成佛。既然这么费神我们自己做干什么,不如买别人的吧。于是MS就干脆不自己做了,直接去EDG整了个前端,这样就可以少了不少人年。这就是传统土豪和水果这种新暴发户想的不一样的地方。

传统土豪想的是:我们有这么多钱为什么还要自己解决问题呢?买买买!
水果新贵则是:啊呀,不小心有了这么多钱,我们要不要给自己制造点问题好把这些钱花出去?

C. 编译原理的难点

1.错误认识: 很多人以为编译原理只能应用在写程序语言的编译器上,觉得用处不大,学习兴趣不高.而且可能觉得写编译器就必须完全手工来写.
2.自动机理论: 象NFA,DFA之类,比较抽象,要费些脑子,特别如果学离散数学时没有学自动机理论的话,更是需要多花点时间.
3.集合论的推演: 主要是一些闭包运算之类,数学基础不好的话,学起来也会感到吃力.
4.LR文法: 主要是又引入了自动机

D. 编译原理这门课难不,介绍下啊,我没上课但要考试啊。。。。。

如果您觉得有用的话,请及时采纳我的答案,谢谢。
我认为这门课不难,好好学吧,把同学的笔记接来看看,如果只求过的话,我相信努力几天还是没问题的。编译原理是计算机专业的一门重要专业课,旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。 编译原理是计算机专业设置的一门重要的专业课程。
这门课的基本概念:编译器是将一种语言翻译为另一种语言的计算机程序。编译器将源程序(source language) 编写的程序作为输入,而产生用目标语言(target language )编写的等价程序。通常地,源程序为高级语言(high-level language ),如C或C + + ,而目标语言则是目标机器的目标代码 (object code,有时也称作机器代码(machine code )),也就是写在计算机机器指令中的用于运行的代码。这一过程可以表示为:源程序→编译器 →目标程序

E. 操作系统内核和编译器哪个难度更大

整体而言,是同级别的难,但难点各有侧重。
若论算法,编译器更难,而且难不止一个级别。操作系统的算法难度只能算一般水平。
但是操作系统涉及的东西更多,本身结构更复杂,硬件处理也更加复杂。

F. 编译原理很难吗

说实话有点难,但是好好学肯定能学好呢。我编译原理上85了,而且期末还写了个编译器。相信你也没问题的!

G. 编译原理好学吗是偏硬件的吗

我认为编译原理~与大学计算机专业课程的其他科目比起来的话相对较难
真正开发编译器的人的确需要丰富的硬件的知识。
但不能说偏硬件,而且国内编译原理教材着重理论,常常可以忽略对硬件的认识
总的来说,楼主为了考试学编译原理的话,比较难啊,没有偏硬件的说
如果为了开发编译器(尤其静态编译器)的话,难度大 ,需要i强大硬件知识

H. 想学c++找一个编译器有这么难吗

用微软的vs 2017很好用。里面有很多编译环境,不仅仅有C++,前提是,电脑要好点,否则运行时速度会有点慢。

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

首先要有一定的英语数学基础,和强的逻辑思维

热点内容
丁霞访问 发布:2025-02-07 22:56:19 浏览:854
java中set集合 发布:2025-02-07 22:43:34 浏览:30
播放这个wifi密码是多少 发布:2025-02-07 22:34:54 浏览:99
视频存储时间长了有雪花 发布:2025-02-07 22:24:34 浏览:568
哈佛f7x怎么区分配置 发布:2025-02-07 22:22:34 浏览:771
广州python培训 发布:2025-02-07 22:22:26 浏览:199
陆金所的交易密码是什么 发布:2025-02-07 22:19:25 浏览:320
如何删除平板储存密码 发布:2025-02-07 22:10:29 浏览:747
php微信授权登录 发布:2025-02-07 22:10:27 浏览:378
怎样编程时钟 发布:2025-02-07 21:59:38 浏览:562