Mercurial > python-compiler.rs
changeset 11:5c169d5807b5
Remove dead code.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Thu, 02 Jun 2016 01:22:28 +0100 |
parents | 3bf4903d1d2c |
children | 0e96c5bc401d |
files | src/ast_scope.rs |
diffstat | 1 files changed, 0 insertions(+), 85 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ast_scope.rs +++ b/src/ast_scope.rs @@ -2,15 +2,6 @@ use python_ast::{Module, Statement, Expr use std::collections::HashMap; -/* -trait Visitor<T> { - fn visit(&mut self, modules: Vec<Module>) -> Vec<T>; - fn visit_module(&mut self, block: &mut Block, module: Module) -> T; - fn visit_statement(&mut self, block: &mut Block, statement: Statement) -> Option<Box<T>>; - fn visit_expr(&mut self, block: &mut Block, expr: Expr) -> (); -} -*/ - #[derive(Debug)] struct Block { statements: Vec<(Statement, Option<Box<Block>>)>, @@ -22,82 +13,6 @@ pub struct Scoping { modules: HashMap<String, Block> } -/* -impl Visitor<Block> for Scoping { - fn visit(&mut self, modules: Vec<Module>) -> Vec<Block> { - println!("Scoping all modules."); - let mut blocks = vec!(); - for module in modules { - let mut block = Block{statements: vec!(), bindings: vec!()}; - let block = self.visit_module(&mut block, module); - blocks.push(block); - } - blocks - } - - fn visit_module(&mut self, block: &mut Block, module: Module) -> Block { - println!("Scoping module {}.", module.name); - for statement in module.statements { - self.visit_statement(block, statement); - } - println!("Module block: {:?}", block); - } - - fn visit_statement(&mut self, block: &mut Block, statement: Statement) -> Option<Box<Block>> { - match statement { - //Statement::ClassDef(a, b, c) => println!("{:?} {:?} {:?}", a, b, c), - Statement::FunctionDef(name, args, statements) => { - block.bindings.push(name.clone()); - //block.statements.insert(module.name, block); - println!("{:?} {:?}", name, args); - let mut function_block = Block{statements: vec!(), bindings: vec!()}; - for statement in statements { - let option = self.visit_statement(block, statement); - function_block.statements.push((statement, option)); - } - Some(Box::new(function_block)) - }, - Statement::For(target, iter, statements, orelse) => { - println!("for"); - for statement in statements { - let option = self.visit_statement(block, statement); - } - block.statements.push(name.clone()); - Some(Box::new()) - }, - Statement::Assign(lhs, rhs) => { - for target in lhs.clone() { - match target.clone() { - Expr::Name(name) => block.bindings.push(name), - _ => panic!() - } - self.visit_expr(block, target); - } - println!("assign {:?} {:?}", lhs, rhs); - Some() - }, - _ => { - println!("something"); - None - } - } - } - - fn visit_expr(&mut self, block: &mut Block, expr: Expr) -> () { - } -} -*/ - -/* -#[allow(dead_code)] -pub fn scope_ast(ast: Module) -> Scoping { - let mut modules = HashMap::new(); - let mut scoping = Scoping{modules: modules}; - scoping.visit(vec!(ast)); - scoping -} -*/ - fn scope_expr(expr: Expr, block: &mut Block) { println!("{:?}", expr); }