编译器DIY
一起来玩玩呗
just to fun...
展开
-
编译器DIY————序
突然间有一种冲动想自己写一个编译器。原创 2014-05-18 17:11:39 · 1262 阅读 · 1 评论 -
编译器DIY之———统计英文文本中的单词数,字符数和行数
咳咳,这一章节应该是连载编译器的DIY的,可是在做DIY之前先用flex 来练练手,对于后面的理解有帮助作用。在word 中我经常看到有一个单词统计的功能,那么是怎么来实现的了,当然第一个念头就是遍历整个文本依据换行和空格对字符串进行分析,那么这是可行的。可是能不能简单点了,其实对文本做单词分析,大家都知道怎么做,难得地方可能就是代码的实现了,那么现在如果使用正则表达式来实现的话,那么一切问题原创 2014-06-10 09:31:34 · 4196 阅读 · 0 评论 -
编译器DIY——读文件
编译器的前端词法分析:将源文件解析成一个个的单词流,为语法分析做准备。在词法分析阶段,我们要做的就是将词分出来,并且确定单词的类型,一般的程序设计语言的单词符号可以份为以下5种:1.关键字,如int,long等2.标识符,用来表示各种名字,如常量名,变量名等3.常数,各种类型的常数,如12,1.2等4.运算符:如+,-,*,/等5.界符,如“,”“;”等那么在实际的过程原创 2014-06-12 09:44:10 · 1270 阅读 · 0 评论 -
编译器DIY——词法分析
在上一篇文章中已经介绍了读文件的操作,那么这一篇文章中将会仔细解释词法分析。在源文件中解析出的单词流必须识别为保留字,标识符,常量,操作符和界符五大类1.显然我们需要列举出所有的保留字,而这里与保留字相似的那么就是标识符,在C语言中,保留字都是以小写字母开头,而且其中的字母只能是小写字母,而标识符的第一个字母则必须为字符(小写大写皆可)后面可以接大小写字母和字符 ‘_’, 在我写的这个编译原创 2014-06-14 16:01:05 · 1920 阅读 · 0 评论