lua_ir 0.5.0

ir generation and lua runtime for lua_semantics crate
Documentation

lua_rust

lua syntax parser & interpreter in Rust

project structure

  • tokenizer: tokenizing lua code string.
  • parser: parsing tokenized lua code into AST.
  • semantics: semantic analysis of generated AST. It generates a Enhanced AST which contains more information than the original AST.
    • stack offset of local variables
    • scope checking for return, break, goto, label, ...
    • split function definition into separated Chunks
  • lua_ir : generate IRs from enhanced AST, and run on virtual machine (WIP)

Cargo Features

  • 32bit: use 32bit integer and float for lua numeric type
  • diag: enable to_diag() function for ParseError

how to run

$ cargo run <source_file.lua>

will print the pretty-formatted Debug output of the AST ( "{:#?}" )