Skip to content

Latest commit

 

History

History
104 lines (63 loc) · 1.81 KB

编译原理课程设计_计划.md

File metadata and controls

104 lines (63 loc) · 1.81 KB

编译原理课程设计_计划

内容

SeuLex

  • Lex输入文件的解析
  • 正规表达式的解析
  • 一个正规表达式到NFA的转换算法实现
  • 多个NFA的合并
  • NFA的确定化和最小化算法实现
  • 返回状态与返回内容的对应
  • SeuLex应用

中缀转后缀

  • 二叉树的前序、中序、后序遍历和表达式的前缀、中缀、后缀表达
  • 算符优先分析法

SeuLex的主要算法与数据结构

主要数据结构设计

  • FA
  • NFA
  • DFA

主要算法设计

  • 正规表达式的规范化
    • 非规范正规表达式的规范化
    • 加“点”
  • 中缀形式的正规表达式到后缀形式的正规表达式转换
  • Thompson算法(将后缀形式的正规表达式转化为NFA)
  • NFA确定化算法(ε闭包)
  • DFA最小化算法(回头看)

SeuYacc

  • Yacc输入文件的解析
  • 上下文无关文法到对应LR(1)文法的下推自动机的构造
  • LR(1)文法的下推自动机到相应分析表的构造
  • LR(1)总控程序的构造(查表程序)
  • LR(1)到LALR(1)的映射
  • 符号表的构建与相应管理程序
  • 语义动作程序的加入
  • SeuYacc的应用

SeuYacc的主要算法与数据结构

•主要数据结构设计

  • LR(1)项目
  • LR(1)DFA
  • LR(1)分析表

主要算法设计

  • LR(1)状态内部扩展
  • first
  • 扩展结束控制
  • LR(1)状态相同判断
  • 从LR(1)DFA到LR(1)分析表生成算法
  • 状态同心判断
  • 归约动作与语义规则关联

分工

共同 定义struct

SeuLex: 何: Lex输入文件的解析 正规表达式的解析

//regexp的处理暂定

王: 一个正规表达式到NFA的转换算法实现(包括正规表达式转后缀,后缀转nfa) 多个NFA的合并

张: NFA的确定化和转dfa dfa输出到c语言

2020/5/6 by.w.

p.s.计划非固定,有问题一起解决