Я пытаюсь сгенерировать все строки терминала из заданного файла до определенной длины. Так, например, если у вас есть что-то вроде
A = A B
A = B
B = 0
B = 1
Тогда вы получите что-то вроде
0
1
0 0
0 1
1 0
1 1
Я подумал, что это не будет слишком сложно, но я застреваю. В настоящее время я могу прочитать значения и добавить их в словарь с правилами, которые хранятся в виде списка, например:
{'B': [['0'], ['1']], 'A': [['A', 'B'], ['B']]}
Казалось бы, вам нужно начать с одного из нетерминальных символов (например, A или B), а затем выполнить итерации по каждому правилу. Если символ в правиле не является нетерминальным символом, вы распечатали бы его или сохранили его, а если это нетерминальный символ, то заменили бы его правилом и затем проверили его снова. Я нахожусь в тупике о том, как сделать это в Python - я не так много сделал в этом. Любая помощь будет высоко ценится!