blankNode.getLexicalUnits().add(
new ListToken(this, getContext()));
break;
case '<':
if (step() == '=') {
blankNode.getLexicalUnits().add(new Token("<="));
step();
discard();
} else {
stepBack();
blankNode.getLexicalUnits().add(
new UriToken(this, getContext()));
}
break;
case '_':
blankNode.getLexicalUnits().add(
new BlankNodeToken(parseToken()));
break;
case '"':
blankNode.getLexicalUnits().add(
new StringToken(this, getContext()));
break;
case '[':
blankNode.getLexicalUnits().add(
new BlankNodeToken(this, getContext()));
break;
case '!':
blankNode.getLexicalUnits().add(new Token("!"));
step();
discard();
break;
case '^':
blankNode.getLexicalUnits().add(new Token("^"));
step();
discard();
break;
case '=':
if (step() == '>') {
blankNode.getLexicalUnits().add(new Token("=>"));
step();
discard();
} else {
blankNode.getLexicalUnits().add(new Token("="));
discard();
}
break;
case '@':
// Remove the leading '@' character.
step();
discard();
blankNode.getLexicalUnits().add(new Token(this, getContext()));
discard();
break;
case ';':
step();
discard();
blankNode.getLexicalUnits().add(new Token(";"));
break;
case ',':
step();
discard();
blankNode.getLexicalUnits().add(new Token(","));
break;
case '#':
parseComment();
break;
case '{':
blankNode.getLexicalUnits().add(
new FormulaToken(this, getContext()));
break;
case ']':
break;
default:
if (!isEndOfFile(getChar())) {
blankNode.getLexicalUnits().add(
new Token(this, getContext()));
}
break;
}
} while (!isEndOfFile(getChar()) && getChar() != ']');
if (getChar() == ']') {