Skip to content

Latest commit

 

History

History
56 lines (42 loc) · 1.53 KB

README.md

File metadata and controls

56 lines (42 loc) · 1.53 KB

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