# Pascal lexical analysis **Repository Path**: zwhlwx/pascal-lexical-analysis ## Basic Information - **Project Name**: Pascal lexical analysis - **Description**: 编译原理第一次上机, Pascal语言词法分析实验 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-22 - **Last Updated**: 2024-06-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 已完成工作 针对输入的源程序字符串,例如"begin x1:=92; if x1>91 then x1:=2*x+1/3; end #",输出经过词法分析后输出如下序列: ``` (1,begin) (10,x1) (18,:=) (11,92) (26,;) (2,if) (10,x1) (23,>) (11,91) (3,then) (10,x1) (18,:=) (11,2) (15,*) (10,x) (13,+) (11,1) (16,/) (11,3) (26,;) (6,end) (0,#) ``` # 未完成工作 无法做到判断输入的源程序是否规范,如ID(标识符是否合法,例如如果以数字开头就不合法)。 只支持整形常数(SUM),不支持小数和负数。 缺少图形界面。 # 额外的工作 针对老师的分工建议,建议添加针对正规式: ``` ID = letter (letter | digit)* NUM = digit digit* ``` 的正规表达式→NFA;有限自动机的确定化;确定有限自动机的最小化;模拟DFA等。 # 分工 赵为赫:项目基础,以及词法分析器雏形的实现 张远智: 王宇程: 王政凯: 殷鹏:负责使用Qt实现所有可视化界面