├── .codecov.yml ├── .github └── dependabot.yml ├── .gitignore ├── .travis.yml ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── benches └── lexer.rs ├── sample.lim ├── src ├── codegen │ ├── llvm │ │ ├── builtins.rs │ │ ├── mod.rs │ │ └── std │ │ │ ├── mod.rs │ │ │ ├── string.rs │ │ │ └── vec.rs │ └── mod.rs ├── interner.rs ├── lexical │ ├── keywords.rs │ ├── lexer.rs │ ├── mod.rs │ ├── symbols.rs │ └── token.rs ├── lib.rs ├── main.rs ├── semantic │ ├── analyzer.rs │ ├── analyzer_trait.rs │ ├── mod.rs │ └── type_checker.rs ├── span.rs ├── syntax │ ├── block.rs │ ├── exprs.rs │ ├── items.rs │ ├── literals.rs │ ├── local.rs │ ├── mod.rs │ ├── op.rs │ ├── parser.rs │ ├── stmt.rs │ ├── types.rs │ └── visitor.rs ├── userfacing_error.rs └── utils.rs └── tests ├── README.md ├── all ├── main.rs ├── test_lexer.rs ├── test_llvm_codegen.rs ├── test_parser.rs ├── test_type_checker.rs └── utils.rs └── lang ├── test_functions.lim ├── test_hello_world.lim ├── test_indentation.lim ├── test_numerics.lim └── test_type_inference.lim /.codecov.yml: -------------------------------------------------------------------------------- 1 | ignore: 2 | - "tests" 3 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/.travis.yml -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/README.md -------------------------------------------------------------------------------- /benches/lexer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/benches/lexer.rs -------------------------------------------------------------------------------- /sample.lim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/sample.lim -------------------------------------------------------------------------------- /src/codegen/llvm/builtins.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/codegen/llvm/builtins.rs -------------------------------------------------------------------------------- /src/codegen/llvm/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/codegen/llvm/mod.rs -------------------------------------------------------------------------------- /src/codegen/llvm/std/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/codegen/llvm/std/mod.rs -------------------------------------------------------------------------------- /src/codegen/llvm/std/string.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/codegen/llvm/std/string.rs -------------------------------------------------------------------------------- /src/codegen/llvm/std/vec.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/codegen/llvm/std/vec.rs -------------------------------------------------------------------------------- /src/codegen/mod.rs: -------------------------------------------------------------------------------- 1 | #[cfg(feature="llvm-backend")] 2 | pub mod llvm; 3 | -------------------------------------------------------------------------------- /src/interner.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/interner.rs -------------------------------------------------------------------------------- /src/lexical/keywords.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/lexical/keywords.rs -------------------------------------------------------------------------------- /src/lexical/lexer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/lexical/lexer.rs -------------------------------------------------------------------------------- /src/lexical/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/lexical/mod.rs -------------------------------------------------------------------------------- /src/lexical/symbols.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/lexical/symbols.rs -------------------------------------------------------------------------------- /src/lexical/token.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/lexical/token.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/semantic/analyzer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/semantic/analyzer.rs -------------------------------------------------------------------------------- /src/semantic/analyzer_trait.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/semantic/analyzer_trait.rs -------------------------------------------------------------------------------- /src/semantic/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/semantic/mod.rs -------------------------------------------------------------------------------- /src/semantic/type_checker.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/semantic/type_checker.rs -------------------------------------------------------------------------------- /src/span.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/span.rs -------------------------------------------------------------------------------- /src/syntax/block.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/syntax/block.rs -------------------------------------------------------------------------------- /src/syntax/exprs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/syntax/exprs.rs -------------------------------------------------------------------------------- /src/syntax/items.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/syntax/items.rs -------------------------------------------------------------------------------- /src/syntax/literals.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/syntax/literals.rs -------------------------------------------------------------------------------- /src/syntax/local.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/syntax/local.rs -------------------------------------------------------------------------------- /src/syntax/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/syntax/mod.rs -------------------------------------------------------------------------------- /src/syntax/op.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/syntax/op.rs -------------------------------------------------------------------------------- /src/syntax/parser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/syntax/parser.rs -------------------------------------------------------------------------------- /src/syntax/stmt.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/syntax/stmt.rs -------------------------------------------------------------------------------- /src/syntax/types.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/syntax/types.rs -------------------------------------------------------------------------------- /src/syntax/visitor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/syntax/visitor.rs -------------------------------------------------------------------------------- /src/userfacing_error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/userfacing_error.rs -------------------------------------------------------------------------------- /src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/src/utils.rs -------------------------------------------------------------------------------- /tests/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/tests/README.md -------------------------------------------------------------------------------- /tests/all/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/tests/all/main.rs -------------------------------------------------------------------------------- /tests/all/test_lexer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/tests/all/test_lexer.rs -------------------------------------------------------------------------------- /tests/all/test_llvm_codegen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/tests/all/test_llvm_codegen.rs -------------------------------------------------------------------------------- /tests/all/test_parser.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/tests/all/test_parser.rs -------------------------------------------------------------------------------- /tests/all/test_type_checker.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/tests/all/test_type_checker.rs -------------------------------------------------------------------------------- /tests/all/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/tests/all/utils.rs -------------------------------------------------------------------------------- /tests/lang/test_functions.lim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/tests/lang/test_functions.lim -------------------------------------------------------------------------------- /tests/lang/test_hello_world.lim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/tests/lang/test_hello_world.lim -------------------------------------------------------------------------------- /tests/lang/test_indentation.lim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/tests/lang/test_indentation.lim -------------------------------------------------------------------------------- /tests/lang/test_numerics.lim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/TheDan64/limonite/HEAD/tests/lang/test_numerics.lim -------------------------------------------------------------------------------- /tests/lang/test_type_inference.lim: -------------------------------------------------------------------------------- 1 | var str = "Hello, World!" 2 | 3 | print(str) 4 | --------------------------------------------------------------------------------