词法分析概述
- 词法分析器作用:
- 对输入的字符串形式的源程序按顺序进行扫描,识别输出具有独立意义的单词序列(包括单词内容和单词的类别)【单词:具有独立含义的最小语义单位】
- 检查源程序中的词法错误
字符和字符串基本概念
确定有限自动机DFA
- DFA的确定性:
- 初始状态唯一
- 状态转换函数是单值函数,一个状态接受同一个输入字符可以转向多个不同后继状态
- 等价状态:两个状态,如果把他们看做初始状态,所接受的符号串是相同的
- 无关状态:从开始状态没有到它的通路 ,或者由它没有到终止状态的通路
- DFA化简:状态分离法
- 终止状态为一组,非终止状态为一组
- 若每组的元素接收任意字符会映射到不同的组则分离出来建立新的组
- 重复2,直到没有新的组
非确定自动机NFA
- 特点:
- 转换函数不要求是单值函数
- 允许有多个初始状态
- 允许有空边
- 对于任意一个非确定自动机,都存在一个确定自动机与之等价
正则表达式和有限自动机的相互转化
题
- 【单选题】如果一个正则表达式所代表的集合是无穷的,则该正则表达式必含有的运算是:
A、
连接运算“・”
B、
或运算“|”
C、
闭包运算“*”
D、
括号“()”
正确答案:C
答案解析:
根据正则表达式运算符的运算性质。
- 【单选题】不是DFA的构成成分的是:
A、
有穷字母表
B、
初始状态集合
C、
终止状态集合
D、
有限状态集合
正确答案:B
答案解析:
根据DFA的定义可知,DFA只能有唯一确定的起始状态。
- 【单选题】有限自动机M和N等价是指:
A、
M和N的字母表相同
B、
M和N状态数相等
C、
M和N状态数或有向边数相等
D、
M和N识别的字符串集合相同
正确答案:D
答案解析:
根据等价概念。
- 【多选题】与DFA相比,NFA的非确定性体现在:
A、
允许有多个开始状态
B、
允许有多个终止状态
C、
在没有任何输入的情况下允许进行状态转换
D、
一个状态可以有多个不同后继状态
正确答案:AC
答案解析:
根据DFA的常用表示可知。