move schala into separate crate

This commit is contained in:
greg 2018-03-23 18:43:43 -07:00
parent 072eeaa127
commit 6f43c3b81d
10 changed files with 34 additions and 13 deletions

View File

@ -16,6 +16,7 @@ schala-repl = { path = "schala-repl" }
maaru-lang = { path = "maaru" }
rukka-lang = { path = "rukka" }
robo-lang = { path = "robo" }
schala-lang = { path = "schala-lang" }
[build-dependencies]
includedir_codegen = "0.2.0"

12
schala-lang/Cargo.toml Normal file
View File

@ -0,0 +1,12 @@
[package]
name = "schala-lang"
version = "0.1.0"
authors = ["greg <greg.shuflin@protonmail.com>"]
[dependencies]
itertools = "0.5.8"
take_mut = "0.1.3"
maplit = "*"
lazy_static = "0.2.8"
schala-repl = { path = "../schala-repl" }

View File

@ -1,7 +1,7 @@
use std::rc::Rc;
use std::collections::HashMap;
use schala_lang::typechecking::{Type, TypeResult, TConst};
use typechecking::{Type, TypeResult, TConst};
use self::Type::*; use self::TConst::*;
#[derive(Debug, PartialEq, Clone)]

View File

@ -4,8 +4,8 @@ use std::fmt::Write;
use itertools::Itertools;
use schala_lang::parsing::{AST, Statement, Declaration, Expression, Variant, ExpressionType};
use schala_lang::builtin::{BinOp, PrefixOp};
use parsing::{AST, Statement, Declaration, Expression, Variant, ExpressionType};
use builtin::{BinOp, PrefixOp};
pub struct State<'a> {
parent_frame: Option<&'a State<'a>>,

View File

@ -1,3 +1,12 @@
#![feature(advanced_slice_patterns, slice_patterns, box_patterns, box_syntax)]
extern crate itertools;
#[macro_use]
extern crate lazy_static;
#[macro_use]
extern crate maplit;
extern crate schala_repl;
use itertools::Itertools;
use schala_repl::{ProgrammingLanguageInterface, EvalOptions, TraceArtifact, UnfinishedComputation, FinishedComputation};

View File

@ -2,11 +2,11 @@ use std::rc::Rc;
use std::iter::Peekable;
use std::vec::IntoIter;
use schala_lang::tokenizing::*;
use schala_lang::tokenizing::Kw::*;
use schala_lang::tokenizing::TokenType::*;
use tokenizing::*;
use tokenizing::Kw::*;
use tokenizing::TokenType::*;
use schala_lang::builtin::{BinOp, PrefixOp};
use builtin::{BinOp, PrefixOp};
/* Schala EBNF Grammar */
/* Terminal productions are in 'single quotes' or UPPERCASE if they are a class

View File

@ -2,7 +2,7 @@ use std::collections::HashMap;
use std::rc::Rc;
use schala_lang::parsing::{AST, Statement, Declaration, Signature, Expression, ExpressionType, Operation, Variant, TypeName, TypeSingletonName};
use parsing::{AST, Statement, Declaration, Signature, Expression, ExpressionType, Operation, Variant, TypeName, TypeSingletonName};
// from Niko's talk
/* fn type_check(expression, expected_ty) -> Ty {

View File

@ -6,7 +6,7 @@ use std::fmt::Write;
use itertools::Itertools;
use schala_lang::parsing;
use parsing;
pub struct TypeContext {
type_var_count: u64,

View File

@ -6,13 +6,12 @@ extern crate lazy_static;
#[macro_use]
extern crate maplit;
extern crate schala_repl;
extern crate maaru_lang;
extern crate rukka_lang;
extern crate robo_lang;
mod schala_lang;
extern crate schala_repl;
extern crate schala_lang;
use schala_repl::{PLIGenerator, schala_main};
extern { }