diff src/python_ast.rs @ 5:ddf372373a77

Add ast.For, ast.UnaryOp, and Sub and Div to ast.BinOp.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Tue, 31 May 2016 04:15:00 +0100
parents f27a4aee9dfa
children 6f2bf13f4cb5
line wrap: on
line diff
--- a/src/python_ast.rs
+++ b/src/python_ast.rs
@@ -10,15 +10,17 @@ pub enum Statement {
     FunctionDef(String, Vec<Expr>, Vec<Statement>),
     Global(Vec<String>),
     If(Expr, Vec<Statement>, Vec<Statement>),
+    For(Expr, Expr, Vec<Statement>, Vec<Statement>),
     Assign(Vec<Expr>, Expr),
     Return(Expr),
     ImportFrom(String, Vec<Expr>),
     Expr(Expr),
-    Error,
+    Error
 }
 
 #[derive(Clone, Debug, PartialEq, Eq, Hash)]
 pub enum Expr {
+    UnaryOp(UnaryOp, Box<Expr>),
     BinOp(Box<Expr>, BinOp, Box<Expr>),
     Compare(Box<Expr>, Vec<BinOp>, Vec<Expr>),
     Call(Box<Expr>, Vec<Expr>),
@@ -32,10 +34,19 @@ pub enum Expr {
 }
 
 #[derive(Clone, Debug, PartialEq, Eq, Hash)]
+pub enum UnaryOp {
+    UAdd,
+    USub,
+    Error
+}
+
+#[derive(Clone, Debug, PartialEq, Eq, Hash)]
 pub enum BinOp {
     BinAdd,
     BinMult,
     BinEq,
     BinLt,
-    Error,
+    Sub,
+    Div,
+    Error
 }