anchor.diff:          { fa.addParameterList($p2.parameterList); }
         )*
         COMPUTE?
  -      e1=expression
  +      e1=functionOrExpression
         { fa.setExpression($e1.expression); 
           $expression = new Expression(null); 
           $expression.setTerm(fa); }
  
positive.code:     | selfReference
      | nonstringLiteral
      | prefixOperatorStart
      ;
  
  prefixOperatorStart
  
negative.code: functionOrExpression returns [Expression expression]
      @init { FunctionArgument fa = new FunctionArgument(null);
              fa.setType(new FunctionModifier(null)); }
      : (FUNCTION_MODIFIER | anonParametersStart) =>
        (
          FUNCTION_MODIFIER
          { fa.setType(new FunctionModifier($FUNCTION_MODIFIER)); }
        )?
        p1=parameters
        { fa.addParameterList($p1.parameterList); }
  