lagmoellertim / pyCYK

Cocke-Younger-Kasami-Algorithm implemented in Python

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

5. Donations / Sponsors

I'm part of the official GitHub Sponsors program where you can support me on a monthly basis.

GitHub Sponsors

You can also contribute by buying me a coffee (this is a one-time donation).

Ko-Fi Sponsors

Thank you for your support!

About

Cocke-Younger-Kasami-Algorithm implemented in Python

License:MIT License


Languages

Language:Python 100.0%