private void visitAltBranch(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_ALT_BRANCH == data[i]); i++;//skip over the ID; i++; i++; int destination = i + ((((int)data[i-2])<<15) | (0x7FFF&data[i-1])); visitPatterns(pv,i,buffer,bufferPosition); visitPatterns(pv,destination,buffer,bufferPosition); }
private void visitRun(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_RUN == data[i]); i++;//skip over the ID; int runLen = data[i++]; for(int j=0;j<runLen;j++) { buffer[j+bufferPosition] = (byte)data[j+i]; } bufferPosition+=runLen; i+=runLen; visitPatterns(pv,i,buffer,bufferPosition); }
private void visitNumeric(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_VALUE_NUMERIC == data[i]); i++;//skip over the ID; buffer[bufferPosition++] = TYPE_VALUE_NUMERIC; buffer[bufferPosition++] = (byte)data[i++]; //type visitPatterns(pv,i,buffer,bufferPosition); }
private void visitAltBranch(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_ALT_BRANCH == data[i]); i++;//skip over the ID; i++; i++; int destination = i + ((((int)data[i-2])<<15) | (0x7FFF&data[i-1])); visitPatterns(pv,i,buffer,bufferPosition); visitPatterns(pv,destination,buffer,bufferPosition); }
private void visitRun(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_RUN == data[i]); i++;//skip over the ID; int runLen = data[i++]; for(int j=0;j<runLen;j++) { buffer[j+bufferPosition] = (byte)data[j+i]; } bufferPosition+=runLen; i+=runLen; visitPatterns(pv,i,buffer,bufferPosition); }
private void visitNumeric(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_VALUE_NUMERIC == data[i]); i++;//skip over the ID; buffer[bufferPosition++] = TYPE_VALUE_NUMERIC; buffer[bufferPosition++] = (byte)data[i++]; //type visitPatterns(pv,i,buffer,bufferPosition); }
private void visitBytes(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_VALUE_BYTES == data[i]); i++;//skip over the ID; buffer[bufferPosition++] = TYPE_VALUE_BYTES; buffer[bufferPosition++] = (byte)data[i++]; //stopper visitPatterns(pv,i,buffer,bufferPosition); }
private void visitNumeric(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_VALUE_NUMERIC == data[i]); i++;//skip over the ID; buffer[bufferPosition++] = TYPE_VALUE_NUMERIC; buffer[bufferPosition++] = (byte)data[i++]; //type visitPatterns(pv,i,buffer,bufferPosition); }
private void visitNomBranch(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_BRANCH_VALUE == data[i]); i++;//skip over the ID; short mask = data[i++]; i++; i++; int destination = i + ((((int)data[i-2])<<15) | (0x7FFF&data[i-1])); visitPatterns(pv,i,buffer,bufferPosition); visitPatterns(pv,destination,buffer,bufferPosition); }
private void visitBytes(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_VALUE_BYTES == data[i]); i++;//skip over the ID; buffer[bufferPosition++] = TYPE_VALUE_BYTES; buffer[bufferPosition++] = (byte)data[i++]; //stopper visitPatterns(pv,i,buffer,bufferPosition); }
private void visitNomBranch(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_BRANCH_VALUE == data[i]); i++;//skip over the ID; short mask = data[i++]; i++; i++; int destination = i + ((((int)data[i-2])<<15) | (0x7FFF&data[i-1])); visitPatterns(pv,i,buffer,bufferPosition); visitPatterns(pv,destination,buffer,bufferPosition); }
private void visitNomBranch(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_BRANCH_VALUE == data[i]); i++;//skip over the ID; short mask = data[i++]; i++; i++; int destination = i + ((((int)data[i-2])<<15) | (0x7FFF&data[i-1])); visitPatterns(pv,i,buffer,bufferPosition); visitPatterns(pv,destination,buffer,bufferPosition); }
private void visitRun(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_RUN == data[i]); i++;//skip over the ID; int runLen = data[i++]; for(int j=0;j<runLen;j++) { buffer[j+bufferPosition] = (byte)data[j+i]; } bufferPosition+=runLen; i+=runLen; visitPatterns(pv,i,buffer,bufferPosition); }
private void visitAltBranch(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_ALT_BRANCH == data[i]); i++;//skip over the ID; i++; i++; int destination = i + ((((int)data[i-2])<<15) | (0x7FFF&data[i-1])); visitPatterns(pv,i,buffer,bufferPosition); visitPatterns(pv,destination,buffer,bufferPosition); }
private void visitBytes(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_VALUE_BYTES == data[i]); i++;//skip over the ID; buffer[bufferPosition++] = TYPE_VALUE_BYTES; buffer[bufferPosition++] = (byte)data[i++]; //stopper visitPatterns(pv,i,buffer,bufferPosition); }
public void visitPatterns(TrieParserVisitor pv) { byte[] buffer = new byte[data.length];//can not be longer than this. visitPatterns(pv, 0, buffer, 0); }
public void visitPatterns(TrieParserVisitor pv) { byte[] buffer = new byte[data.length];//can not be longer than this. visitPatterns(pv, 0, buffer, 0); }
private void visitSafeEnd(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_SAFE_END == data[i]); i++;//skip over the ID; int s = SIZE_OF_RESULT; long result = 0; while (--s >= 0) { result = (result<<8) | ((long)data[i++]); } pv.visit(buffer, bufferPosition, result); visitPatterns(pv,i,buffer,bufferPosition); }
private void visitSafeEnd(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_SAFE_END == data[i]); i++;//skip over the ID; int s = SIZE_OF_RESULT; long result = 0; while (--s >= 0) { result = (result<<8) | ((long)data[i++]); } pv.visit(buffer, bufferPosition, result); visitPatterns(pv,i,buffer,bufferPosition); }
private void visitSafeEnd(TrieParserVisitor pv, int i, byte[] buffer, int bufferPosition) { assert(TYPE_SAFE_END == data[i]); i++;//skip over the ID; int s = SIZE_OF_RESULT; long result = 0; while (--s >= 0) { result = (result<<8) | ((long)data[i++]); } pv.visit(buffer, bufferPosition, result); visitPatterns(pv,i,buffer,bufferPosition); }