Crate srclang
src-lang
src-lang is a compiler is a language and a specification for a domain specific language that is aimed at manipulating source code.
Modules
analyzer
:analyzer
is responsible for analyzing the syntax tree and building the symbol table.ast
:ast
contains the abstract syntax tree for the src-lang.compiler
:compiler
contains the compiler for the src-lang.lexer
:lexer
contains the intermediate representation for the src-lang.ops
:ops
contains the operations tree traversal operations for the src-lang.parser
:parser
contains the parser for the src-lang, which is written in LALRPOP.
Macros
span
: A macro to create aSpanned<T>
object Heavily used in `src.lalrpop to create a Spanned object
Structs
Jar
: The salsa database for the compiler. The default convention is to implement this at the crate level.
Traits
Db
: The Db trait is a marker trait that is used to ensure that the Jar struct is a valid salsa database. The default convention is to implement this at the crate level.