Как проанализировать текстовый файл на основе измененной формы BNF, указанной в файле конфигурации, в Java? - PullRequest
0 голосов
/ 17 июня 2019

Прежде всего, я новичок здесь, поэтому извините, ребята, если я что-то не так делаю. Мне нужно написать синтаксический анализатор текста в Java, который анализирует входной текстовый файл на основе измененной формы BNF, указанной в файле конфигурации. Я не могу использовать какие-либо библиотеки анализа и библиотеки для форм BNF. По сути, единственное, что я могу использовать, это Regex. Но для меня самая большая проблема заключается в том, как прочитать этот файл конфигурации, чтобы я мог затем использовать эту измененную форму BNF внутри него. Это должно быть сделано, чтобы он работал для любого файла конфигурации, поэтому я не могу жестко кодировать для одного примера. Как мне это сделать? Любая помощь приветствуется.

Это простой пример того, как должен выглядеть этот файл конфигурации:

<a> ::= regex(^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$) 

a представляет любое выражение, соответствующее указанному регулярному выражению

Мой вывод должен быть XML-файлом, представляющим дерево синтаксического анализа входного текстового файла на основе указанной модифицированной формы BNF. Таким образом, любой действительный адрес электронной почты должен совпадать с приведенным выше регулярным выражением, а затем я должен записать его в XML-файл. ..

...