系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 一、输入缓冲 在介绍如何进行词法分析之前,先来说说一个不怎么被提及的问题——怎么从源文件中读取字符流。为什么这个问题这么重要呢?是因为在词法分析中,对字 ...
系列导航 (一)词法分析介绍 (二)输入缓冲和代码定位 (三)正则表达式 (四)构造 NFA (五)转换 DFA (六)构造词法分析器 (七)总结 虽然文章的标题是词法分析,但首先还是要从编译原理说开来。编译原理应该很多人都听说过,虽然不一定会有多么了解。 简单的说,编译原理就是研究如何进行编译—— ...
词法分析器就是通过扫描一段程序判断是否是关键字、标识符、常数、分界符、运算符。一般分为一符一种和经典五中; 这里我用的是经典五中,此词法分析器是用c++编写的; /*保留字|关键字:1操作符|运算符:2分界符:3标识符:4常数:5无识别:6*/ 主要代码为: 运行结果: ...
分类:
编程语言 时间:
2018-05-03 23:32:45
阅读次数:
224
词法分析器就是通过扫描一段程序判断是否是关键字、标识符、常数、分界符、运算符。一般分为一符一种和经典五中; 这里我用的是经典五中,此词法分析器是用java编写的; /* 保留字|关键字:1 操作符|运算符:2 分界符:3 标识符:4 常数:5 无识别:6*/ 主要代码为: 运行结果: ...
分类:
编程语言 时间:
2018-05-03 23:30:40
阅读次数:
309
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文! 本博客全网唯一合法URL:http://www.cnblogs.com/acm-icpcer/p/8867199.html tz@ ...
分类:
编程语言 时间:
2018-04-17 16:59:59
阅读次数:
249
记录《The Definitive ANTLR 4 Reference》中出现的专业术语: grammar 文法,一种形式化(formal)的语言描述。 syntax 语法 phrase 短语 lexer 词法分析器 parser 语法分析器 parse tree 语法分析树,表示语法如何匹配输入的 ...
分类:
其他好文 时间:
2018-04-09 19:01:59
阅读次数:
170
ANTLR v4是一款强大的语法分析器生成器,可以用来读取、处理、执行和转换结构化文本或二进制文件。通过称为文法的形式化语言描述,ANTLR可以为该语言自动生成词法分析器。生成的语法分析器可以自动构建语法分析树,它是表示文法如何匹配输入的数据结构。ANTLR还可以自动生成树遍历器,用来访问树节点以执 ...
分类:
其他好文 时间:
2018-04-09 17:16:16
阅读次数:
182
1.题目描述 (1). 首先,从以往个人完成的项目中选择一个作品。我选择的是用C语言小子集实现词法分析器,代码大于100行; (2). 将代码上传至GitHub或Coding.net系统中(我的代码是用Coding.net提交的,队友用的是GitHub),并将代码地址交给对方; (3). 对同伴的作 ...
分类:
其他好文 时间:
2018-04-06 13:53:22
阅读次数:
165
整理一下我所遇到过的有关全文索引的问题吧 一、设置词法分析器 Oracle实现全文检索,其机制其实很简单。即通过Oracle专利的词法分析器(lexer),将文章中所有的表意单元(Oracle 称为 term)找出来,记录在一组 以dr$开头的表中,同时记下该term出现的位置、次数、hash 值等 ...
分类:
数据库 时间:
2018-01-04 16:24:39
阅读次数:
158
编译器的结构 主要分为2个部分:分析(analysis)部分和综合(synthesis)部分 分析部分:源程序分解为多个组成要素,并再要素上加上语法结构,创建一个中间表示,相关信息存入符号表。 综合部分:根据中间表示和符号表构造目标程序。 1.词法分析 词法分析器读入字节流,将他们组成有意义的 ...
分类:
其他好文 时间:
2017-11-27 21:38:51
阅读次数:
176