anchor.diff:      ;
   
   statementExpression
  -    : primaryExpression '(' argumentList ')'
  +    : primaryExpression
       | assignmentExpression
       ;
   
  
positive.code: 
  primaryExpression
      : literal                                   # literalExpression
      | IDENTIFIER                                # identifierExpression    
      | '(' expression ')'                        # parenthesizedExpression
      | primaryExpression '.' IDENTIFIER          # memberAccessExpression        
      | primaryExpression '(' argumentList ')'    # invocationExpression
  
negative.code:     ;
  
  literal
      : boolLiteral
      | numberLiteral
      | stringLiteral
      | nullLiteral
      ;
  
  boolLiteral
      : TRUE
      | FALSE
      ;
  
  numberLiteral
      : NUMBER
      ;
  
  stringLiteral
      : STRING
      ;
  
  nullLiteral
      : NULL
      ;
  
  VAR: 'var';
  TRUE: 'true';
  FALSE: 'false';
  
  NUMBER
      : DECIMAL_DIGITS '.' DECIMAL_DIGITS EXPONENT?
  