Python context free grammar(CFG) parser library and application
Python
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore Add gitignore file Jan 7, 2017
LICENSE Add license file Jan 7, 2017
README.md
cfg.py
pycfg.py

README.md

pyCFG

pyCFG is an application and library for working with context free grammars (CFG) in Python. It uses tkinter for it's graphical interface.

Installing application

Prerequisites

Debian Linux (Ubuntu)

Open terminal and install these packages:

sudo apt-get install python3.5 python3-tk

Now you can run pyCFG from terminal: ./pycfg.py

Windows

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.

Using library

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.

Author

Hamidreza Mahdavipanah

License

MIT