diff --git a/src/expr.rs b/src/expr.rs
index 64e864d..c2310ce 100644
--- a/src/expr.rs
+++ b/src/expr.rs
@@ -357,7 +357,8 @@
             |
             expr_if
             // TODO: IfLet
-            // TODO: While
+            |
+            expr_while
             // TODO: WhileLet
             // TODO: ForLoop
             // TODO: Loop
@@ -561,6 +562,18 @@
         ))
     ));
 
+    named!(expr_while -> Expr, do_parse!(
+        lt: option!(terminated!(lifetime, punct!(":"))) >>
+        punct!("while") >>
+        cond: expr >>
+        while_block: block >>
+        (Expr::While(
+            Box::new(cond),
+            Box::new(while_block),
+            lt.map(|lt| lt.ident),
+        ))
+    ));
+
     named!(expr_block -> Expr, map!(block, |b| Expr::Block(Box::new(b))));
 
     named!(block -> Block, do_parse!(
diff --git a/tests/test_expr.rs b/tests/test_expr.rs
index 587102f..b38da8e 100644
--- a/tests/test_expr.rs
+++ b/tests/test_expr.rs
@@ -41,3 +41,35 @@
 
     assert_eq!(expected, parse_expr(raw).unwrap());
 }
+
+#[test]
+// Ignore test until bool parsing is available
+#[ignore]
+fn test_unnamed_while() {
+    let block = match parse_expr("{ ( 1, 3, 8 ) }").unwrap() {
+        Expr::Block(b) => b,
+        _ => panic!("Could not run test_unnamed_while: error in block parse."),
+    };
+
+    let raw = "while true {(1, 3, 8 )}";
+
+    let expected = Expr::While(Box::new(Expr::Lit(Lit::Bool(true))), block, None);
+
+    assert_eq!(expected, parse_expr(raw).unwrap());
+}
+
+#[test]
+// Ignore test until bool parsing is available
+#[ignore]
+fn test_named_while() {
+    let block = match parse_expr("{ ( 1, 5, 9, 11) }").unwrap() {
+        Expr::Block(b) => b,
+        _ => panic!("Could not run named_while: error in block parse."),
+    };
+
+    let raw = "' test :  while true {(1, 5, 9, 11)}";
+
+    let expected = Expr::While(Box::new(Expr::Lit(Lit::Bool(true))), block, Some("'test".into()));
+
+    assert_eq!(expected, parse_expr(raw).unwrap());
+}
