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 a Spanned<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.