int ch = peek(); for (;;) { switch (ch) {
private int single() { int ch = peek(); switch (ch) { case '\\': return escape(true, false); default: next(); return ch; } }
private int single() { int ch = peek(); switch (ch) { case '\\': return escape(true, false); default: next(); return ch; } }
int ch = peek(); for (;;) { switch (ch) {
int ch = peek(); for (;;) { switch (ch) {
int ch = peek(); for (;;) { switch (ch) {
boolean done = false; while(!done) { int ch = peek(); switch(ch) { case '0':
boolean done = false; while(!done) { int ch = peek(); switch(ch) { case '0':
if (peek() != '|') { return prev;
if (peek() != '|') { return prev;
if (peek() == ')') { throw error("Unmatched closing ')'"); } else {
if (peek() == ')') { throw error("Unmatched closing ')'"); } else {
/** * Utility method for parsing hexadecimal escape sequences. */ private int x() { int n = read(); if (ASCII.isHexDigit(n)) { int m = read(); if (ASCII.isHexDigit(m)) { return ASCII.toDigit(n) * 16 + ASCII.toDigit(m); } } else if (n == '{' && ASCII.isHexDigit(peek())) { int ch = 0; while (ASCII.isHexDigit(n = read())) { ch = (ch << 4) + ASCII.toDigit(n); if (ch > Character.MAX_CODE_POINT) throw error("Hexadecimal codepoint is too big"); } if (n != '}') throw error("Unclosed hexadecimal escape sequence"); return ch; } throw error("Illegal hexadecimal escape sequence"); }
/** * Utility method for parsing hexadecimal escape sequences. */ private int x() { int n = read(); if (ASCII.isHexDigit(n)) { int m = read(); if (ASCII.isHexDigit(m)) { return ASCII.toDigit(n) * 16 + ASCII.toDigit(m); } } else if (n == '{' && ASCII.isHexDigit(peek())) { int ch = 0; while (ASCII.isHexDigit(n = read())) { ch = (ch << 4) + ASCII.toDigit(n); if (ch > Character.MAX_CODE_POINT) throw error("Hexadecimal codepoint is too big"); } if (n != '}') throw error("Unclosed hexadecimal escape sequence"); return ch; } throw error("Illegal hexadecimal escape sequence"); }
LOOP: for (;;) { int ch = peek(); switch (ch) { case '(':