用C语言采用模拟DFA算法编写一个扫描器.docxVIP

  • 61
  • 0
  • 约8.62千字
  • 约 9页
  • 2018-08-30 发布于贵州
  • 举报

用C语言采用模拟DFA算法编写一个扫描器.docx

用C语言采用模拟DFA算法编写一个扫描器

用C语言采用模拟DFA算法编写一个扫描器 /* 第一章:相关知识 DFA定义:一个确定的有穷自动机(DFA)M是一个五元组:M=(K,Σ,f,S,Z)其中   ① K是一个有穷集,它的每个元素称为一个状态;   ② Σ是一个有穷字母表,它的每个元素称为一个输入符号,所以也称Σ为输入符号字母表;   ③ f是转换函数,是K×Σ→K上的映射,即,如 f(ki,a)=kj, (ki∈K,kj∈K)就意味着,当前状态为ki,输入符为a时,将转换为下一个状态kj, 我们把kj称作ki的一个后继状态;   ④ S ∈ K是唯一的一个初态;   ⑤ Z??K是一个终态集,终态也称可接受状态或结束状态。 第二章:题目 用C语言采用模拟DFA算法编写一个扫描器(词法分析器)用来识别: 由任意个a或b开始后接aa再自加或自减1的字符串,即正规式r=(a|b)*aa(+|-)1描述的语言L(r)。 该词法分析器的任务: (1)滤掉源程序中的无用成分,如空格; (2)识别正规式r=(a|b)*aa(+|-)1描述的字符串。 从键盘读入或打开文件读入字符串,词法分析器读入字符ywe串后扫描源字符串, 若发现符合符合正规式r描述的字符串时,输出“yes”或“可接受”或“可识别”, 否则输出“no”或“不可识别”。 第三章:分析 第一节. 根据正规式(a|b)*aa(+|-)1,我们可

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档