❶ 关于编译原理的学习
在未来的几年大学毕业后,我挖了一个编译器的理论书籍,然后买了一本类似的书,真正有用的。
无论是工作还是业余的,如果你要编译一个点稍微有一些智能的程序必须使用。大家都用正则表达式编译原理,它仅仅是一个小的应用实例。
应用程序可以做一些先进的技术,让您在行业中站稳脚跟。
等
语法分析可以用来分析它是否包含一些用户上传的代码,使您的网站更可靠。
分析和分解用户输入的SQL语句,了解它是否是危险和SQL注入。
结算业务软件允许用户输入条件表达式和四则运算,允许用户自定义结算公式或条件,使软件上了一个档次。
甚至可??以创建自己的编程语言,由于语言做编程后充分利用,然后编译成一个老板是什么样的语言。有些公司希望一些公司希望java,C#,C + +,VB,等你并不需要各种麻烦。这样做还有一个好处,你因为语言对象的源代码是公认的开源社区,这样你就可以打开。然后,如果这项技术为核心技术,以开公司,具有技术上的先进性这个核心竞争力的更高水平的,是非常有价值的。
想象一下,您的公司的员工只有自我的语言,少的机会,他们就放弃了。你的用户总是可以得到一套完整的源代码,他们认为市场的机会是很大的。其他通用软件公司能不能给一套完整的源代码,始终保持那么一点点。
❷ 想要自学编译原理,需要先学好哪些先修课给点好的学习建议。
首先要弄清楚编译原理的本质。
编译本质上就是翻译,将一种语言翻译成另一种语言,并且保证含义不变。
而编译软件大致分为
词语分析、语法分析、语义分析以及其他部分。
词语分析就分析一串串字母哪些属于一个词。
语法分析就是分析一串串词哪些符合语法规则, 哪些不符合语法规则。
语义分析就是分析符合语法规则的词,在特定语法规则下表达了什么含义。
这是编译软件的前端,后端就是将这些含义转换相应的机器指令。
❸ 如何学好 程序设计语言 编译原理 诚求
1.明确学习目的
学习编程对大多数IT业人员来说都是非常有用的。学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于在求职道路上谋得一个好的职位;从国家的角度,可以为中国的软件产业做出应有的贡献,一名优秀的程序员永远是被争夺的对象。学习编程还能锻炼思维,使我们的逻辑思维更加严密;能够不断享受到创新的乐趣,将一直有机会走在高科技的前沿,因为程序设计本身是一种创造性的工作。知识经济时代给我们带来了无限的机会,要想真正掌握计算机技术,并在IT行业里干出一番事业来,有所作为,具有一定的编程能力是一个基本条件和要求。
2.打好基础
学编程要具备一定的基础,总结之有以下几方面:
(1)数学基础 从计算机发展和应用的历史来看计算机的数学模型和体系结构等都是有数学家提出的,最早的计算机也是为数值计算而设计的。因此,要学好计算机就要有一定的数学基础,出学者有高中水平就差不多了。
(2)逻辑思维能力的培养学程序设计要有一定的逻辑思维能力,“逻思力”的培养要长时间的实践锻炼。要想成为一名优秀的程序员,最重要的是掌握编程思想。要做到这一点必须在反复的实践、观察、分析、比较、总结中逐渐地积累。因此在学习编程过程中,我们不必等到什么都完全明白了才去动手实践,只要明白了大概,就要敢于自己动手去体验。谁都有第一次。有些问题只有通过实践后才能明白,也只有实践才能把老师和书上的知识变成自己的,高手都是这样成材的。
(3)选择一种合适的入门语言 面对各种各样的语言,应按什么样的顺序学呢?程序设计工具不外乎如下几类: 1)本地开发应用软件开发的工具有:Visual Basic 、Delphi 、VC++ ( C++ Builder ) 等;数据库开发工具有:Visual Foxpro 、Oracle Developer 、Power Builder 等。 2)跨平台开发开发工具如 Java 等。 3)网络开发对客户端开发工具如:Java Script 等;对服务器开发工具如:PHP 、ASP 、JSP 、ISAPI 、NSAPI 、CGI 等。以上不同的环境下几种开发工具中 VB 法简单并容易理解,界面设计是可设化的,易学、易用。选 VB 作为入门的方向对出学者是较为适合的。
3. 注意理解一些重要概念
一本程序设计的书看到的无非就是变量、函数、条件语句、循环语句等概念,但要真正能进行编程应用,需要深入理解这些概念,在理解的基础上应用,不要只简单地学习语法、结构,而要吃透针对这些语法、结构的应用例子,做到举一反三,触类旁通。
4.掌握编程思想
学习一门语言或开发工具,语法结构、功能调用是次要的,最主要是学习它的思想。例如学习 VC 就要学习 Windows 的内在机理、什么是线程......;学习 COM 就要知道 VTALBE 、类厂、接口、idl......,关键是学一种思想,有了思想,那么我们就可以触类旁通。
5.多实践、多交流
掌握编程思想必须在编程实际工作中去实践和体会。编程起步阶段要经常自己动手设计程序,具体设计时不要拘泥于固定的思维方式,遇到问题要多想几种解决的方案。这就要多交流,各人的思维方式不同、角度各异,各有高招,通过交流可不断吸收别人的长处,丰富编程实践,帮助自己提高水平。亲自动手进行程序设计是创造性思维应用的体现,也是培养逻辑思维的好方法。
6.养成良好的编程习惯
编程入门不难,但入门后不断学习是十分重要的,相对来说较为漫长。在此期间要注意养成一些良好的编程习惯。编程风格的好坏很大程度影响程序质量。良好的编程风格可以使程序结构清晰合理,且使程序代码便于维护。如代码的缩进编排、变量命令规则的一致性、代码的注释等。
7.上网学编程
在网上可以学到很多不同的编程思想、方法、经验和技巧,有大量的工具和作品及相关的辅导材料供下载。例如网站“编程课堂”()主要以 VB 和 Delph;教学和交流为主,提供大量实用技巧;网站“现在时编程学园”()是专门介绍C、VC、VB、Delphi 等的综合编程网站;网站“ VB 编程乐园 ”()提供内容丰富而且实用的编程技术文章、精选控件、源代码下载、计算机考试、相关软件以及编程书籍推荐等等。
8.加强计算机理论知识的再学习
学编程是符合“理论→实践→再理论→再实践”的一个认识过程。一开始要具有一定的计算机理论基础知识,包括编程所需的数学基础知识,具备了入门的条件,就可以开始编程的实践,从实践中可以发现问题需要加强计算机理论知识的再学习。程序人人皆可编,但当你发现编到一定程度很难再提高的时候,就要回头来学习一些计算机科学和数学基础理论。学过之后,很多以前遇到的问题都会迎刃而解,使人有豁然开朗之感。因此在学习编程的过程中要不断地针对应用中的困惑和问题深入学习数据结构、算法、计算机原理、编译原理、操作系统原理、软件工程等计算机科学的理论基础和数理逻辑、代数系统、图论、离散数学等数学理论基础知识。这样经过不断的学习,再努力地实践,编程水平一定会不断提高到一个新高度。
❹ 学习编译原理要有什么基础
编译原理内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。
主要是讲怎么做程序的编译器。
需要数学基础和很强的逻辑思维。
编译原理里的字符闭包是指有限循环。关于闭包这些名词解释,你们的课程应该有离散数学吧?会有对这些概念的解释。
编译原理这书啊。得花老大精力去看了。每一行都会是至关重要的。如果你漏看了哪一节,或许接下来看到的新字母就不知道是什么意思了。
所以要反复看,反复用逻辑思维推敲。做习题,习题类型也就几种,做熟了就很简单
❺ 如何学好编译原理
对于你将来有很大前途,对于你的思维开拓有很大帮助。更主要能帮你学习很多算法已经更好更快的掌握新的语言。从长远角度看的话有帮助,但是从近的看,如果你就业啊之类的就没什么大用处了。以下是我们老师的说法:编译程序构造是计算机学科中一个非常成功的分支,也是最早获得成功的分支;编译原理蕴涵着计算机学科中解决问题的思路、抽象问题和解决问题的方法;编译原理课程的学习有利于加深对程序语言的理解,可以帮助你更加快速的掌握新的语言工具;课程中包含了很多软件技术,程序设计语言编译程序构造的基本原理和实现方法是软件的核心技术之一,这对于以后从事软件设计是很有帮助的.
❻ 觉得《编译原理》这门课很无聊,又想学好它,有什么建议嘛
完全不理解,在我看来,编写程序员的原则,就像没有画家研究人体解剖学一样,当然没有说不能肯定的成功,但是如果你有一个更好的基础,就可以提高成功的机会。在底层的情况下,上层的描述将更加真实和生动。
同时,在学习了这门课程后,对于开发者来说,他将开始使用自己的知识发展,享受“上帝”的感觉,尝试创造一种语言,我想这种感觉不是每门课程都能带给你的。完成这个过程之后,我相信,当你真的,你写程序,编程语言对你将有一个深入了解这些知识的本质会让你站的高度完全不同,如果你学习好,真的,我认为其他的人看到的是语法,你看到背后的实现,这种感觉真的很好,不信你试试。有这么多好处,无论如何都有充分的理由努力学习。
❼ 《编译原理》犹如天书,怎么学
话说编译原理这种东西除了天才和真正潜心做学问的人,有人学懂过么?
要通过考试的话,自己照着书上的例子做个小的词法分析跟语法分析的玩具玩玩就好了(可以报编译错误的那种 ),语义分析别想了
还有本书叫《深入java虚拟机》,可以参考着看一下,看解释型语言和编译型语言的区别