anchor.diff:          { $expressionList.setEndToken($c); }
           (
             e2=expression 
  -          { $expressionList.addExpression($e2.expression);
  -            $expressionList.setEndToken(null); }
  +          { if ($e2.expression!=null) {
  +                $expressionList.addExpression($e2.expression);
  +                $expressionList.setEndToken(null); } }
           | { displayRecognitionError(getTokenNames(), 
                 new MismatchedTokenException(LIDENTIFIER, input)); } //TODO: sometimes it should be RPAREN!
           )
  
positive.code:       { $positionalArgumentList = new PositionalArgumentList($LPAREN); }
        (
          sa=sequencedArgument
          { if ($sa.sequencedArgument!=null) 
                for (PositionalArgument pa: $sa.sequencedArgument.getPositionalArguments())
                    $positionalArgumentList.addPositionalArgument(pa); }
        )?
        RPAREN
        { $positionalArgumentList.setEndToken($RPAREN); }
  
negative.code:           { $sequencedArgument.setEndToken($c); }
            (
              pa2=positionalArgument
              { if ($pa2.positionalArgument!=null) {
                    $sequencedArgument.addPositionalArgument($pa2.positionalArgument); 
                    sequencedArgument.setEndToken(null); } }
            |
              sa2=spreadArgument
              { if ($sa2.positionalArgument!=null) {
                    $sequencedArgument.addPositionalArgument($sa2.positionalArgument); 
                    sequencedArgument.setEndToken(null); } }
            |
              c2=comprehension
              { if ($c2.comprehension!=null) {
                    $sequencedArgument.addPositionalArgument($c2.comprehension);
                    sequencedArgument.setEndToken(null); } }
            |
              { displayRecognitionError(getTokenNames(), 
                  new MismatchedTokenException(LIDENTIFIER, input)); }
  