├── .gitignore ├── .rustfmt.toml ├── Cargo.lock ├── Cargo.toml ├── Dockerfile ├── LICENSE ├── README.md ├── docker-compose.yml ├── examples ├── generics.bl ├── main.bl └── strings.bl └── src ├── ast.rs ├── builtins.rs ├── compiler.rs ├── errors.rs ├── grammar.lalrpop ├── interpreter.rs ├── main.rs ├── trait_checking.rs ├── type_alias_resolution.rs ├── type_checking.rs └── types.rs /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/.gitignore -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- 1 | max_width=140 # Not ideal 2 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/Cargo.toml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/README.md -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/docker-compose.yml -------------------------------------------------------------------------------- /examples/generics.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/examples/generics.bl -------------------------------------------------------------------------------- /examples/main.bl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/examples/main.bl -------------------------------------------------------------------------------- /examples/strings.bl: -------------------------------------------------------------------------------- 1 | 2 | 3 | fn main(): String { 4 | return "foo"; 5 | } 6 | -------------------------------------------------------------------------------- /src/ast.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/src/ast.rs -------------------------------------------------------------------------------- /src/builtins.rs: -------------------------------------------------------------------------------- 1 | use std::collections::HashMap; 2 | 3 | use crate::ast; 4 | -------------------------------------------------------------------------------- /src/compiler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/src/compiler.rs -------------------------------------------------------------------------------- /src/errors.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/src/errors.rs -------------------------------------------------------------------------------- /src/grammar.lalrpop: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/src/grammar.lalrpop -------------------------------------------------------------------------------- /src/interpreter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/src/interpreter.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/trait_checking.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/src/trait_checking.rs -------------------------------------------------------------------------------- /src/type_alias_resolution.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/src/type_alias_resolution.rs -------------------------------------------------------------------------------- /src/type_checking.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/src/type_checking.rs -------------------------------------------------------------------------------- /src/types.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/asegavac/boring-lang/HEAD/src/types.rs --------------------------------------------------------------------------------