Mercurial > python-compiler.rs
comparison src/ast_dump.rs @ 3:326d7f2a94d4
Remove useless abstraction of function name as Expr.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Tue, 31 May 2016 02:36:24 +0100 |
parents | 5fc7c2790d8c |
children | f27a4aee9dfa |
comparison
equal
deleted
inserted
replaced
2:5fc7c2790d8c | 3:326d7f2a94d4 |
---|---|
79 for statement in body { | 79 for statement in body { |
80 statements.push(statement.to_string(indent + 1)); | 80 statements.push(statement.to_string(indent + 1)); |
81 } | 81 } |
82 statements.join("\n") | 82 statements.join("\n") |
83 }), | 83 }), |
84 Statement::FunctionDef(Expr::Name(name), arguments, body) => format!("{}def {}({}):\n{}", make_indent(indent), name, { | 84 Statement::FunctionDef(name, arguments, body) => format!("{}def {}({}):\n{}", make_indent(indent), name, { |
85 let mut args = vec!(); | 85 let mut args = vec!(); |
86 for arg in arguments { | 86 for arg in arguments { |
87 args.push(arg.to_string()); | 87 args.push(arg.to_string()); |
88 } | 88 } |
89 args.join(", ") | 89 args.join(", ") |
92 for statement in body { | 92 for statement in body { |
93 statements.push(statement.to_string(indent + 1)); | 93 statements.push(statement.to_string(indent + 1)); |
94 } | 94 } |
95 statements.join("\n") | 95 statements.join("\n") |
96 }), | 96 }), |
97 Statement::FunctionDef(_, _, _) => format!("error!"), | |
98 Statement::Global(names) => format!("{}global {}", make_indent(indent), names.join(", ")), | 97 Statement::Global(names) => format!("{}global {}", make_indent(indent), names.join(", ")), |
99 Statement::If(test, body, orelse) => format!("{}if {}:\n{}", make_indent(indent), test.to_string(), { | 98 Statement::If(test, body, orelse) => format!("{}if {}:\n{}", make_indent(indent), test.to_string(), { |
100 let mut statements = vec!(); | 99 let mut statements = vec!(); |
101 for arg in body { | 100 for arg in body { |
102 statements.push(arg.to_string(indent + 1)); | 101 statements.push(arg.to_string(indent + 1)); |