Skip to content
Cocke-Younger-Kasami-Algorithm implemented in Python
Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE
README.md
cyk.py
demo.py
requirements.txt

README.md

pyCYK

  1. Details

  2. How to use pyCYK

  3. License

  4. Credits

1. Details

2. How to use pyCYK

2.1 Installation

First, you need to clone or download this repository. After that, open the folder and run this command:

pip3 install -r requirements.txt

2.2 Usage

To use pyCYK in your project, you first need to import it.

from cyk import CYK

Then, you need to define a startstate, the grammar and the word. This is an example for it:

startstate = "S"

grammar = {
    startstate:["VaE","VbF"],
    "G":["GG","a","b","VaVb"],
    "E":["GVa","a"],
    "F":["GVb","b"],
    "Va":["a"],
    "Vb":["b"]
}

word = "abacba"

Next, you need to create an object of the pyCYK class, which includes the startstate and the grammar.

cyk = CYK(grammar, startstate)

To check whether a word is part of the language or not, use this:

cyk.checkWord(word) #Returns True or False

If you want to see the table that is generated as a part of this algorithm, use this:

cyk.outputTable(word)

3. License

This implementation is published under the MIT License.

4. Credits

This implementation is developed by Tim-Luca Lagmöller.

You can’t perform that action at this time.