Skip to content

wprzytula/Latte-compiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dependencies:
    - owned_chars simply provides an owned version of chars() iterator.
    - either provides a general purpose sum type, which helped me as it has the following characteristic: if both contained types implement Iterator<Item=T>, then Either does so.
    - antlr-rust provides library for ANTLR lexer and parser for Rust
    - better_any replaces Any trait features; I needed it as antlr-rust requires implementing BetterAny in order to implement its traits.
    - rpds - Rust Persistent Data Structures, which I decided would be suitable for implementing Env.
    - thiserror - provides convenience creators for error types.
    - enum-as-inner - enables handy unwrapping enums into one of their variants.
    - assert_matches - just as assert!, but asserts that an argument matches pattern in another argument.
    - smallvec - a Vec that stores first n elements in-place, resorting to heap allocation only if n limit has been reached. Optimisation attempt.
    - lazy_static - enables executing e.g. heap-requiring code as statics.
    - vector-map - implements a map on vector, in hope that it will be faster than hashmaps for small amounts of data.

About

A compiler for an educational-purpose language.

Resources

Stars

Watchers

Forks

Languages