Refactor into libs part II
woo it compiles
This commit is contained in:
parent
a6f8616839
commit
69d5f38ea1
@ -23,16 +23,16 @@ use std::io::{Read, Write};
|
||||
use std::process::exit;
|
||||
use std::default::Default;
|
||||
|
||||
mod language;
|
||||
pub mod language;
|
||||
use language::{ProgrammingLanguageInterface, EvalOptions, LLVMCodeString};
|
||||
mod webapp;
|
||||
mod llvm_wrap;
|
||||
pub mod llvm_wrap;
|
||||
|
||||
include!(concat!(env!("OUT_DIR"), "/static.rs"));
|
||||
|
||||
type PLIGenerator = Box<Fn() -> Box<ProgrammingLanguageInterface> + Send + Sync>;
|
||||
pub type PLIGenerator = Box<Fn() -> Box<ProgrammingLanguageInterface> + Send + Sync>;
|
||||
|
||||
fn schala_main(generators: Vec<PLIGenerator>) {
|
||||
pub fn schala_main(generators: Vec<PLIGenerator>) {
|
||||
let languages: Vec<Box<ProgrammingLanguageInterface>> = generators.iter().map(|x| x()).collect();
|
||||
|
||||
let option_matches = program_options().parse(std::env::args()).unwrap_or_else(|e| {
|
||||
|
@ -6,9 +6,9 @@ use self::llvm_sys::prelude::*;
|
||||
use self::llvm_sys::{LLVMIntPredicate};
|
||||
|
||||
use maaru_lang::parser::{AST, Statement, Function, Prototype, Expression, BinOp};
|
||||
use language::LLVMCodeString;
|
||||
use schala_lib::language::LLVMCodeString;
|
||||
|
||||
use llvm_wrap as LLVMWrap;
|
||||
use schala_lib::llvm_wrap as LLVMWrap;
|
||||
|
||||
type VariableMap = HashMap<String, LLVMValueRef>;
|
||||
|
||||
|
@ -3,7 +3,7 @@ pub mod parser;
|
||||
pub mod eval;
|
||||
pub mod compilation;
|
||||
|
||||
use language::{ProgrammingLanguageInterface, EvalOptions, ReplOutput, TraceArtifact, LLVMCodeString};
|
||||
use schala_lib::language::{ProgrammingLanguageInterface, EvalOptions, ReplOutput, TraceArtifact, LLVMCodeString};
|
||||
|
||||
pub use self::eval::Evaluator as MaaruEvaluator;
|
||||
|
||||
|
@ -5,7 +5,7 @@ use std::str::Chars;
|
||||
use self::itertools::Itertools;
|
||||
use std::rc::Rc;
|
||||
|
||||
use language::TokenError;
|
||||
use schala_lib::language::TokenError;
|
||||
|
||||
#[derive(Debug, Clone, PartialEq)]
|
||||
pub enum Token {
|
||||
|
@ -29,6 +29,7 @@ mod robo_lang;
|
||||
|
||||
extern crate schala_lib;
|
||||
use schala_lib::{PLIGenerator, schala_main};
|
||||
use schala_lib::language::ProgrammingLanguageInterface;
|
||||
|
||||
#[link_args="-ltinfo"]
|
||||
extern { }
|
||||
@ -39,8 +40,6 @@ fn main() {
|
||||
Box::new(|| { let x: Box<ProgrammingLanguageInterface> = Box::new(maaru_lang::Maaru::new()); x }),
|
||||
Box::new(|| { let x: Box<ProgrammingLanguageInterface> = Box::new(robo_lang::Robo::new()); x }),
|
||||
];
|
||||
|
||||
schala_main(generators);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
use itertools::Itertools;
|
||||
|
||||
use language::{ProgrammingLanguageInterface, EvalOptions, ReplOutput, TokenError};
|
||||
use schala_lib::language::{ProgrammingLanguageInterface, EvalOptions, ReplOutput, TokenError};
|
||||
|
||||
pub struct Robo {
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
use itertools::Itertools;
|
||||
use language::{ProgrammingLanguageInterface, EvalOptions, TraceArtifact, ReplOutput};
|
||||
use schala_lib::language::{ProgrammingLanguageInterface, EvalOptions, TraceArtifact, ReplOutput};
|
||||
|
||||
mod parsing;
|
||||
mod type_check;
|
||||
|
Loading…
Reference in New Issue
Block a user