1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
//! kes implementation in Rust //! ## Examples //! ```rust //! use kes::builtin::RecordBuiltin; //! use kes::context::Context; //! use kes::program::Program; //! use futures_executor::block_on; //! let source = "$1 = 1 + 2; @$1;"; //! let program = Program::from_source(source).unwrap(); //! let mut builtin = RecordBuiltin::new(); //! let mut ctx = Context::new(&program); //! block_on(ctx.run(&mut builtin)).unwrap(); //! assert_eq!(builtin.text(), "3"); //! ``` use lalrpop_util::lalrpop_mod; pub mod ast; pub mod builtin; mod compiler; pub mod context; pub mod error; pub mod formatter; lalrpop_mod!( #[allow(unused)] grammar ); mod instruction; pub mod interner; mod lexer; pub mod location; mod operator; pub mod parser; pub mod program; mod token; pub mod value; pub use async_trait::async_trait;