Skip to content

iamzhz/ababiu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ababiu

这是名为 Ababiu 编程语言的编译器.
(目前还很简陋呢)
现在只支持 x86_64 的 Linux

为了构建这个项目, 你需要有 make.
这个项目运行时依赖 nasmld.

构建项目

如果你用 make:

make

这会产生一个名为 ababiu 的可执行文件.

Tip

咱要把生成的 ababiu 文件挪到主目录下(即和 libababiu/ 目录同级), 因为它会用到一些 libababiu 的内容.

该编译你的代码了

(有一个测试文件 test.abb, 咱可以试试)

./ababiu your_code.abb -o output --auto

这其实等效于

./ababiu your_code.abb -o assembly.asm  # 把 ababiu 代码编译到汇编
nasm -f elf64 assembly.asm -o a.o # 把汇编编译为目标文件
ld a.o -o output -L. -lc -lababiu -dynamic-linker /lib64/ld-linux-x86-64.so.2 # 链接

然后可以这样来运行

./output

File

src/ 是放编译器代码的地方.
libababiu/ 是放 ababiu 的 built-in 函数的地方.

About

A programing language compiler (WIP). (Just a toy)

Topics

Resources

License

Stars

Watchers

Forks

Languages