limonite

所属分类:编译器/解释器
开发工具:Rust
文件大小:65KB
下载次数:0
上传日期:2022-07-07 10:18:43
上 传 者sh-1993
说明:  [WIP]用于褐铁矿编程语言的编译器。
([WIP] Compiler for the Limonite programming language.)

文件列表:
.codecov.yml (20, 2021-07-17)
.travis.yml (943, 2021-07-17)
Cargo.lock (25879, 2021-07-17)
Cargo.toml (785, 2021-07-17)
LICENSE (9723, 2021-07-17)
benches (0, 2021-07-17)
benches\lexer.rs (460, 2021-07-17)
sample.lim (1914, 2021-07-17)
src (0, 2021-07-17)
src\codegen (0, 2021-07-17)
src\codegen\llvm (0, 2021-07-17)
src\codegen\llvm\builtins.rs (500, 2021-07-17)
src\codegen\llvm\mod.rs (34609, 2021-07-17)
src\codegen\llvm\std (0, 2021-07-17)
src\codegen\llvm\std\mod.rs (29, 2021-07-17)
src\codegen\llvm\std\string.rs (4735, 2021-07-17)
src\codegen\llvm\std\vec.rs (830, 2021-07-17)
src\codegen\mod.rs (45, 2021-07-17)
src\interner.rs (2094, 2021-07-17)
src\lexical (0, 2021-07-17)
src\lexical\keywords.rs (1534, 2021-07-17)
src\lexical\lexer.rs (23056, 2021-07-17)
src\lexical\mod.rs (215, 2021-07-17)
src\lexical\symbols.rs (1939, 2021-07-17)
src\lexical\token.rs (919, 2021-07-17)
src\lib.rs (141, 2021-07-17)
src\main.rs (3446, 2021-07-17)
src\semantic (0, 2021-07-17)
src\semantic\analyzer.rs (466, 2021-07-17)
src\semantic\analyzer_trait.rs (159, 2021-07-17)
src\semantic\mod.rs (73, 2021-07-17)
src\semantic\type_checker.rs (6307, 2021-07-17)
src\span.rs (4745, 2021-07-17)
src\syntax (0, 2021-07-17)
src\syntax\block.rs (598, 2021-07-17)
... ...

[![Build Status](https://travis-ci.org/TheDan***/limonite.svg?branch=master)](https://travis-ci.org/TheDan***/limonite) [![codecov](https://codecov.io/gh/TheDan***/limonite/branch/master/graph/badge.svg)](https://codecov.io/gh/TheDan***/limonite) Limonite ======== This is a compiler for the Limonite programming language. Limonite is a relatively basic programming language written in rust using LLVM as a backend. * Uses a custom tokenizer and parser. * Compiles to LLVM IR. * Syntax is by no means final. See sample.lim for examples. ## Building 1. Make sure you have installed all the dependencies. * Rust (Stable/Beta) * Cargo * git (optional) * LLVM == 10.0 (optional) * cmake (required for LLVM) 2. Download and build Limonite. Run the following commands git clone https://github.com/TheDan***/limonite.git cd limonite cargo build Without LLVM dependency git clone https://github.com/TheDan***/limonite.git cd limonite cargo build --no-default-features ## Working Features * Basic variables w/ basic type inference * Basic ascii/utf8 print statements * While loops * Comparison operators * Addition, Subtraction, Assignment * Comments Example: ``` var s = "Spam the world!" var i = 10 >> NOTE: The following requires tab-indentation while i > 0, i -= 1 print(s) ```

近期下载者

相关文件


收藏者