anchor.diff:        { $clause = new CaseClause($CASE_CLAUSE); }
         caseItemList
         { $clause.setCaseItem($caseItemList.item); }
  -      disjunctionExpression
  -      { Expression e = new Expression(null);
  -        e.setTerm($disjunctionExpression.term); 
  -        $clause.setExpression(e); }
  +      conditionalBranch
  +      { $clause.setExpression($conditionalBranch.expression); }
       ;
   
   defaultCaseExpression returns [ElseClause clause]
       : ELSE_CLAUSE 
         { $clause = new ElseClause($ELSE_CLAUSE); }
  -      disjunctionExpression
  -      { Expression e = new Expression(null);
  -        e.setTerm($disjunctionExpression.term); 
  -        $clause.setExpression(e); }
  +      conditionalBranch
  +      { $clause.setExpression($conditionalBranch.expression); }
       ;
   
   ifExpression returns [IfExpression term]
  
positive.code: 
  functionOrExpression returns [Expression expression]
      : (FUNCTION_MODIFIER|VOID_MODIFIER|anonParametersStart) =>
        f=anonymousFunction
        { $expression = new Expression(null);
          $expression.setTerm($f.function); }
      | ce=conditionalExpression
        { $expression = new Expression(null); 
          $expression.setTerm($ce.term); }
      | e=expression
        { $expression = $e.expression; }
      | l=let
        { $expression = new Expression(null);
          $expression.setTerm($l.let); }
      ;
  
  let returns [LetExpression let]
  
negative.code:       }
      ;
  
  conditionalBranch returns [Expression expression]
      : conditionalExpression
        { $expression = new Expression(null);
          $expression.setTerm($conditionalExpression.term); }
      | disjunctionExpression
        { $expression = new Expression(null);
          $expression.setTerm($disjunctionExpression.term); }
      ;
  
  thenElseClauses returns [IfClause ifClause, ElseClause elseClause, ConditionList conditionList]
      : conditions
        { $conditionList = $conditions.conditionList; }
        THEN_CLAUSE
        { $ifClause = new IfClause($THEN_CLAUSE); }
        cb1=conditionalBranch
        { $ifClause.setExpression($cb1.expression); }
        ELSE_CLAUSE
        { $elseClause = new ElseClause($ELSE_CLAUSE); }
        cb2=conditionalBranch
        { $elseClause.setExpression($cb2.expression); }
      ;
  
  anonymousFunction returns [FunctionArgument function]
  