return new InstanceOfExpr(getLocation(), expr, parseIdentifier());
Location location = getLocation();  token = parseToken(); _peekToken = token;  if (token == '$') return new InstanceOfVarExpr(location, expr, parseShiftExpr()); else return new InstanceOfExpr(location, expr, parseIdentifier());
  private Expr parseCmpExpr()    throws IOException  {    Expr expr = parseShiftExpr();    int token = parseToken();    switch (token) {    case '<':      return new LtExpr(getLocation(), expr, parseShiftExpr());    case '>':      return new GtExpr(getLocation(), expr, parseShiftExpr());    case LEQ:      return new LeqExpr(getLocation(), expr, parseShiftExpr());    case GEQ:      return new GeqExpr(getLocation(), expr, parseShiftExpr());    case INSTANCEOF:      return new InstanceOfExpr(getLocation(), expr, parseIdentifier());          default:      _peekToken = token;      return expr;    }  }