0909 初遇编译原理
- 编译原理学什么?
编译原理是一门研究设计和构造编译程序原理和方法的课程,是计算机各专业的一门重要专业基础课。编译原理主要学习的是编译程序结构及各部分功能、文法和语言 的基本概念和表示、词法分析、语法分析、属性文法与语法制导翻译技术、符号表、运算时存储空间的组织、代码优化与目标代码生成、并行编译技术概述等。
- 为什么学编译原理?
编译原理这门课程实际蕴含蕴含着计算机学科中解决问题的思路、形式化问题和解决问题的方法,这些思路和方法除了对应用软件和系统软件的设计与开发有一定的启发和指导作用外,在提倡学科交叉不断创新的时代背景下,仍然具有非常重要的意义。编译程序构造的原理和技术在技术工程、逆向工程、软件再工程、语言转换及其他领域都有着广泛的应用。学习编译原理、能掌握编译系统的结构、工作流程及编译程序各组成部分的设计原理和常用的编译技术和方法,为今后从事应用软件和系统软件的开发打下一定的理论和实践基础。
- 怎么学编译原理?
1、做好思想准备,不要畏难,书一遍没看懂没关系,要多看几遍,甚至几十遍,不是有句话么:书读百遍,其义自见;还要结合课本后面的习题多做思考和类比,这些都是最基本的办法,在 学习的过程中归纳出自己的难点和疑惑点,然后重点突破;
2、自己动手做一个虚拟机,在虚拟机的基础上开发自己的语言和编译器,加强实践,当然并不需要你把这些做的多么复杂,主要目的还是为了结合理论的学习,是为了更加深刻的理解 书本上那些抽象的东西;但是谁又敢说,你不能由此发明了将来流行世界的新的语言和新的编译器呢?
3、直接专注于编码(Lex,Yacc等)的研究,然后去配合理论的学习,可以在第一次学习的过程中忽略一些内容,等以后用的时候再来学习.
- 思考:在没有学习本书理论之前,如果让你写一个编译器,你是什么思路?
先完成
1 、过滤空白字符和注释
2 、识别常量
3 、把字符形式的表示转化为编译器的内部标识
4 、识别标识符(ID)和关键字
5 、识别符号 + - * / [ ( { ; : ::
上面都做到了,再考虑语法分析,