转自:项目总结之词法分析器无论是词法分析,还是语法分析,给我的第一感觉就是逻辑要严谨。由于项目有自己一套完整的语言和语法,设计好其对应的词法分析器和语法分析器显得尤为重要。 我们采用flex进行词法分析。flex是一个用来生成扫描器(scanners)的工具,其中扫描器就是可以识别文本中词法模式的程...
分类:
其他好文 时间:
2015-04-03 10:43:43
阅读次数:
174
Python闭包的学习
什么是闭包?
借用维基上解释:在计算机科学中,闭包(Closure)是词法闭包(Lexical Closure)的简称,是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。所以,有另一种说法认为闭包是由函数和与其相关的引用环境组合而成的实体。闭包在运行时可以有多个实例,不同的引用环境和相同的函数组...
分类:
编程语言 时间:
2015-04-01 17:37:29
阅读次数:
175
看到HorkeyChen写的文章《[WebKit] JavaScriptCore解析--基础篇(三)从脚本代码到JIT编译的代码实现》,写的很好,深受启发。想补充一些Horkey没有写到的细节比如字节码是如何生成的等等,为此成文。
JSC对JavaScript的处理,其实与Webkit对CSS的处理许多地方是类似的,它这么几个部分:
(1)词法分析->出来词语(...
分类:
编程语言 时间:
2015-03-28 20:27:43
阅读次数:
218
导读 1、什么是预处理 2、预处理的好处 3、C#中的常见预处理指令 4、总结 什么是预处理 在计算机科学中,预处理通常是指利用某一程序(通常是预处理器)对某一格式的源码(如.cs C#源代码)按照一些规则进行源码替换的过程。这个过程发生在词法分析阶段,得到的仍然是源码文件。对于编译而言简单来讲可分...
Webkit中,有个词法分析器HTMLTokenizer,她是怎么工作的呢,网页字节流是她的输入,她的输出是一个个的词语Token,比如div,input,img,script等等HTML文件中的标准元素(Element)。...
分类:
其他好文 时间:
2015-03-20 14:30:26
阅读次数:
236
1、本文中,需要将系统关键词自己首先定义在KeyWord数组中,这样程序才会自动进行比较;
2、选出某个关键词后,将其code置为0,避免多次打印该关键词;
3、请自己创建src.txt文件,并在里面放入一段“你需要统计的语言”代码。...
分类:
其他好文 时间:
2015-03-18 18:08:51
阅读次数:
161
一:实验指导书对下述单词表定义的语言设计编制一个词法分析器。单词符号及种别表和词法分析器功能及基本要求如下:(1)单词符号及种别表单词符号种别编码单词值main1int2float3double4char5if6else7do8while9l(l|d)*10内部字符串( +|-|ε ) dd*(.d...
分类:
其他好文 时间:
2015-03-16 20:58:17
阅读次数:
173
微软发布了CLR 2.0的源码,这个源码是可以直接在freebsd和windows环境下编译及运行的,本系列文章将针对.NET 2.0源码的方方面面进行解读。
分类:
其他好文 时间:
2015-03-14 18:21:03
阅读次数:
155
我以前的实现版本点击打开是是有问题的,因为我把整个流都弄下来了。
比如流里假如有(12, 3))87 ,实际上cin>>complex只是取流里的(12,3)而剩下的)87是不动它,由接下来的其他流读取。
而我则是整个都取下来了。虽然我的功能能够使用词法分析实现,但是不够优雅,在C++上更是错误的。
basic_istream_char* __cdecl basic_istream_...
分类:
其他好文 时间:
2015-03-11 17:22:34
阅读次数:
173
1.扫描程序(scanner) 把源代码中的语句扫描进来,并分解成token。即词法分析。2.语法分析程序(parser) 进行语法分析,并将分析结果用分析树(parse tree)或者语法树(syntax tree)表示出来。3.语义分析程序(semantic analyzer) 在语法树下...
分类:
其他好文 时间:
2015-03-11 12:31:43
阅读次数:
175