1 / 38
文档名称:

正则表达式基础.pdf

格式:pdf   大小:417KB   页数:38页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

正则表达式基础.pdf

上传人:changjinlai 2018/1/25 文件大小:417 KB

下载得到文件列表

正则表达式基础.pdf

文档介绍

文档介绍:Principles piler Construction
Lecture 2 Lexical Analysis (I)
Lecturer: Hai Wan
回顾:编译器的结构
Lexical Analyzer vs. Syntax
Analyzer (Parser)
词法分析的任务
源程序在经词法分析之前是字符的序列
例如:
if (month == March)
nday = 31;
是字符序列:\tif (month == March)\n\t\tnday = 31;
词法分析的任务
词法分析器将其转化为token的序列
• token是指带有附加信息的字符串
•例如<“month”, id>
•单纯的字符串我们称为lexeme
•在自然语言中:名词,动词,形容词……
•程序语言中:标识符,关键字,数字……
•类别属性是包括在token中的基本信息
•语法分析器每次从词法分析器获得一个
token,对不同类别token的处理截然不同
关键问题
•如何识别出一个token?
•如何识别出一个lexeme?
•如何知道lexeme的类别属性?
类别定义
•关键字或保留字:预先指定的单词,如if,
for, else等
•标识符:
•字母开头的字母或数字序列
•非保留字
•数字:
•正整数:首字符非0的数字序列
•负数:’-’和正整数的连接
•…………
类别定义
•自然语言定义方式的缺陷:
•繁琐
•不精确
•难以被计算机处理
•怎么办?
•借助形式化的语言!
语言(Language)
字母表:字符的集合
语言:字母表∑上的语言,是由∑中字符组
成的字符串的集合
例如:
∑={0, 1}
则{001, 100100},{},{1, 11, 111, 1111, …}都是定
义在字母表∑的语言
语言的运算
语言是一种集合,所以集合的运算也适用于
语言