schala/schala-lang/language/src/lib.rs

48 lines
981 B
Rust
Raw Normal View History

2018-07-16 03:40:35 -07:00
#![feature(trace_macros)]
#![feature(custom_attribute)]
//#![feature(unrestricted_attribute_tokens)]
2018-04-03 23:24:13 -07:00
#![feature(slice_patterns, box_patterns, box_syntax)]
2018-11-11 18:04:44 -08:00
//! `schala-lang` is where the Schala programming language is actually implemented.
//! It defines the `Schala` type, which contains the state for a Schala REPL, and implements
//! `ProgrammingLanguageInterface` and the chain of compiler passes for it.
2018-03-23 18:43:43 -07:00
extern crate itertools;
#[macro_use]
extern crate lazy_static;
#[macro_use]
extern crate maplit;
extern crate schala_repl;
2018-05-02 02:14:36 -07:00
#[macro_use]
2018-10-19 09:57:35 -07:00
extern crate schala_lang_codegen;
2019-02-23 00:34:44 -08:00
extern crate ena;
2019-09-18 01:58:38 -07:00
extern crate derivative;
2019-09-25 02:28:24 -07:00
extern crate colored;
2019-10-17 03:15:39 -07:00
extern crate radix_trie;
2018-03-23 18:43:43 -07:00
macro_rules! bx {
($e:expr) => { Box::new($e) }
}
2019-02-17 03:36:12 -08:00
#[macro_use]
mod util;
#[macro_use]
mod typechecking;
2019-08-12 09:51:36 -07:00
mod debugging;
mod tokenizing;
2018-06-04 19:25:40 -07:00
mod ast;
mod parsing;
2019-08-30 19:03:52 -07:00
#[macro_use]
mod symbol_table;
2019-09-03 01:42:28 -07:00
mod scope_resolution;
2019-02-17 03:36:12 -08:00
mod builtin;
2018-06-04 19:12:48 -07:00
mod reduced_ast;
mod eval;
mod source_map;
mod schala;
2018-10-20 14:27:00 -07:00
pub use schala::Schala;