Parsing of remaining expression types
diff --git a/src/op.rs b/src/op.rs
index a27f6a2..ffe181f 100644
--- a/src/op.rs
+++ b/src/op.rs
@@ -90,6 +90,29 @@
punct!(">") => { |_| BinOp::Gt }
));
+ #[cfg(feature = "full")]
+ named!(pub assign_op -> BinOp, alt!(
+ punct!("+=") => { |_| BinOp::Add }
+ |
+ punct!("-=") => { |_| BinOp::Sub }
+ |
+ punct!("*=") => { |_| BinOp::Mul }
+ |
+ punct!("/=") => { |_| BinOp::Div }
+ |
+ punct!("%=") => { |_| BinOp::Rem }
+ |
+ punct!("^=") => { |_| BinOp::BitXor }
+ |
+ punct!("&=") => { |_| BinOp::BitAnd }
+ |
+ punct!("|=") => { |_| BinOp::BitOr }
+ |
+ punct!("<<=") => { |_| BinOp::Shl }
+ |
+ punct!(">>=") => { |_| BinOp::Shr }
+ ));
+
named!(pub unop -> UnOp, alt!(
punct!("*") => { |_| UnOp::Deref }
|