DFA - Deterministic Finite Automata in C++, Token Parser & Lexer

  •        60

Deterministic Finite Automata in C++, Token Parser & Lexer

https://github.com/fffaraz/DFA

Tags
Implementation
License
Platform

   




Related Projects

xstate - Functional, Stateless JS Finite State Machines and Statecharts

  •    TypeScript

Functional, stateless JavaScript finite state machines and statecharts. Statecharts are a formalism for modeling stateful, reactive systems. This is useful for declaratively describing the behavior of your application, from the individual components to the overall application logic.

OpenFst Library for constructing weighted finite-state transducer

  •    C++

OpenFst is a library for constructing, combining, optimizing, and searching weighted finite-state transducers (FSTs). Weighted finite-state transducers are automata where each transition has an input label, an output label, and a weight. FSTs have key applications in speech recognition and synthesis, machine translation, optical character recognition, pattern matching, string processing, machine learning, information extraction and retrieval among others.

fst - Represents large sets and maps compactly with finite state transducers.

  •    Rust

This crate provides a fast implementation of ordered sets and maps using finite state machines. In particular, it makes use of finite state transducers to map keys to values as the machine is executed. Using finite state machines as data structures enables us to store keys in a compact format that is also easily searchable. For example, this crate leverages memory maps to make range queries very fast.Check out my blog post Index 1,600,000,000 Keys with Automata and Rust for extensive background, examples and experiments.

machina.js - js ex machina - finite state machines in JavaScript

  •    Javascript

Machina.js is a JavaScript framework for highly customizable finite state machines (FSMs). Many of the ideas for machina have been loosely inspired by the Erlang/OTP FSM behaviors. Finite state machines are a great conceptual model for many concerns facing developers – from conditional UI, connectivity monitoring & management to initialization and more. State machines can simplify tangled paths of asynchronous code, they're easy to test, and they inherently lend themselves to helping you avoid unexpected edge-case-state pitfalls. machina aims to give you the tools you need to model state machines in JavaScript, without being too prescriptive on the problem domain you're solving for.

Stately

  •    Javascript

Stately.js is a JavaScript based finite-state machine (FSM) engine for Node.js and the browser. Both will return a new stateMachine object, with all events from all states attached to it. The machine will transition into the initial state initialStateName or the first attached stateObject if initialStateName is omitted. In addition to the events the stateMachine object has a getMachineState() method, returning the current name of the machines state, getMachineEvents(), returning possible events in the current state.


stent - Stent is combining the ideas of redux with the concept of state machines

  •    Javascript

Stent is combining the ideas of Redux with the concept of state machines. State machine is a mathematical model of computation. It's an abstract concept where the machine may have different states but at a given time fulfills only one of them. It accepts input and based on that (plus its current state) transitions to another state. Isn't it familiar? Yes, it sounds like a front-end application. That's why this model/concept applies nicely to UI development.

Unity3d-Finite-State-Machine - An intuitive Unity3d finite state machine (FSM)

  •    CSharp

State machines are a very effective way to manage game state, either on your main game play object (Game Over, Restart, Continue etc) or on individual actors and NPCs (AI behaviours, Animations, etc). The following is a simple state machine that should work well within any Unity context. Most state machines come from the world of C# enterprise, and are wonderfully complicated or require a lot of boilerplate code. State Machines however are an incredibly useful pattern in game development, administrative overhead should never be a burden that discourages you from writing good code.

StatefulJ - Event Driven Finite State Machine (FSM)

  •    Java

StatefulJ is a lightweight, open source Java Event Driven Finite State Machine(FSM) and a complete Spring Data based framework which lets you easily define and integrate State Machines into your Applications. It is simple, dependency free, in memory implementation of an FSM with support for concurrency and non-deterministic transitions.

finite_machine - A minimal finite state machine with a straightforward syntax.

  •    Ruby

A minimal finite state machine with a straightforward and intuitive syntax. You can quickly model states and add callbacks that can be triggered synchronously or asynchronously. The machine is event driven with a focus on passing synchronous and asynchronous messages to trigger state transitions. As the example demonstrates, by calling the define method on FiniteMachine you create an instance of finite state machine. The events and callbacks scopes help to define the behaviour of the machine. Read Transitions and Callbacks sections for more details.

Finite State Machine Editor

  •    C++

A Finite State Machine Editor, written on QT. It allows to draw Finite State Machine with easy GUI and store it in XML file. There are Finite State Machine Compilers to translate this description to source code (technique like QT's UIC uses).

mafsa - Package mafsa implements Minimal Acyclic Finite State Automata in Go, essentially a high-speed, memory-efficient, Unicode-friendly set of strings

  •    Go

Package mafsa implements Minimal Acyclic Finite State Automata (MA-FSA) with Minimal Perfect Hashing (MPH). Basically, it's a set of strings that lets you test for membership, do spelling correction (fuzzy matching) and autocomplete, but with higher memory efficiency than a regular trie. With MPH, you can associate each entry in the tree with data from your own application.A BuildTree is used to build data from scratch. Once all the elements have been inserted, the BuildTree can be serialized into a byte slice or written to a file directly. It can then be decoded into a MinTree, which uses significantly less memory. MinTrees are read-only, but this greatly improves space efficiency.

fsm-as-promised - A finite state machine library using ES6 promises

  •    Javascript

A minimalistic finite state machine library for browser and node implemented using promises. 📢 For Visual Studio Code users: checkout the UML visualization extension.

micromachine - Minimal Finite State Machine

  •    Ruby

Minimal Finite State Machine.There are many finite state machine implementations for Ruby, and they all provide a nice DSL for declaring events, exceptions, callbacks, and all kinds of niceties in general.

Finite State Machine Language

  •    C

A language in which to specify Finite State Machines. These machines are then implemented in different languages, and even in different models within those languages, through code generated by fsmlang. Also, a tabular depection of the machine is genera

Metamorph

  •    

A simple and lightweight framework for managing Finite State Machines and Business Processes.

django-fsm - Django friendly finite state machine support

  •    Python

django-fsm adds simple declarative states management for django models. Instead of adding some state field to a django model, and managing its values by hand, you could use FSMState field and mark model methods with the transition decorator. Your method could contain the side-effects of the state change.

django-fsm - Django friendly finite state machine support

  •    Python

django-fsm adds simple declarative states management for django models. Instead of adding some state field to a django model, and managing its values by hand, you could use FSMState field and mark model methods with the transition decorator. Your method could contain the side-effects of the state change.

fsm - Finite State Machine for Go

  •    Go

FSM is a finite state machine for Go.

Transporter - Modern finite-state machine implemented in pure Swift

  •    Swift

Transporter is a modern finite-state machine implemented in pure Swift. It is truly cross-platform, and supports iOS, OS X, tvOS, watchOS, Linux. Due to generic implementation, you can have StateMachine of any type you want. The only requirement for state values is they should be Hashable. So, you can have Int State, or String State etc. Or have value of enum, like it's shown in example.

Transporter - Modern finite-state machine implemented in pure Swift

  •    Swift

Transporter is a modern finite-state machine implemented in pure Swift. It is truly cross-platform, and supports iOS, OS X, tvOS, watchOS, Linux. Due to generic implementation, you can have StateMachine of any type you want. The only requirement for state values is they should be Hashable. So, you can have Int State, or String State etc. Or have value of enum, like it's shown in example.