Mercurial > python-compiler.rs
comparison src/ast_dump.rs @ 85:09f5e0d7bcf3
Fix chained Compare dumping.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Wed, 22 Jun 2016 22:50:12 +0100 |
parents | ff6b1aeb544a |
children | a7b1db623f41 |
comparison
equal
deleted
inserted
replaced
84:ff6b1aeb544a | 85:09f5e0d7bcf3 |
---|---|
179 expr::BinOp(a, op, b) => format!("{} {} {}", a.to_string(), op.to_string(), b.to_string()), | 179 expr::BinOp(a, op, b) => format!("{} {} {}", a.to_string(), op.to_string(), b.to_string()), |
180 expr::UnaryOp(op, operand) => format!("{}{}", op.to_string(), operand.to_string()), | 180 expr::UnaryOp(op, operand) => format!("{}{}", op.to_string(), operand.to_string()), |
181 | 181 |
182 expr::Compare(left, ops, comparators) => format!("{} {}", left.to_string(), { | 182 expr::Compare(left, ops, comparators) => format!("{} {}", left.to_string(), { |
183 let mut arguments = vec!(); | 183 let mut arguments = vec!(); |
184 | 184 for (op, comparator) in ops.iter().zip(comparators.iter()) { |
185 // XXX: wrong order! | |
186 for op in ops { | |
187 arguments.push(op.to_string().to_string()) | |
188 } | |
189 for comparator in comparators { | |
190 arguments.push(comparator.to_string()) | |
191 } | |
192 /* | |
193 for (op, comparator) in ops.zip(comparators) { | |
194 let op = op.unwrap(); | |
195 let comparator = comparator.unwrap(); | |
196 arguments.push(format!("{} {}", op.to_string(), comparator.to_string())) | 185 arguments.push(format!("{} {}", op.to_string(), comparator.to_string())) |
197 } | 186 } |
198 */ | |
199 | |
200 arguments.join(" ") | 187 arguments.join(" ") |
201 }), | 188 }), |
202 expr::Call(func, args, keywords) => format!("{}({})", func.to_string(), { | 189 expr::Call(func, args, keywords) => format!("{}({})", func.to_string(), { |
203 let mut arguments = vec!(); | 190 let mut arguments = vec!(); |
204 let args = vec_to_strings_vec(args); | 191 let args = vec_to_strings_vec(args); |