matheusmmcs / Automata

An editor for deterministic finite automata

Home Page:http://automata.discrete.gr

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Automata is an editor for deterministic and non-deterministic finite automata (DFA, NFA, NFAε). It is an open source web application aimed to help students and educators better understand and explain the concepts of computation in theoretical computer science university departments.

Try it out

Learn more about automata:

Features

  • Real-time editing of automata
  • DFA, NFA, NFAε support
  • Step-by-step computation simulation
  • Sharing automata with a simple link
  • Fully native web application in vanilla Javascript

Technology

Automata is written in HTML5 and Javascript for the client and Python for the server.

Contributors

The Automata tool was developed at the Computer Science division of the Electrical and Computer Engineering department at the National Technical University of Athens, but is aimed at academic institutions wordwide.

Contributors:

We're looking to add several features. If you feel like contributing, just go ahead and do a pull request with your patch.

Some ideas for the future:

  • Login with Gmail to keep a list of your automata
  • Conversion from automaton to grammar and back
  • Conversion from automaton to regular expression and back
  • NFA to DFA conversion
  • Automaton minimization

License

The Automata editor is licensed under the MIT license:

Copyright (C) 2012 Dionysis Zindros

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

About

An editor for deterministic finite automata

http://automata.discrete.gr


Languages

Language:JavaScript 71.5%Language:CSS 20.4%Language:Python 4.4%Language:PHP 3.4%Language:SQL 0.3%