LINUX.ORG.RU

История изменений

Исправление Legioner, (текущая версия) :

Может пример покажешь, из описания не совсем понятно.

В простых случаях достаточно работы со строками. Читаешь файл по строкам, разбиваешь по разделителям (по пробелам например) в массив и анализируешь, что там получилось. Регулярные выражения тоже помогают зачастую.

В сложных обычно используют генераторы кода вида antlr. Описывается синтаксис разбираемого языка на специальном языке, потом из этого синтаксиса генерируется код на Java (или другом языке), который парсит.

В совсем сложных пишутся свои парсеры (или генераторы парсеров).

Исходная версия Legioner, :

Может пример покажешь, из описания не совсем понятно.

В простых случаях достаточно работы со строками. Читаешь файл по строкам, разбиваешь по разделителям (по пробелам например) в массив и анализируешь, что там получилось. В сложных обычно используют генераторы кода вида antlr. Описывается синтаксис разбираемого языка на специальном языке, потом из этого синтаксиса генерируется код на Java (или другом языке), который парсит. В совсем сложных пишутся свои парсеры (или генераторы парсеров).