PigletC:PigletVM的类似于玩具的C语言编译器

时间:2024-02-21 07:50:38
【文件属性】:

文件名称:PigletC:PigletVM的类似于玩具的C语言编译器

文件大小:9KB

文件格式:ZIP

更新时间:2024-02-21 07:50:38

python parser parser-combinators compiler stack-machine

PigletC —用于的类似于C的微型语言编译器 PigletC基于工具集,并用于教学目的。 简单的例子。 int r; int n; void main () { n = 5 ; r = 1 ; while (n > 1 ) { r = r * n; n = n - 1 ; } print (r); } 编译结果。 PUSHI 1 PUSHI 5 STORE PUSHI 0 PUSHI 1 STORE L0: PUSHI 1 LOAD PUSHI 1 GREATER JUMP_IF_FALSE L1 PUSHI 0 PUSHI 0 LOAD PUSHI 1 LOAD MUL STORE PUSHI 1 PUSHI 1 LOAD PUSHI 1 SUB STORE JUMP L0 L1: PUSHI 0 LOAD PRINT DONE VM执行的结果。 pigletvm-exec asm fact.c.pvm fact.c.b pigletvm-exec run fact.c.b 120 Result value: 0 PROFILE: s


【文件预览】:
PigletC-master
----src()
--------term.py(875B)
--------raddsl_parse.py(5KB)
--------trans.py(2KB)
--------main.py(561B)
--------__init__.py(0B)
--------raddsl_rewrite.py(4KB)
--------tools.py(794B)
--------parse.py(2KB)
--------gen.py(953B)
----examples()
--------fib.c(175B)
--------fact.c(113B)
----LICENSE(1KB)
----README.md(962B)
----pigletc.py(458B)
----.gitignore(19B)

网友评论