finite-automata
Afinite-state machine (FSM),finite-state automaton (FSA), or simplystate machine is a mathematicalmodel of computation and anabstract machine that can be in exactly one of a finite number of states at any given time.
The FSM can change from one state to another in response to some inputs; the change from one state to another is called atransition.
An FSM is defined by a list of its states, its initial state, and the inputs that trigger each transition.
In computer science, FSM are widely used in modeling of application behavior (control theory), design ofhardware digital systems,software engineering,compilers,network protocols, andcomputational linguistics.
Here are 113 public repositories matching this topic...
Language:All
Sort:Most stars
An ecosystem of packages to work with automaton and parsers (dfa/nfa/e-nfa/regex/cfg/pda)
- Updated
Mar 7, 2023 - TypeScript
A fast and simple automata library
- Updated
Nov 5, 2025 - Stata
Graphical interface for designing finite automata
- Updated
Oct 11, 2020 - JavaScript
Simulador de Autómatas Finitos Deterministas (AFD) y Autómatas Finitos No Deterministas (AFND)
- Updated
Jan 21, 2020 - Java
Aulas, exercícios e resumos das matérias: Introdução à Informática e Teoria da Computação.
- Updated
Oct 29, 2025 - Python
PHP script with web interface that can optimize & draw your finite automata
- Updated
Sep 23, 2018 - PHP
An Elm app for building and simulating deterministic and non-deterministic finite automata (DFAs and NFAs).
- Updated
Feb 25, 2025 - Elm
Collection of my solutions to the finite automata course (2016 version) offered by Stanford.
- Updated
Jun 20, 2019 - TeX
A JavaFX-based tool for visualizing, editing, and minimizing DFAs (Deterministic Finite Automata), enabling users to efficiently create, optimize, and work with state machines in a user-friendly interface.
- Updated
Mar 11, 2025 - Java
Theory of machines and languages course project.
- Updated
Aug 3, 2020 - Python
Front-end Platypus compiler implemented in C. Includes Buffer, Scanner, and Parser. Platypus is a language comprised of parts from a variety of other languages.
- Updated
Jan 25, 2019 - C
A Tool for Drawing the DFA/NFA of a Regex for a Regular Language
- Updated
May 29, 2025 - Python
Fundamental computing machines implemented in Clojure.
- Updated
Feb 27, 2021 - Clojure
Pure-Python library for building and working with nondeterministic finite automata (NFAs).
- Updated
Aug 4, 2022 - Python
Web application to manage finite state machine!
- Updated
May 23, 2022 - TypeScript
Lab experiments of Finite Automata Theory course (CSE 2206 at RUET)
- Updated
Apr 28, 2020 - C++
A teaching aid for concepts and algorithms in logic
- Updated
Jun 8, 2024 - Java
- Followers
- 27 followers
- Website
- github.com/topics/finite-state-machine
- Wikipedia
- Wikipedia