Incorrect Parsing of simple arithmetic grammar in ANTLR
===

I recently started studying ANTLR. Below is the grammar for the arithmetic expression.
The problem is that when I am putting(calling) expression rule in the term rule then it is parsing incorrectly even for (9+8) .. it is somehow ignoring the right paren..

while when I put add rule instead of calling expression rule from the rule term.. it is working fine.
as in 

  term:
  INTEGER
  | '(' add ')'
  ;

Can anyone tell me why it is happening because more or les they both are the same. 

Grammer for which it is giving incorrect results

term
  :
  INTEGER
  | '(' expression ')'
  ;

mult
  :
  term ('**' term)*
  ;

add
  :
  mult ('+' mult)*
  ;

expression
  :
  add
  ;
  