Skip to content

String Checker using CFG with CYK Algorithm using Table Filling Method

License

Notifications You must be signed in to change notification settings

putuwaw/cfg-cyk

Repository files navigation

CFG-CYK

Python Flask Bootstrap Heroku Vercel Docker Forks Contributors Stars

CFG-CYK is a website based string checker using CFG with CYK algorithm using table filling method.

Features💡

By using CFG-CYK you can:

  • Checks whether a string is valid or not.
  • Convert the CFG (Context Free grammar) to CNF (Chomsky Normal Form).
  • Get the final triangular table from table filling method.

Technology 👨‍💻

CFG-CYK is created using:

  • Python - Python as the main programming language.
  • Flask - Flask is a web framework for Python, based on the Werkzeug toolkit.
  • Bootstrap - Bootstrap is a front-end framework that allows for the creation of easy and responsive web layouts.
  • Heroku - Heroku is a platform as a service (PaaS) that we use to deploy our apps.
  • Vercel - Vercel is a cloud platform that we use to deploy our apps.
  • Docker - Docker is a platform for developing, shipping, and running our applications.

Structure 📂

CFG-CYK
├── .github
├── handlers
├── docs
├── modules
├── static
│   ├── images
│   ├── scripts
│   └── styles
├── templates
├── tests
├── .gitignore
├── Dockerfile
├── LICENSE
├── Procfile
├── README.md
├── app.py
├── requirements.txt
├── set_of_production.txt
└── vercel.json
  • .github is a folder that used to place Github related stuff, like issue template and CI pipeline.
  • handlers contain handler to handling HTTP request methods, especially POST method.
  • docs contain documentation of this app.
  • modules contain the main modules for convert CFG to CNF and implement CFG with CYK algorithm using table filling method.
  • static contain static files like images, CSS, and JavaScript files.
  • templates contain the file that will be rendered for display in the browser.
  • tests contain unit test to make sure the main module work properly.
  • .gitignore is a file to exclude some folders like venv.
  • Dockerfile is a file that contains all the commands to build an image.
  • LICENSE is a file that contains the license we use in this app.
  • Procfile is a file that specifies the commands that are executed by an Heroku app on startup.
  • README.md is the file you are reading now.
  • app.py is the main file of this app.
  • requirements.txt is a file that contains a list of dependencies used in this app.
  • set_of_production.txt is a file that contains set of production of the grammar.
  • vercel.json is a file that contains configuration and override the default behavior of Vercel.

Requirements 📦

  • Python 3.10 or later
  • Bootstrap v4.6.2 or later
  • Docker 20.10.17 or later

Installation 🛠️

docker pull putuwaw/cfg-cyk
  • Run the downloaded image:
docker run -p 8000:8000 putuwaw/cfg-cyk
  • Open web browser and visit:
localhost:8000

Contributors ✨



Putu Widyantara

Kevin Moses

Antonius Ata

Yoga Laksana

About

String Checker using CFG with CYK Algorithm using Table Filling Method

Topics

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •