Skip to content

Crypeter/MiniC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

计划寒假重新用纯C构造一个MiniC编译器

词法分析和语法分析通过ANSI转义实现代码高亮 通过代码高亮便于调试

语法分析思路 大概为划分Unit(函数声明,定义,全局变量声明) Unit内部划分Block(基本语句,循环Block,条件Block)递归完成语法分析 最后对各种语句中的表达式进行求值

语法树生成后进行语义分析 生成顺序为 表达式代码生成 基本语句代码生成 Block代码生成 Unit代码生成 生成RISC-V32代码

运行时环境采用RISCV模拟器,通过数组来完成内存和堆栈的模拟 运行时环境同样通过C代码实现。

支持RISCV32I指令用于计算 ecall配合寄存器参数进行printf输出 ebreak用于停机

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published