样例输入:if num > 100 then num2 = 100 else num2 = 0 ; # 样例输出: ...
                            
                            
                                分类:
其他好文   时间:
2016-04-12 12:27:02   
                                阅读次数:
116
                             
                    
                        
                            
                            
                                    一. 简介 1.JavaCC是一个词法分析器、语法分析器的生成工具,从功能上类似于语法分析器YACC和词法分析器Lex。 2.跨平台 3.使用JavaCC的基本步骤:编写词法分析的语法文件(.jj 用BNF或EBNF描述)->生成语法分析器代码->整合语法规则和语法分析代码。 二. 安装&使用: 1 ...
                            
                            
                                分类:
编程语言   时间:
2016-04-09 13:49:51   
                                阅读次数:
218
                             
                    
                        
                            
                            
                                阅读博客的朋友可以到我的网易云课堂中,通过视频的方式查看代码的调试和执行过程:
 
http://study.163.com/course/courseMain.htm?courseId=1002830012
上一节,我们通过代码,实现了一个有限状态自动机,并将其应用于对整形和浮点数的识别。构造有限状态自动机,并驱动它,从而实现对输入字符串的识别,整个过程就是词法分析的本质。
 
上...
                            
                            
                                分类:
编程语言   时间:
2016-04-06 11:31:19   
                                阅读次数:
643
                             
                    
                        
                            
                            
                                Webkit中。有个词法分析器--HTMLTokenizer,她是怎么工作的呢。网页字节流是她的输入。她的输出是一个个的词语Token,比方div,input,img。script等等HTML文件里的标准元素(Element)。 前一篇文章关于DOM的创建里说过,HTML元字符解析器(HTMLMet ...
                            
                            
                                分类:
其他好文   时间:
2016-04-04 16:10:49   
                                阅读次数:
158
                             
                    
                        
                            
                            
                                一.堆栈的定义 1.栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。 结论:后进先出(Last In First Out),简称为LIFO线性表。栈的应用有:数制转换,语法词法分析,表达式求值等 2.队列(Queue)也是一种运算受限的线性表,它的运算限制与栈不
                            
                            
                                分类:
Web程序   时间:
2016-03-11 20:35:43   
                                阅读次数:
327
                             
                    
                        
                            
                            
                                编译器:源程序-->目标程序,离线offline 解释器:处理程序的一种程序, 输出的是结果,在线online(把结果打印出来了) 编译原理集中体现了计算机科学的很多核心思想:算法,数据结构,软件工程 编译器本身就是很重要的研究领域。 编译器也可以把功能分为前端,后端。前端可以分为词法分析,语法分析
                            
                            
                                分类:
其他好文   时间:
2016-03-05 20:21:54   
                                阅读次数:
157
                             
                    
                        
                            
                            
                                正则表达式基本每个程序员都会用到,实现正则表达式引擎却似乎是一个很难的任务。实际上,掌握《编译原理》前端的词法分析部分知识就能够实现一个简单的正则表达式引擎。这里推荐一下网易云课堂的课程。http://mooc.study.163.com/course/USTC-1000002001?tid=100
                            
                            
                                分类:
其他好文   时间:
2016-02-24 12:14:28   
                                阅读次数:
132
                             
                    
                        
                            
                            
                                在函数体内,标识符arguments是指向实参对象的引用,实参对象是一个类数组对象 arguments[0],arguments.length arguments是什么? 答:1:arguments是收到的实参副本 在词法分析中, 首先按形参形成AO的属性,值为undefined 当实参传来时, 再
                            
                            
                                分类:
Web程序   时间:
2016-02-20 17:29:20   
                                阅读次数:
137
                             
                    
                        
                            
                            
                                核心:JS中的script是分段执行的。 1 <script> 2 var i = 10; 3 </script> 4 <script> 5 alert(i); 6 </script> 上面的例子中,弹出结果10。因为在之前script语句段定义的变量和函数可以再其他script语句段中使用。在一个
                            
                            
                                分类:
Web程序   时间:
2016-02-19 06:55:53   
                                阅读次数:
212
                             
                    
                        
                            
                            
                                (一)、写在前面lex是构建词法分析程序的工具。词法分析程序把随机输入流标记化,即将他拆分成词法标记。然后,可以进一步处理这种被标记化的输出,通常是由yacc来处理的,或者他就成为“最终产品”。当编写lex规范的时候,可以创建lex匹配输入所用的一套模式。每次匹配一个模式的时候,lex程序就调用我们提供的C代码来处理匹配的文本。采用这种方式,lex程序将输入拆分成成为标记的字符串。lex本身不产生可...
                            
                            
                                分类:
其他好文   时间:
2016-02-18 18:08:37   
                                阅读次数:
229