@Override public boolean consume(CodeReader code, Lexer lexer) { char[] next = code.peek(lookahead); for (int i = 0; i < sortedPunctuators.length; i++) { if (arraysEquals(next, sortedPunctuatorsChars[i])) { Token token = tokenBuilder .setType(sortedPunctuators[i]) .setValueAndOriginalValue(sortedPunctuators[i].getValue()) .setURI(lexer.getURI()) .setLine(code.getLinePosition()) .setColumn(code.getColumnPosition()) .build(); lexer.addToken(token); /* Advance the CodeReader stream by the length of the punctuator */ for (int j = 0; j < sortedPunctuatorsChars[i].length; j++) { code.pop(); } return true; } } return false; }
@Override public boolean consume(CodeReader code, Lexer lexer) { char[] next = code.peek(lookahead); for (int i = 0; i < sortedPunctuators.length; i++) { if (arraysEquals(next, sortedPunctuatorsChars[i])) { Token token = tokenBuilder .setType(sortedPunctuators[i]) .setValueAndOriginalValue(sortedPunctuators[i].getValue()) .setURI(lexer.getURI()) .setLine(code.getLinePosition()) .setColumn(code.getColumnPosition()) .build(); lexer.addToken(token); /* Advance the CodeReader stream by the length of the punctuator */ for (int j = 0; j < sortedPunctuatorsChars[i].length; j++) { code.pop(); } return true; } } return false; }
@Override public boolean consume(CodeReader code, Lexer lexer) { char[] next = code.peek(lookahead); for (int i = 0; i < sortedPunctuators.length; i++) { if (arraysEquals(next, sortedPunctuatorsChars[i])) { Token token = tokenBuilder .setType(sortedPunctuators[i]) .setValueAndOriginalValue(sortedPunctuators[i].getValue()) .setURI(lexer.getURI()) .setLine(code.getLinePosition()) .setColumn(code.getColumnPosition()) .build(); lexer.addToken(token); /* Advance the CodeReader stream by the length of the punctuator */ for (int j = 0; j < sortedPunctuatorsChars[i].length; j++) { code.pop(); } return true; } } return false; }