2024-07-15 20:42:49 +00:00
|
|
|
/**
|
|
|
|
The Dust programming language.
|
|
|
|
|
|
|
|
Dust is a statically typed, interpreted programming language.
|
|
|
|
|
2024-07-28 17:06:59 +00:00
|
|
|
The [interpreter] module contains the `Interpreter` struct, which is used to lex, parse and/or
|
2024-07-15 20:42:49 +00:00
|
|
|
interpret Dust code. The `interpret` function is a convenience function that creates a new
|
|
|
|
`Interpreter` and runs the given source code.
|
|
|
|
*/
|
2024-08-05 03:11:04 +00:00
|
|
|
pub mod abstract_tree;
|
|
|
|
pub mod analyzer;
|
2024-03-25 04:16:55 +00:00
|
|
|
pub mod identifier;
|
2024-08-04 00:23:52 +00:00
|
|
|
pub mod lex;
|
|
|
|
pub mod parse;
|
|
|
|
pub mod token;
|
2024-08-02 20:33:40 +00:00
|
|
|
pub mod r#type;
|
2024-02-26 21:27:01 +00:00
|
|
|
pub mod value;
|
2024-08-05 02:15:31 +00:00
|
|
|
pub mod vm;
|
2024-02-23 12:40:01 +00:00
|
|
|
|
2024-08-05 03:11:04 +00:00
|
|
|
pub use abstract_tree::{Node, Statement};
|
|
|
|
pub use analyzer::Analyzer;
|
2024-08-04 00:23:52 +00:00
|
|
|
pub use identifier::Identifier;
|
2024-08-05 02:15:31 +00:00
|
|
|
pub use lex::{lex, LexError, Lexer};
|
|
|
|
pub use parse::{parse, ParseError, Parser};
|
2024-08-02 20:33:40 +00:00
|
|
|
pub use r#type::Type;
|
2024-08-04 00:23:52 +00:00
|
|
|
pub use token::Token;
|
2024-08-05 02:15:31 +00:00
|
|
|
pub use value::{Value, ValueError};
|
|
|
|
pub use vm::Vm;
|
2024-08-04 00:23:52 +00:00
|
|
|
|
|
|
|
pub type Span = (usize, usize);
|