Извините, я не мог придумать лучшего заголовка, но спасибо за чтение!
Моя конечная цель - прочитать файл .java, разобрать его и вытащить каждый идентификатор. Затем сохраните их все в списке. Два предварительных условия: в файле нет комментариев, и все идентификаторы состоят только из букв.
Сейчас я могу прочитать файл, разобрать его по пробелам и сохранить все в списке. Если что-либо в списке является зарезервированным словом Java, оно удаляется. Также я удаляю любые свободные символы, которые ни к чему не прикреплены (скобки и арифметические символы).
Теперь у меня осталась куча странных строк, но, по крайней мере, в них нет пробелов. Я знаю, что мне придется пересмотреть все с. разделитель, чтобы вытащить идентификаторы, такие как System.out.print, но как насчет строк, подобных этому примеру:
Logger.getLogger (MyHash.class.getName ()). Журнал (Level.SEVERE,
После повторного разбора. У меня останутся более сумасшедшие строки вроде:
getLogger (MyHash
GetName ())
журнал (Уровень
ТЯЖЕЛАЯ
Как я смогу вытащить все идентификаторы, оставив при этом весь мусор? Просто продолжайте повторный анализ каждого символа, который может существовать в коде Java? Это кажется довольно хромым и трудоемким. Я даже не уверен, что это будет работать полностью. Итак, вы можете предложить лучший способ сделать это?