move schala into separate crate
This commit is contained in:
parent
34086b3b2b
commit
f181e2f284
@ -16,6 +16,7 @@ schala-repl = { path = "schala-repl" }
|
|||||||
maaru-lang = { path = "maaru" }
|
maaru-lang = { path = "maaru" }
|
||||||
rukka-lang = { path = "rukka" }
|
rukka-lang = { path = "rukka" }
|
||||||
robo-lang = { path = "robo" }
|
robo-lang = { path = "robo" }
|
||||||
|
schala-lang = { path = "schala-lang" }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
includedir_codegen = "0.2.0"
|
includedir_codegen = "0.2.0"
|
||||||
|
12
schala-lang/Cargo.toml
Normal file
12
schala-lang/Cargo.toml
Normal 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" }
|
@ -1,7 +1,7 @@
|
|||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
|
|
||||||
use schala_lang::typechecking::{Type, TypeResult, TConst};
|
use typechecking::{Type, TypeResult, TConst};
|
||||||
use self::Type::*; use self::TConst::*;
|
use self::Type::*; use self::TConst::*;
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Clone)]
|
#[derive(Debug, PartialEq, Clone)]
|
@ -4,8 +4,8 @@ use std::fmt::Write;
|
|||||||
|
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
|
|
||||||
use schala_lang::parsing::{AST, Statement, Declaration, Expression, Variant, ExpressionType};
|
use parsing::{AST, Statement, Declaration, Expression, Variant, ExpressionType};
|
||||||
use schala_lang::builtin::{BinOp, PrefixOp};
|
use builtin::{BinOp, PrefixOp};
|
||||||
|
|
||||||
pub struct State<'a> {
|
pub struct State<'a> {
|
||||||
parent_frame: Option<&'a State<'a>>,
|
parent_frame: Option<&'a State<'a>>,
|
@ -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 itertools::Itertools;
|
||||||
use schala_repl::{ProgrammingLanguageInterface, EvalOptions, TraceArtifact, UnfinishedComputation, FinishedComputation};
|
use schala_repl::{ProgrammingLanguageInterface, EvalOptions, TraceArtifact, UnfinishedComputation, FinishedComputation};
|
||||||
|
|
@ -2,11 +2,11 @@ use std::rc::Rc;
|
|||||||
use std::iter::Peekable;
|
use std::iter::Peekable;
|
||||||
use std::vec::IntoIter;
|
use std::vec::IntoIter;
|
||||||
|
|
||||||
use schala_lang::tokenizing::*;
|
use tokenizing::*;
|
||||||
use schala_lang::tokenizing::Kw::*;
|
use tokenizing::Kw::*;
|
||||||
use schala_lang::tokenizing::TokenType::*;
|
use tokenizing::TokenType::*;
|
||||||
|
|
||||||
use schala_lang::builtin::{BinOp, PrefixOp};
|
use builtin::{BinOp, PrefixOp};
|
||||||
|
|
||||||
/* Schala EBNF Grammar */
|
/* Schala EBNF Grammar */
|
||||||
/* Terminal productions are in 'single quotes' or UPPERCASE if they are a class
|
/* Terminal productions are in 'single quotes' or UPPERCASE if they are a class
|
@ -2,7 +2,7 @@ use std::collections::HashMap;
|
|||||||
use std::rc::Rc;
|
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
|
// from Niko's talk
|
||||||
/* fn type_check(expression, expected_ty) -> Ty {
|
/* fn type_check(expression, expected_ty) -> Ty {
|
@ -6,7 +6,7 @@ use std::fmt::Write;
|
|||||||
|
|
||||||
use itertools::Itertools;
|
use itertools::Itertools;
|
||||||
|
|
||||||
use schala_lang::parsing;
|
use parsing;
|
||||||
|
|
||||||
pub struct TypeContext {
|
pub struct TypeContext {
|
||||||
type_var_count: u64,
|
type_var_count: u64,
|
@ -6,13 +6,12 @@ extern crate lazy_static;
|
|||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate maplit;
|
extern crate maplit;
|
||||||
|
|
||||||
|
extern crate schala_repl;
|
||||||
|
|
||||||
extern crate maaru_lang;
|
extern crate maaru_lang;
|
||||||
extern crate rukka_lang;
|
extern crate rukka_lang;
|
||||||
extern crate robo_lang;
|
extern crate robo_lang;
|
||||||
|
extern crate schala_lang;
|
||||||
mod schala_lang;
|
|
||||||
|
|
||||||
extern crate schala_repl;
|
|
||||||
use schala_repl::{PLIGenerator, schala_main};
|
use schala_repl::{PLIGenerator, schala_main};
|
||||||
|
|
||||||
extern { }
|
extern { }
|
||||||
|
Loading…
Reference in New Issue
Block a user