Houjun Liu

yet another flowchart abstraction

yafa!

Syntax

[ (Circle) -> [square] -> (Circle) | (Circle) ]

[ (circle) ]

[ <lt1>(self loop) -> <lt1> ]

EXPRESSION = EXPRESSION' ARROW NODE | EXPRESSION' ALTERNATION NODE | STRING
EXPRESSION' = EXPRESSION' ARROW NODE | EXPRESSION' ALTERNATION NODE | NODE

NODE = SQUARE | CIRCLE | ANCHOR
SQUARE = "[" EXPRESSION "] | ANCHOR "[" EXPRESSION "]
ANCHOR = "<" LABEL ">"

ALTERNATION = "|"
ARROW = SARROW | DARROW
SARROW = "->"
DARROW = "=>"

LABEL = r"[\w\d]+"
STRING = LABEL | "\"" ".*" "\""

Semantics