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
39
40
41
//TODO @mark: disable unused stuff later, but currently too much in-progress
#![allow(unused_variables, dead_code, unused_imports)]

//use crate::io::fortest::stringreader::StringReader;
//use crate::lexing::combi_lexer::CombiLexer;
//use crate::lexing::util::lex_all::lex_all;
//use crate::parsing::parse_expression;
use std::io::{Read, Write};

//use crate::lexing::combi_lexer::CombiLexer;
//use crate::lexing::util::lex_all::lex_all;
//use crate::parsing::parse_expression;

// Utilities
pub(crate) mod common;
pub(crate) mod io;
pub(crate) mod util;

// Types
pub(crate) mod parselet;
pub(crate) mod ir;
pub(crate) mod sem;

pub(crate) mod lexing;
pub(crate) mod lexeme;
pub(crate) mod parsing;

// Operations
pub(crate) mod optimizing;
pub(crate) mod reducing;
pub(crate) mod semanticating;
pub(crate) mod typing;

pub(crate) mod towasm;

pub fn run<R: Read, O: Write, E: Write>(source: &str, inp: &R, out: &O, err: &E) {
    //    let lex = lex_all(&mut CombiLexer::new(Box::new(StringReader::new(source.to_owned()))));
    //
    //    //TODO @mark: use result
    //    parse_expression(lex);
}