Implement ConditionalExpression

Also add tests.

--
MOS_MIGRATED_REVID=88474801
diff --git a/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java b/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
index 342f34e..3fd5508 100644
--- a/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
+++ b/src/test/java/com/google/devtools/build/lib/syntax/EvaluationTest.java
@@ -200,6 +200,19 @@
   }
 
   @Test
+  public void testConditionalExpressions() throws Exception {
+    assertEquals(1, eval("1 if True else 2"));
+    assertEquals(2, eval("1 if False else 2"));
+    assertEquals(3, eval("1 + 2 if 3 + 4 else 5 + 6"));
+
+    syntaxEvents.setFailFast(false);
+    parseExpr("1 if 2");
+    syntaxEvents.assertContainsEvent(
+        "missing else clause in conditional expression or semicolon before if");
+    syntaxEvents.collector().clear();
+  }
+
+  @Test
   public void testCompareStringInt() throws Exception {
     checkEvalError("'a' >= 1", "Cannot compare string with int");
   }