Skip to content

Cocke-Younger-Kasami-Algorithm implemented in Python

License

Notifications You must be signed in to change notification settings

lagmoellertim/pyCYK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages