lucia_lang/lib.rs
1//! Lucia Language Compiler and VM.
2//!
3//! ```txt
4//! +-------+ +--------+ +----------+
5//! str -> | lexer | - Tokens -> | parser | - AST -> | analyzer |
6//! +-------+ +--------+ +----------+
7//! |
8//! +----- AST with semantic information ------+
9//! |
10//! v
11//! +---------+ +-----------------------+
12//! | codegen | - Code -> | Lucia Virtual Machine |
13//! +---------+ +-----------------------+
14//! ```
15//!
16//! # Examples
17//!
18//! ```rust
19//! use lucia_lang::{compiler::code::Code, Lucia};
20//! let input = r#"
21//! import std::io::{println}
22//! println("Hello World!")
23//! "#;
24//! let code = Code::try_from(input).unwrap();
25//! let mut lucia = Lucia::new();
26//! lucia.run_code(code);
27//! ```
28
29pub mod compiler;
30pub mod context;
31pub mod errors;
32pub mod frame;
33pub mod libs;
34pub mod meta_ops;
35pub mod objects;
36mod utils;
37mod vm;
38
39pub use context::*;