Skip to content

mivkov/fsm-code-designer

Repository files navigation

Versions/Build Flags

$ make --version
   GNU Make 3.81
   Copyright (C) 2006  Free Software Foundation, Inc.
   This is free software; see the source for copying conditions.
   There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
   PARTICULAR PURPOSE.

   This program built for i386-apple-darwin11.3.0
   
$ gcc --version
   Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
   Apple LLVM version 9.1.0 (clang-902.0.39.1)
   Target: x86_64-apple-darwin17.7.0
   Thread model: posix
   InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Flags used in C++ compilation (as seen in Makefile)

CFLAGS = -Wall -Wextra -Wshadow -pedantic -g -O2 -std=c++17

Note that the C++17 standard is required for now. The code generated by script_utils#generatePythonCode should be Python2+3 compatible.

Features

Short Term

Dfa executor

  1. DFA --> executor (code execution engine)
    • input DFA -> walkthrough + execution in UI
    • generate execution script
  2. Support diagram, graph, formal definition of FSM
    • allow reference of other FSM's built by user
    • allows to emulate threading

Dfa minimizer

  1. Finds a minimal DFA equivalent to the given one

Dfa from regex

  1. Use threading to skip NFA step

Long Term

Turing Machines

  1. Support halting Turing Machines for all of the above (on all inputs)

Implementation Details

  1. C++ Backend
  2. Python-Flask WebServer
  3. Node.js Frontend

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published