文件名称:cflisp:用于digiflisp asm的AC编译器。 写在锈
文件大小:40KB
文件格式:ZIP
更新时间:2024-03-18 01:27:23
Rust
CFLISP 用Rust编写的用于Digiflisp的实验性C编译器。 解析并编译C的子集以进行flisp汇编。 所有受支持的类型均为一字节大。 通过函数调用支持非本机运算符。 下面的示例是使用优化进行编译时应期望的结果。 根本不支持struct , float和double ,预处理器也不支持。 基本数学,函数调用(甚至是递归函数调用),if-else语句(甚至if-else-if-else-statements),for和while(非do-while)循环,任意级别的指针,注释,十六进制和十进制打印是所有受支持和经过测试的功能。 在Linux上,您甚至可以调用qaflisp直接将其组装(在Windows / Mac上未经测试) // tests/test1.c int main () { int *ptr = 0 ; int x = 5 ; i
【文件预览】:
cflisp-master
----readme.md(2KB)
----tests()
--------test3.c(74B)
--------test12.c(185B)
--------test20.c(289B)
--------test13.c(65B)
--------test15.c(603B)
--------expected1.sflisp(284B)
--------test8.c(153B)
--------test23.c(45B)
--------test18s.c(209B)
--------test5.c(256B)
--------test6.c(139B)
--------test17.c(54B)
--------test11.c(101B)
--------test2.c(129B)
--------test1.c(79B)
--------test10.c(171B)
--------test14.c(1KB)
--------test4.c(228B)
--------test9.c(189B)
--------test16.c(135B)
--------test21.c(175B)
--------test7.c(107B)
--------test22.c(143B)
--------test19.c(169B)
--------test8s.c(221B)
--------test18.c(160B)
----src()
--------error.rs(688B)
--------main.rs(3KB)
--------asm_deps()
--------token.rs(7KB)
--------language_element.rs(1KB)
--------flisp_instructions.rs(10KB)
--------statement_token.rs(3KB)
--------text.rs(2KB)
--------helper.rs(3KB)
--------types.rs(810B)
--------flags.rs(2KB)
--------reference()
--------statement_element.rs(18KB)
--------optimise_flisp.rs(19KB)
--------parser.rs(10KB)
--------compile_flisp.rs(26KB)
----Cargo.toml(227B)
----.gitignore(36B)