Ayame
A compiler that translates SysY (a subset of C language) into ARMv7a, implemented in Java15.
Install / Use
/learn @No-SF-Work/AyameREADME
北京航空航天大学 No Segmentation Fault Work 队作品。
ayame
A toy compiler that translates SysY (a subset of C language) into ARMv7a.
Build
javac -encoding UTF-8 $(find . -name "*.java") -cp lib/antlr4-runtime-4.8.jar:lib/argparse4j-0.9.0.jar
Usage
java -classpath src:lib/antlr4-runtime-4.8.jar:lib/argparse4j-0.9.0.jar Compiler -S {sy_file} -o {asm_file} [-O2]
Architecture

Passes
- 中层
- 全局值编号 (GVN)
- 全局代码移动 (GCM)
- 过程内死代码删除
- 过程间死代码删除
- 函数内联
- LCSSA
- 删除无用循环
- 循环展开
- 局部数组提升&标记常量数组
- 全局变量局部化
- 分支优化
- 静态分支预测瞎蒙
- 归纳变量强度削弱
- 循环合并
- 底层
- Codegen (消除 Phi 指令/除法优化)
- 图着色寄存器分配
- 窥孔优化
- 指令调度
- 合并基本块(条件执行)
Performance

Special Thank
Special thank to @lynzrand for designing the icon for Ayame.
Related Skills
node-connect
337.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.3kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
337.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.3kCommit, push, and open a PR
