void setMemNode(int num, EncloseNode node) { if (numMem >= num) { memNodes[num] = node; } else { throw new InternalException(ErrorMessages.PARSER_BUG); } }
@Override public String getName() { switch (type) { case ALT: return "Alt"; case LIST: return "List"; default: throw new InternalException(ErrorMessages.PARSER_BUG); } }
@Override public String getName() { switch (type) { case ALT: return "Alt"; case LIST: return "List"; default: throw new InternalException(ErrorMessages.PARSER_BUG); } }
void setMemNode(int num, EncloseNode node) { if (numMem >= num) { memNodes[num] = node; } else { throw new InternalException(ErrorMessages.PARSER_BUG); } }
protected void newInternalException(String message) { throw new InternalException(message); } }
protected void newInternalException(String message) { throw new InternalException(message); } }
protected void newInternalException(String message) { throw new InternalException(message); }
protected void newInternalException(String message) { throw new InternalException(message); }
private void nullCheckFound() { // null_check_found: /* empty loop founded, skip next instruction */ switch(code[ip++]) { case OPCode.JUMP: case OPCode.PUSH: ip++; // p += SIZE_RELADDR; break; case OPCode.REPEAT_INC: case OPCode.REPEAT_INC_NG: case OPCode.REPEAT_INC_SG: case OPCode.REPEAT_INC_NG_SG: ip++; // p += SIZE_MEMNUM; break; default: throw new InternalException(ErrorMessages.UNEXPECTED_BYTECODE); } // switch }
private void nullCheckFound() { // null_check_found: /* empty loop founded, skip next instruction */ switch(code[ip++]) { case OPCode.JUMP: case OPCode.PUSH: ip++; // p += SIZE_RELADDR; break; case OPCode.REPEAT_INC: case OPCode.REPEAT_INC_NG: case OPCode.REPEAT_INC_SG: case OPCode.REPEAT_INC_NG_SG: ip++; // p += SIZE_MEMNUM; break; default: throw new InternalException(ErrorMessages.UNEXPECTED_BYTECODE); } // switch }
int addMemEntry() { if (numMem >= Config.MAX_CAPTURE_GROUP_NUM) throw new InternalException(ErrorMessages.TOO_MANY_CAPTURE_GROUPS); if (numMem++ == 0) { memNodes = new EncloseNode[Config.SCANENV_MEMNODES_SIZE]; } else if (numMem >= memNodes.length) { EncloseNode[]tmp = new EncloseNode[memNodes.length << 1]; System.arraycopy(memNodes, 0, tmp, 0, memNodes.length); memNodes = tmp; } return numMem; }
int addMemEntry() { if (numMem >= Config.MAX_CAPTURE_GROUP_NUM) throw new InternalException(ErrorMessages.TOO_MANY_CAPTURE_GROUPS); if (numMem++ == 0) { memNodes = new EncloseNode[Config.SCANENV_MEMNODES_SIZE]; } else if (numMem >= memNodes.length) { EncloseNode[]tmp = new EncloseNode[memNodes.length << 1]; System.arraycopy(memNodes, 0, tmp, 0, memNodes.length); memNodes = tmp; } return numMem; }
public void fix(Regex regex) { for (int i=0; i<num; i++) { EncloseNode en = targets[i]; if (!en.isAddrFixed()) new InternalException(ErrorMessages.PARSER_BUG); regex.code[offsets[i]] = en.callAddr; // is this safe ? } }
public void fix(Regex regex) { for (int i=0; i<num; i++) { EncloseNode en = targets[i]; if (!en.isAddrFixed()) new InternalException(ErrorMessages.PARSER_BUG); regex.code[offsets[i]] = en.callAddr; // is this safe ? } }
public int nameToBackrefNumber(byte[]name, int nameP, int nameEnd, Region region) { NameEntry e = nameToGroupNumbers(name, nameP, nameEnd); if (e == null) throw new ValueException(ErrorMessages.UNDEFINED_NAME_REFERENCE, new String(name, nameP, nameEnd - nameP)); switch(e.backNum) { case 0: throw new InternalException(ErrorMessages.PARSER_BUG); case 1: return e.backRef1; default: if (region != null) { for (int i = e.backNum - 1; i >= 0; i--) { if (region.beg[e.backRefs[i]] != Region.REGION_NOTPOS) return e.backRefs[i]; } } return e.backRefs[e.backNum - 1]; } }
public int nameToBackrefNumber(byte[]name, int nameP, int nameEnd, Region region) { NameEntry e = nameToGroupNumbers(name, nameP, nameEnd); if (e == null) throw new ValueException(ErrorMessages.UNDEFINED_NAME_REFERENCE, new String(name, nameP, nameEnd - nameP)); switch(e.backNum) { case 0: throw new InternalException(ErrorMessages.PARSER_BUG); case 1: return e.backRef1; default: if (region != null) { for (int i = e.backNum - 1; i >= 0; i--) { if (region.beg[e.backRefs[i]] != Region.REGION_NOTPOS) return e.backRefs[i]; } } return e.backRefs[e.backNum - 1]; } }
throw new InternalException("undefined code: " + code[--bp]);
throw new InternalException("undefined code: " + code[--bp]);
throw new InternalException(ErrorMessages.PARSER_BUG);
throw new InternalException(ErrorMessages.PARSER_BUG);