使用自动机和表驱动。
- 基本的关键字均可识别
- If,while,if_else,switch,结构体,数组,自增自减,自定义函数,布尔运算符,关系运算符,逻辑表达式,注释,函数调用等基本都能识别
- 有基本的错误提示
递归下降分析,向前查看K个token,并生成抽象语法树。
- 支持基本的四则运算,基本的数据类型,赋值
- 支持if,while,if-else,for等语句,以及它们的嵌套使用
- 支持函数调用,函数定义,有参无参均可
- 支持结构体 struct
- 支持在一行进行多个变量的初始化
- 支持switch-case-default结构
- 支持数组定义,初始化,以及与变量在一行中定义
遍历语法树,得到四元式
- 基本的四则运算
- 关系运算
- 自定义函数调用
- while if for结构语句
- 等等
根据四元式,对应生成汇编代码,生成的是386intel汇编代码。
可以对四元运算,while if for语句结构以及自定义函数,生成汇编代码。