mech_interpreter/
lib.rs

1#![allow(warnings)]
2#![feature(step_trait)]
3
4extern crate nalgebra as na;
5#[macro_use]
6extern crate mech_core;
7
8use mech_core::matrix::{Matrix, ToMatrix};
9use mech_core::kind::Kind;
10use mech_core::{Dictionary, Ref, Value, ValueKind, ValRef, ToValue};
11use mech_core::{MechMap, MechFunction, MechRecord, MechTable, MechSet, MechTuple, MechEnum};
12use mech_core::{F64, F32};
13use mech_core::{Functions, FunctionsRef, FunctionDefinition, NativeFunctionCompiler, Plan, UserFunction, SymbolTableRef, SymbolTable};
14use crate::stdlib::{
15                    access::*,
16                    assign::*,
17                    convert::*,
18                    horzcat::*,
19                    vertcat::*,
20                    math::*,
21                    compare::*,
22                  };
23use mech_core::{MechError, MechErrorKind, hash_str, new_ref, MResult, nodes::Kind as NodeKind, nodes::Matrix as Mat, nodes::*};
24
25use mech_matrix::*;
26use mech_stats::*;
27use mech_math::*;
28use mech_logic::*;
29use mech_range::{
30  inclusive::RangeInclusive,
31  exclusive::RangeExclusive,
32};
33
34use na::DMatrix;
35use indexmap::set::IndexSet;
36use indexmap::map::IndexMap;
37
38pub mod literals;
39pub mod structures;
40pub mod interpreter;
41pub mod stdlib;
42pub mod functions;
43pub mod statements;
44pub mod expressions;
45pub mod mechdown;
46
47pub use crate::interpreter::*;
48pub use crate::literals::*;
49pub use crate::structures::*;
50pub use crate::functions::*;
51pub use crate::statements::*;
52pub use crate::expressions::*;
53pub use crate::mechdown::*;