-
词法分析
- 输出 token序列
-
语法分析
- LL1文法
- 产生first集
- 产生follow集
- 建立LL1表
- 建立语法树
- 递归下降
- LL1文法
-
语义分析
- scope栈,符号表构建
- 类型,标识符内部表示
- 标识符重复定义
- 标识符未声明
- 标识符类型不匹配(如变量标识符作为过程标识符使用)
- 数组下标越界
- 表达式运算语句,数组下标变量类型不匹配
- 过程调用,参数数量不匹配
- 过程调用,参数类型不匹配
- if,while条件语句不是bool类型
语法树
符号表
snl semantic errors
https://github.com/Yesterday17/SNLCompiler
structrue of ast
https://blog.csdn.net/xuelians/article/details/79999284
structrue of ll1 grammar
display ast