An open API service indexing awesome lists of open source software.

https://github.com/micycle1/pflap

Processing Formal Languages and Automata Package
https://github.com/micycle1/pflap

automata automatons awt cp5 dfa dpa formal-languages machine p5 p5js processing processing-library processing-sketch pushdown-automaton swing

Last synced: about 1 month ago
JSON representation

Processing Formal Languages and Automata Package

Awesome Lists containing this project

README

        



PFLAP


PFLAP

Processing Formal Languages & Automata Package

---

**PFLAP** is an interactive graphical tool for constructing and simulating finite automata (machine representations of formal languages), and is my attempt to create a [JFLAP](http://www.jflap.org/) alternative with a more intuitive control scheme and a more pleasant aesthetic using the [Processing](https://processing.org/) library as the graphics backend. I do not intend to implement anywhere near the full functionality present in JFLAP (features such as recursively enumerable languages, transforming context-free languages, etc.).

## Latest Release

:inbox_tray: [PFLAP v.1.0](https://github.com/micycle1/PFLAP/releases)

## Features
* Create and run finite automatons (DFA, DPA, Mealy and Moore machines)
* _Instantaneous_ and _stepping_ simulation modes
* Export machine to .png
* Undo/Redo
* Save/Load
* Colour-customisation of all graphics

## Screenshot



## Tasks
- [ ] Batch input for fast-run mode.
- [ ] State position snapping
- [ ] Implement Turning Machines

## Libraries
- `processing` [github](https://github.com/processing/processing)
- `controlP5` [github](https://github.com/sojamo/controlp5)
- `dashedlines` [github](https://github.com/garciadelcastillo/-dashed-lines-for-processing-)
- `guava` [github](https://github.com/google/guava)
- `zoompan` [github](https://github.com/gicentre/gicentreutils)