Грамматика записывается в файл "grammar.txt" в формате: сначала нетерминал (может состоять из нескольких символов), затем "->", затем различные варианты вывода, разделённые символом "|". Нетерминалы необходимо разделять пробелом. Если какая то последовательность строк не будет разделена пробелом, и при этом она не будет являться нетерминалом, программа разделит её на список строк длиной 1. Чтобы указать пустую строку, необходимо напиcать "\eps". Чтобы сократить ввод, можно написать "\...", тогда в определение войдут все символы от символа слева "\..." до символа справа "\...", упорядоченные по unicode - кодам. Чтобы написать символы "\" и "|" необходимо написать "\\" и "\|". Начальным нетерминалом являтется первый неретминал, записанный в грамматике.
Программа выводит информацию в консоль и в файл output.txt
Пример правильно написанной грамматики:
a1 -> 0 | \... | 9 | b1 | c1 | d1 | brace
b1 -> A | \... | D | P | \... | Z
c1->A|B|c1 b1 d1|D| \\ |\eps
d1-> \| | \|\| | -> | ->->
brace -> second brace | brace second
second -> A | \... | Z
Пример неправильно написанной грамматики:
a -> b | c \eps d
b -> \... | z
c -> a | \...
d -> z | \... | a
e -> \wrong
Чтобы запустить на Linux: python3 Chomsky.py
Чтобы запустить на Windows: python Chomsky.py
Для Windows необходимо установить python версии не менее 3.4
Грамматика записывается в файл "grammar.txt". Можно писать грамматику, не приведнную в НФХ, программа сама это сделает. Тестовая строка должна быть записана в файл "test.txt". Выходная информация будет представлена в консоли и в файле "output.txt".
Чтобы запустить на Linux: python3 CYK.py
Чтобы запустить на Windows: python CYK.py
Для Windows необходимо установить python версии не менее 3.4
Грамматика записывается в файл "grammar.txt". Можно писать леворекурсивную грамматику, программа сама сделает из неё не леворекурсивную, насколько сможет. Тестовая строка должна быть записана в файл "test.txt". Выходная информация будет представлена в консоли и в файле "output.txt".
Чтобы запустить на Linux: python3 LL1.py
Чтобы запустить на Windows: python LL1.py
Для Windows необходимо установить python версии не менее 3.4