edgarogh / automata-to-graphviz

DFA description DSL

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DFA description DSL

Examples:

-> 1^b -a> (2)

2 -b> -> (1) -a> 2
2 -a> P
(1) -b> P

-> 1^a,b

Basic syntax

Nodes can be used without explicit declaration.

  • 1, P: basic node

  • (1), (E): acceptor node

  • -> before a node: input "connector" (only one allowed per DFA)

  • -a>, -a,b>: connectors, resp. for labels {a}, and {a,b}

  • 1^a: looping connector (connector for symbol a, from 1 to 1) (shortcut)

  • Enter: new line = new expression with fresh context

Usage

Unix stdin/stdout.

i.e: cargo run < automata.txt

License

By Edgar Onghena dev@edgar.bzh

GPLv3

About

DFA description DSL

License:GNU General Public License v3.0


Languages

Language:Rust 86.5%Language:HTML 13.5%