正则表达式:
正则表达式是当前主流的字符串识别机制之一,另外一种是文法识别。
和文法相比,正则表达式具有构造相对简单,运行效率较高的特点,所以一般的字符串识别会使用正则表达式。
正则表达式有三种主要运算符是我们在构造词法分析器生成器LEX需要用到的:*、|、连接
*代表闭包运算,假如有一个字符串a,那么a*就代表由任意个字符串a组合成的字符串,包括空串(0个字符串a组合成的字符串),...
分类:
编程语言 时间:
2016-07-10 19:15:29
阅读次数:
1695
闭包是指能够访问自由变量的函数 (变量在本地使用,但在闭包中定义)。换句话说,定义在闭包中的函数可以“记忆”它被创建时候的环境。词法作用域考虑如下的函数:function init() { var name = "Mozilla"; function displayName() { alert(na ...
分类:
其他好文 时间:
2016-07-10 16:46:37
阅读次数:
212
编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。源代码-->预处理-->编译-->优化-->汇编-->链接-->可执行文件Source--(编译)--> Ass ...
分类:
其他好文 时间:
2016-07-10 11:12:41
阅读次数:
179
引自:https://developer.mozilla.org/cn/docs/Web/JavaScript/Closures 闭包是指能够访问自由变量的函数 (变量在本地使用,但在闭包中定义)。换句话说,定义在闭包中的函数可以“记忆”它被创建时候的环境。 词法作用域 考虑如下的函数: funct ...
分类:
编程语言 时间:
2016-07-05 18:58:47
阅读次数:
237
先尝试用它来做一个计算器(内容来自于自制编程语言——前桥和弥) 一、准备工作 关于flex, bsion工具,建议还是linux平台安装使用比较方便,我在windows下尝试过,太麻烦。 在ubuntu下安装很简单,只要执行下列语句即可: 没有报错就说明安装成功。 二、词法分析部分 创建mycalc ...
分类:
其他好文 时间:
2016-07-05 13:54:12
阅读次数:
195
2.1字符集 JavaScript程序是用Unicode字符集编写的。Unicode是ASCII和Latin-1的超集,并支持地球上几乎所有再用的语言。 2.1.1区分大小写 JavaScript是区分大小写的语言。也就是说,关键字、变量、函数名和所有的标识符(identifier)都必须采取一致的 ...
分类:
其他好文 时间:
2016-06-24 09:18:47
阅读次数:
239
编译程序 把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。 编译程序工作时,先分析,后综合,从而得到目标程序。所谓分析,是指词法分析和语法分析;所谓综合是指代码优化,存储分配和代码生成 ...
分类:
其他好文 时间:
2016-06-22 10:33:25
阅读次数:
156
这学期我们还学习了编译原理的知识,总结起来,共分几个步骤:1.词法分析:任务是将源程序转换成内部格式;2.语法分析:任务是判断源程序结构是否符合该语言的语法;3.语义分析:任务是保证源程序在语义上的正确性;4.中间代码生成:将于源程序转换成等价的中间语言代码;5.代码优化:对中间代码的优化处理6.目 ...
分类:
其他好文 时间:
2016-06-20 18:26:21
阅读次数:
125
解释器、编译器、优化器完成HQL查询语句从词法分析、语法分析、编译、优化以及查询计划(Plan)的生成。生成的查询计划存储在HDFS中,并在随后有mapreduce调用执行。 举个例子: 第一步:输入一条HQL查询语句(select * from tab) 第二步:解析器对这条Hql语句进行语法分析 ...
分类:
其他好文 时间:
2016-06-19 14:13:26
阅读次数:
953