This project is an interactive website for simulating the following abstract machines:
- Two-way deterministic and nondeterministic finite automata
- Two-way deterministic and nondeterministic Turing machines with two-dimensional tapes
- Two-way deterministic and nondeterministic k-queue automata
It also allows the user to explore all the possible paths (runs) for nondeterministic automata and provides a theoretical analysis of selected abstract machine variants.
This website is the major course output in an automata, computability, and formal languages class for master's students under Dr. Arnulfo P. Azcarraga of the Department of Software Technology, De La Salle University.
This project consists of the following folders:
Folder | Description |
---|---|
assets |
Contains the image files |
scripts |
Contains the JavaScript files |
style |
Contains the CSS style sheets |
It also includes the following files:
File | Description |
---|---|
index.html |
Webpage for finite automata (home page) |
k-queue.html |
Webpage for Turing machines with two-dimensional tapes |
turing-2d.html |
Webpage for k-queue automata |
Open the following website: https://turing-machine-variants.vercel.app/
-
Create a copy of this repository:
-
If git is installed, type the following command on the terminal:
git clone https://github.com/memgonzales/turing-machine-variants
-
If git is not installed, click the green
Code
button near the top right of the repository and chooseDownload ZIP
. Once the zipped folder has been downloaded, extract its contents.
-
-
Open
index.html
.- There is no need to install any additional software or dependency. However, internet connection is required to load fonts, libraries, and toolkits from their respective content delivery networks (CDNs).
This project uses JavaScript to carry out all the operations and computations on the client-side. Additional libraries and toolkits are enumerated in the following table:
Library/Toolkit | Version | Description | License |
---|---|---|---|
jQuery | 3.5.1 | Fast, small, and feature-rich JavaScript library for HTML document traversal and manipulation, event handling, and animation | MIT License |
Bootstrap | 5.0.2 | Front-end toolkit featuring Sass variables and mixins, responsive grid system, prebuilt components, and JavaScript plugins | MIT License |
The descriptions of these technologies are taken from their respective websites.
The opinionated code formatter Prettier was employed to enforce uniformity and consistency of coding style.
This website is deployed on the cloud platform-as-a-service Vercel.
- Mark Edward M. Gonzales
mark_gonzales@dlsu.edu.ph
gonzales.markedward@gmail.com
Assets (images) are properties of their respective owners. Attribution is found in the credits file.