Прежде всего, я новичок здесь, поэтому извините, ребята, если я что-то не так делаю.
Мне нужно написать синтаксический анализатор текста в Java, который анализирует входной текстовый файл на основе измененной формы BNF, указанной в файле конфигурации.
Я не могу использовать какие-либо библиотеки анализа и библиотеки для форм BNF.
По сути, единственное, что я могу использовать, это Regex
.
Но для меня самая большая проблема заключается в том, как прочитать этот файл конфигурации, чтобы я мог затем использовать эту измененную форму BNF внутри него. Это должно быть сделано, чтобы он работал для любого файла конфигурации, поэтому я не могу жестко кодировать для одного примера.
Как мне это сделать? Любая помощь приветствуется.
Это простой пример того, как должен выглядеть этот файл конфигурации:
<a> ::= regex(^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$)
a представляет любое выражение, соответствующее указанному регулярному выражению
Мой вывод должен быть XML-файлом, представляющим дерево синтаксического анализа входного текстового файла на основе указанной модифицированной формы BNF. Таким образом, любой действительный адрес электронной почты должен совпадать с приведенным выше регулярным выражением, а затем я должен записать его в XML-файл. ..