/** * Increment the string pointer by each character in * * <pre>st</pre> * * that matches a non-escaped character. */ public boolean incMatch(String st) { StrPos sp = new StrPos(this); int i; for (i = 0; i < st.length(); i++) { if (!sp.match(st.charAt(i))) return false; sp.inc(); } dup(sp); return true; }
/** Read in an integer. */ public patInt getPatInt() { patInt pi = null; if (incMatch("inf")) return new patInf(); int i, cnt = 0; StrPos sp = new StrPos(this); for (i = 0; !sp.eos && sp.c >= '0' && sp.c <= '9'; i++) { cnt = 10 * cnt + sp.c - '0'; sp.inc(); } if (i == 0) return null; dup(sp); return new patInt(cnt); }