pyCFG is an application and library for working with context free grammars (CFG) in Python. It uses tkinter for it's graphical interface.
Open terminal and install these packages:
sudo apt-get install python3.5 python3-tk
Now you can run pyCFG from terminal: ./pycfg.py
You can download pyCFG's binary for windows from Here
Or
Download and install Python's installer (version 3.5 or higher) from it's official website.
Now you can run
pycfg.py from command line: python pycfg.py
.
pyCFG library is in cfg.py
module and can be imported and be used easily. For example:
from cfg import CFG
g = CFG({'S'}, {'a', 'b', 'c', 'λ'}, {('S', 'aSa'),
('S', 'bSb'),
('S', 'cSc'),
('S', 'λ')}, 'S', 'λ')
string = input("Enter a string: ")
if g.cyk(string):
print("Grammar can generate the string!")
else:
print("Grammar cannot generate the string!")
Above program gets a string from input and tells if the defined grammer can generate the string or not.
Hamidreza Mahdavipanah