Expand description
This crate provides the implementation of the IJzer language.
It defines a parser for the IJzer language, a syntax tree for the IJzer language, and a transpiler for the IJzer language to Rust code.
For documentation of the language itself and how you can use this see the documentation of the ijzer crate.
Modules§
- ast_
node - Nodes and other data structures for the AST
- comparison_
funcs - Comparison functions, treating non-boolean types as either 0 or 1.
- compiler
- Compiler for the AST Takes in a list of AST nodes and outputs a Rust TokenStream.
- function_
enums - Enums for the unary functions, binary functions, and tensor builders.
- operations
- Enum for the operations in the AST
- parser
- Parses the main operations and constructs the AST.
- syntax_
error - Syntax errors for the parser
- tensor
- Implementation of custom tensor type and operations
- tokens
- Enum for the tokens in the lexer and methods for lexing (using logos)
- types
- IJType struct and methods for type inference and parsing
Functions§
- compile
- Compiles a string of IJzer code into a Rust
TokenStream.