Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/peplxx/autofsa
Verification and vizualization tool for fsa's
https://github.com/peplxx/autofsa
computer-sience fsa fst graphviz graphviz-dot
Last synced: 14 days ago
JSON representation
Verification and vizualization tool for fsa's
- Host: GitHub
- URL: https://github.com/peplxx/autofsa
- Owner: peplxx
- License: mit
- Created: 2024-02-16T15:34:57.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-02-27T10:30:57.000Z (10 months ago)
- Last Synced: 2024-02-27T11:42:26.593Z (10 months ago)
- Topics: computer-sience, fsa, fst, graphviz, graphviz-dot
- Language: Python
- Homepage:
- Size: 17.6 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## AutoFSA
This repository contains Tool for verification and visualization of FAS's.
### Setup
1. Clone the repository:
```git clone https://github.com/peplxx/AutoFSA.git```
2. Install graphviz library:
```pip install graphviz```3. Install [graphviz](https://www.graphviz.org/download/)
4. Write and run your code
For clarification see examples.
### Features
- Provides functionality to create a Finite State Automaton (FSA).
- Support of 'and' and 'or' operations under two different fsa's.
- Allows definition of a different language set for the FSA.
- Includes methods to add start nodes, end nodes, and connecting edges between nodes with specific language components.
- Capable of rendering the FSA graph using graphviz library in various output formats (e.g., jpg).
- Checks for completeness of the FSA graph structure.
- Offers a clean and structured design for handling complex FSA workflows.
- Config for customization for different statuses of nodes.### Gallary
* Green means entry node, red means end nodes
FSA Specification | Visualization
:-------------------------:|:-------------------------:
![image](https://github.com/peplxx/AutoFSA/assets/91543105/2bcefdd2-501b-485b-b4a4-0358429a3a42) | ![fsa1](https://github.com/peplxx/AutoFSA/assets/91543105/c618b100-e095-48be-bbe1-24134246d21e)
![image](https://github.com/peplxx/AutoFSA/assets/91543105/9bab6893-aec3-462c-b5c2-b17a6835075d) | ![fsa2](https://github.com/peplxx/AutoFSA/assets/91543105/f97b375c-4318-44fc-b32c-dced907fc610)
![image](https://github.com/peplxx/AutoFSA/assets/91543105/46d56e9f-7782-48cf-ba34-d08f18cd8c8b) | ![fsa1 or fsa2](https://github.com/peplxx/AutoFSA/assets/91543105/fa403e3c-81b2-4b4b-b3d2-4f7016d71dd7)
![image](https://github.com/peplxx/AutoFSA/assets/91543105/df4d75a7-d6e1-444b-985f-a456e6a1916d) | ![fsa1 and fsa2](https://github.com/peplxx/AutoFSA/assets/91543105/47173ee4-c84a-4af3-910a-a0c863efec12)
![image](https://github.com/peplxx/AutoFSA/assets/91543105/85d98d43-f9fd-49a7-ac30-688e2be2fa11) | ![WordsFSA](https://github.com/peplxx/AutoFSA/assets/91543105/cc5ecce7-8f99-415e-9fc7-e7dd6b1ed7d1)