Я использую анализатор lex и столкнулся с некоторыми проблемами.После прочтения всех символов из исходного кода я помещаю их в строку, и я читаю символ за символом и выполняю соответствующие операции.В конце концов, создается список, содержащий языковые жетоны, пробелы, ломаные линии и ... чертов символ, который я не могу опознать и который нужно очистить.
for (int i = 0; i < tokenList.size(); i++) {
// Remove Espacos
if (tokenList.get(i).getLexema().equals(" ")) {
tokenList.remove(i);
}
// Remove Strings Vazias
else if (tokenList.get(i).getLexema().length() == 0) {
print("ada");
tokenList.remove(i);
}
// Remove Tabulação
else if (tokenList.get(i).getLexema().equals("\t")) {
tokenList.remove(i);
}
// Remove Quebras de Linha
else if (tokenList.get(i).getLexema().equals("\n")) {
print("ASD");
tokenList.remove(i);
}
}
Из следующей записи:
int a;
char n;
После всего анализа и очистки я получаю следующий результат:
00 - Lex: int
01 - Lex: a
02 - Lex: ;
03 - Lex:
04 - Lex: char
05 - Lex: n
06 - Lex: ;
Есть пустое пространство, и я не знаю, как его удалить.