Я написал DFA на бумаге и хочу преобразовать его в набор регулярных выражений. Кто-нибудь знает хороший инструмент для этого?
Я пытаюсь написать синтаксический анализатор для предложений, которые начинаются с данной команды, например "/ dothis", а затем имеют несколько параметров после них, в зависимости от команды. Я написал DFA со всеми состояниями, но я ищу инструмент, который можно использовать для перевода в REGEXP.





Из своего небольшого поиска в Google я нашел JFLAP. У них также есть учебник по как преобразовать FA в регулярное выражение.
JFLAP
JFLAP is software for experimenting with formal languages topics including nondeterministic finite automata, nondeterministic pushdown automata, multi-tape Turing machines, several types of grammars, parsing, and L-systems. In addition to constructing and testing examples for these, JFLAP allows one to experiment with construction proofs from one form to another, such as converting an NFA to a DFA to a minimal state DFA to a regular expression or regular grammar. Click here for more information on what one can do with JFLAP.
Если вам нужен синтаксический анализатор, нет необходимости переводить его в регулярные выражения в качестве промежуточной формы. Вы можете довольно просто закодировать DFA, используя flex или re2c. Кодирование для нескольких состояний не является обычным случаем, поэтому поначалу это кажется немного неестественным (и это не очень хорошо освещается в учебных пособиях), но как только вы начнете с ним работать, это действительно легко.
Можете ли вы подробнее рассказать о том, чего вы пытаетесь достичь?