Crate ijzer_lib

Crate ijzer_lib 

Source
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.