(* Grammar for single line sub-graphs for fast diagram construction in Hummi.app *) statement: ws (list | out | in)? ws : unit ws (<';;'> ws unit)* : (node | group) node: text links : (out | in)* out: <'>>'> (label <'::'>)? (ws group | node) in: <'<<'> (label <'::'>)? (ws group | node) group: (left-group | right-group) links : <'[['> (ws label ws <'::'>)? ws list? ws <']]'>? : <'[['>? ws list? (ws <'::'> ws label)? ws <']]'> label: text : ws #'^(?:(?!\s*>>)(?!\s*<<)(?!\s*::).)+' : <#'\s*'>