wafemand / DFA_Interpreter

Simple DFA interpreter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DFA_Interpreter

Простой интерпретатор детерминированных конечных автоматов

Запуск:

./Main <dfa file> <chains file> <output file>

Генерирует latex файл с путями обработки цепочек из файла <chains file> автоматом из файла <dfa file>

Алфавит - все символы, которые words не считает разделителем

Цепочки могут разделяться пробелом или переводом строки

Выходной файл компилируется pdflatex

Формат автомата

Автомат задаётся по такому шаблону:

<start vertex>
Edges:
<edge 1>
<edge 2>
...
<edge m>
Terminals:
<t1> <t2> ... <tk>

Ребро задаётся по шаблону <begin> <symbol> <end>

Вершины - целые числа. Число -1 считается дьявольской вершиной (все несуществующие переходы ведут в неё) и на выходе обозначается как X

Примеры лежат в samples/

На выходе терминальные вершины обозначены квадратиком.

About

Simple DFA interpreter


Languages

Language:Haskell 96.7%Language:Shell 3.3%