学习编译原理的步骤

简介:

我不知道我是不是头脑发热,突然对编译原理,特别是ANTLR的使用很感兴趣,转个别人总结的步骤。

1.先利用ANTLR之类的编译器生成工具,做一个小程序(如上面提到的HTML文件转化成纯文本文件的程序),所需知识只是正则表达式的基本知识和生成工具本身的使用方法 这样做的好处是:

1)可以体会到编译原理的实用性,提高学习兴趣

2)入门容易,消除编译原理学习的畏难情绪.

3)获得词法分析器和语法分析器的感性认识,有利于加深对理论的理解.

4)获得编译器自动生成工具(compiler compiler)的使用经验,提高解决实际问题的能力.(实际工作很多都不是手编而是利用工具的)

2.象ANTLR之类的工具是开源(open source)的,可研究其源码,以便必要时自己手编分析程序.

3.回过头来看编译原理教材. 这时大概会发现,很多理论很容易懂,剩下的只有上面说的几个难点,多看几遍,重点突破.

4.结合教材所附源码,进一步加深对教材的理解

我决定充实下这篇文章,今天读了anstlr很多文章,来自庄表伟的anstlr系列学习笔记。感觉编译原理并非我想象中那么困难,实现一个简单的脚本解释引擎对我来说还是完全可以做到的,发现我前段时间花大力气学习正则表达式派上了用场,理解起来事半功倍。我决定买本《编译原理》方面的书籍老老实实读一下。不知道有没有人给我推荐一本?

文章转自庄周梦蝶  ,原文发布时间5.17

目录
相关文章
2017计科01-08编译原理练习题一运行时空间组织管理&优化&目标代码生成
2017计科01-08编译原理练习题一运行时空间组织管理&优化&目标代码生成
2017计科01-08编译原理练习题一运行时空间组织管理&优化&目标代码生成
|
算法 安全 Java
Unidbg模拟执行某段子so实操教程(一) 先把框架搭起来
Unidbg模拟执行某段子so实操教程(一) 先把框架搭起来
Unidbg模拟执行某段子so实操教程(一) 先把框架搭起来
|
6月前
|
编译器 vr&ar C++
c++primer plus 6 读书笔记 第七章 函数--C++的编程模块
c++primer plus 6 读书笔记 第七章 函数--C++的编程模块
|
5月前
|
算法 JavaScript 前端开发
编程入门:从零开始学习编程的方法与步骤
编程入门:从零开始学习编程的方法与步骤
|
7月前
|
自然语言处理 算法 前端开发
【软件设计师备考 专题 】编译、解释系统的基础知识和基本工作原理
【软件设计师备考 专题 】编译、解释系统的基础知识和基本工作原理
107 1
|
7月前
|
存储 Java C++
【python基础题】——知识点选择、填空、简答
【python基础题】——知识点选择、填空、简答
编程学习之路第一步
编程学习之路第一步
37 0
|
自然语言处理 网络安全 C语言
【编译原理】第二章,词法分析(更新)
【编译原理】第二章,词法分析
|
自然语言处理 算法
第二章 总结及作业(6789B)【编译原理】
第二章 总结及作业(6789B)【编译原理】
169 0
【程序环境和程序预处理】万字详文,忘记了,看这篇就对了(2)
1.程序翻译环境和运行环境 假设一个test.c文件经过编译器编译运行后生成可执行文件test.exe,这中间存在两个过程: 一个是翻译,在这个环境中源代码被转换为可执行的机器指令。 一个是运行,它用于实际执行代码。 在翻译环境阶段,会进行编译和链接操作。 在汇编阶段,是将汇编指令转换成二进制指令。