2024-08-05 04:54:12 +00:00
|
|
|
//! The Dust programming language.
|
|
|
|
//!
|
|
|
|
//! Dust is a statically typed, interpreted programming language.
|
2024-08-05 03:11:04 +00:00
|
|
|
pub mod abstract_tree;
|
|
|
|
pub mod analyzer;
|
2024-08-07 23:44:01 +00:00
|
|
|
pub mod built_in_function;
|
2024-08-10 00:52:13 +00:00
|
|
|
pub mod context;
|
2024-08-09 00:58:56 +00:00
|
|
|
pub mod dust_error;
|
2024-03-25 04:16:55 +00:00
|
|
|
pub mod identifier;
|
2024-08-11 21:24:05 +00:00
|
|
|
pub mod lexer;
|
|
|
|
pub mod parser;
|
2024-08-04 00:23:52 +00:00
|
|
|
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-13 17:54:16 +00:00
|
|
|
pub use abstract_tree::{
|
2024-08-13 20:21:44 +00:00
|
|
|
AbstractSyntaxTree, BinaryOperator, Node, Statement, StructDefinition, StructInstantiation,
|
|
|
|
UnaryOperator,
|
2024-08-13 17:54:16 +00:00
|
|
|
};
|
2024-08-05 04:40:51 +00:00
|
|
|
pub use analyzer::{analyze, Analyzer, AnalyzerError};
|
2024-08-07 23:44:01 +00:00
|
|
|
pub use built_in_function::{BuiltInFunction, BuiltInFunctionError};
|
2024-08-12 08:10:07 +00:00
|
|
|
pub use context::{Context, VariableData};
|
2024-08-09 01:47:49 +00:00
|
|
|
pub use dust_error::DustError;
|
2024-08-04 00:23:52 +00:00
|
|
|
pub use identifier::Identifier;
|
2024-08-11 21:24:05 +00:00
|
|
|
pub use lexer::{lex, LexError, Lexer};
|
|
|
|
pub use parser::{parse, ParseError, Parser};
|
2024-08-13 18:21:31 +00:00
|
|
|
pub use r#type::{StructType, Type};
|
2024-08-12 14:08:34 +00:00
|
|
|
pub use token::{Token, TokenKind, TokenOwned};
|
2024-08-13 17:54:16 +00:00
|
|
|
pub use value::{Struct, Value, ValueError};
|
2024-08-13 16:23:25 +00:00
|
|
|
pub use vm::{run, run_with_context, Vm, VmError};
|
2024-08-04 00:23:52 +00:00
|
|
|
|
|
|
|
pub type Span = (usize, usize);
|