diff --git a/parser/.gitignore b/parser/.gitignore index bbcbef657..f6c89ee83 100644 --- a/parser/.gitignore +++ b/parser/.gitignore @@ -1,3 +1,3 @@ -src/compiler/python.rs +src/python.rs target/ diff --git a/parser/src/compiler/ast.rs b/parser/src/ast.rs similarity index 100% rename from parser/src/compiler/ast.rs rename to parser/src/ast.rs diff --git a/parser/src/compiler/compile.rs b/parser/src/compile.rs similarity index 100% rename from parser/src/compiler/compile.rs rename to parser/src/compile.rs diff --git a/parser/src/compiler/mod.rs b/parser/src/compiler/mod.rs deleted file mode 100644 index 44e2e78eb..000000000 --- a/parser/src/compiler/mod.rs +++ /dev/null @@ -1,21 +0,0 @@ -// This file makes this directory a submodule. - -mod parser; -mod python; -pub mod ast; -mod token; -mod lexer; -// mod compile; -// mod bytecode; -mod builtins; -mod pyobject; -// mod vm; - -pub use self::parser::parse; -// pub use self::vm::evaluate; - - -// Mimic eval code objects: -//pub fn eval_code() -> pyobject::PyObjectRef { - -//} diff --git a/parser/src/compiler/lexer.rs b/parser/src/lexer.rs similarity index 100% rename from parser/src/compiler/lexer.rs rename to parser/src/lexer.rs diff --git a/parser/src/lib.rs b/parser/src/lib.rs index c3e886ddc..ca96b2a58 100644 --- a/parser/src/lib.rs +++ b/parser/src/lib.rs @@ -1,4 +1,12 @@ #[macro_use] extern crate log; -pub mod compiler; +mod parser; +mod python; +pub mod ast; +mod token; +mod lexer; +// mod builtins; +// mod pyobject; + +pub use self::parser::parse; diff --git a/parser/src/main.rs b/parser/src/main.rs deleted file mode 100644 index 5ea21c448..000000000 --- a/parser/src/main.rs +++ /dev/null @@ -1,42 +0,0 @@ -extern crate clap; -#[macro_use] -extern crate log; -extern crate env_logger; -use clap::{Arg, App}; -use std::path::Path; -mod compiler; - - -fn main() { - env_logger::init(); - let matches = App::new("RsPython") - .version("0.0.1") - .author("Windel Bouwman") - .about("Rust implementation of the Python language") - .arg(Arg::with_name("script") - .required(true) - .index(1)) - .arg(Arg::with_name("v") - .short("v") - .multiple(true) - .help("Give the verbosity")) - .get_matches(); - - // Figure out the filename: - let script_file = matches.value_of("script").unwrap_or("foo"); - info!("Running file {}", script_file); - - // Parse an ast from it: - let filepath = Path::new(script_file); - match compiler::parse(filepath) { - Ok(program) => { - debug!("Got ast: {:?}", program); - let bytecode = compiler::compile(program); - debug!("Code object: {:?}", bytecode); - compiler::evaluate(bytecode); - info!("Great succes!!"); - }, - Err(msg) => error!("Parsing went horribly wrong: {}", msg), - } -} - diff --git a/parser/src/compiler/parser.rs b/parser/src/parser.rs similarity index 100% rename from parser/src/compiler/parser.rs rename to parser/src/parser.rs diff --git a/parser/src/compiler/python.lalrpop b/parser/src/python.lalrpop similarity index 100% rename from parser/src/compiler/python.lalrpop rename to parser/src/python.lalrpop diff --git a/parser/src/compiler/token.rs b/parser/src/token.rs similarity index 100% rename from parser/src/compiler/token.rs rename to parser/src/token.rs diff --git a/src/compile_py_code_object.rs b/src/compile_py_code_object.rs index 83c07e935..c93dc9b88 100644 --- a/src/compile_py_code_object.rs +++ b/src/compile_py_code_object.rs @@ -3,7 +3,7 @@ */ extern crate rustpython_parser; extern crate py_code_object; -use rustpython_parser::compiler::ast; +use rustpython_parser::ast; use self::py_code_object::{PyCodeObject, NativeType}; struct Compiler { diff --git a/src/main.rs b/src/main.rs index 7d9582cef..4de734231 100644 --- a/src/main.rs +++ b/src/main.rs @@ -10,7 +10,7 @@ extern crate rustpython_vm; mod compile_py_code_object; use clap::{Arg, App}; use std::path::Path; -use rustpython_parser::compiler; +use rustpython_parser::parse; use rustpython_vm::VirtualMachine; @@ -35,7 +35,7 @@ fn main() { // Parse an ast from it: let filepath = Path::new(script_file); - match compiler::parse(filepath) { + match parse(filepath) { Ok(program) => { debug!("Got ast: {:?}", program); let bytecode = compile_py_code_object::compile(program); diff --git a/parser/src/compiler/builtins.rs b/vm/src/builtins2.rs similarity index 100% rename from parser/src/compiler/builtins.rs rename to vm/src/builtins2.rs