Mercurial > python-compiler.rs
comparison src/ast_type.rs @ 6:6f2bf13f4cb5
Add ast.While and ast.Break.
author | Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> |
---|---|
date | Tue, 31 May 2016 04:22:35 +0100 |
parents | ddf372373a77 |
children | 680d15073f55 |
comparison
equal
deleted
inserted
replaced
5:ddf372373a77 | 6:6f2bf13f4cb5 |
---|---|
82 for statement in orelse { | 82 for statement in orelse { |
83 self.visit_statement(statement); | 83 self.visit_statement(statement); |
84 } | 84 } |
85 Type::Bottom | 85 Type::Bottom |
86 }, | 86 }, |
87 Statement::While(test, body, orelse) => { | |
88 self.visit_expr(test); | |
89 for statement in body { | |
90 self.visit_statement(statement); | |
91 } | |
92 for statement in orelse { | |
93 self.visit_statement(statement); | |
94 } | |
95 Type::Bottom | |
96 }, | |
87 Statement::For(target, iter, body, orelse) => { | 97 Statement::For(target, iter, body, orelse) => { |
88 self.visit_expr(target); | 98 self.visit_expr(target); |
89 self.visit_expr(iter); | 99 self.visit_expr(iter); |
90 for statement in body { | 100 for statement in body { |
91 self.visit_statement(statement); | 101 self.visit_statement(statement); |
123 } | 133 } |
124 Type::Bottom | 134 Type::Bottom |
125 }, | 135 }, |
126 Statement::Expr(expr) => { | 136 Statement::Expr(expr) => { |
127 self.visit_expr(expr) | 137 self.visit_expr(expr) |
138 }, | |
139 Statement::Break => { | |
140 Type::Bottom | |
128 }, | 141 }, |
129 Statement::Error => { | 142 Statement::Error => { |
130 println!("Statement::Error"); | 143 println!("Statement::Error"); |
131 panic!() | 144 panic!() |
132 }, | 145 }, |