1#![allow(improper_ctypes)]
2pub mod ast;
3pub mod builtins;
4pub mod bytecode;
5pub mod config;
6pub mod embed;
7pub mod error;
8pub mod ffi;
9pub mod jit;
10pub mod lexer;
11pub mod modules;
12#[cfg(all(feature = "packages", not(target_arch = "wasm32")))]
13pub mod packages;
14pub mod parser;
15pub mod typechecker;
16pub mod vm;
17#[cfg(target_arch = "wasm32")]
18pub mod wasm;
19pub use ast::{Expr, Item, Span, Stmt, Type};
20pub use bytecode::{Chunk, Compiler, Function, Instruction, Value};
21pub use config::{ConfigError, LustConfig};
22pub use embed::{
23 EmbeddedBuilder, EmbeddedProgram, EnumInstance, FromLustValue, FunctionArgs, IntoLustValue,
24 StructInstance,
25};
26pub use error::{LustError, Result};
27pub use jit::{JitCompiler, JitState};
28pub use lexer::{Lexer, Token, TokenKind};
29pub use modules::{LoadedModule, ModuleImports, ModuleLoader, Program};
30#[cfg(all(feature = "packages", not(target_arch = "wasm32")))]
31pub use packages::{
32 build_local_module, collect_stub_files, load_local_module, stub_files_from_exports,
33 write_stub_files, LoadedRustModule, LocalBuildOutput, LocalModuleError, PackageKind,
34 PackageManager, PackageSpecifier, StubFile,
35};
36pub use parser::Parser;
37pub use typechecker::{FunctionSignature, TypeChecker, TypeCollection};
38pub use vm::{NativeExport, NativeExportParam, VM};