obj:

obj      ::= ( type | value ) q

referenced by:


value:

value    ::= vbool
           | vint
           | vreal
           | vstr

referenced by:


vbool:

vbool    ::= 'true'
           | 'false'

referenced by:


vint:

vint     ::= [1-9] [0-9]*

referenced by:


vreal:

vreal    ::= [0-9]+ '.' [0-9]*

referenced by:


vstr:

vstr     ::= "'" [a-zA-Z]* "'"

referenced by:


type:

type     ::= ctype
           | dtype

referenced by:


ctype:

ctype    ::= 'bool'
           | 'int'
           | 'real'
           | 'str'
           | poly
           | '_'

referenced by:


poly:

poly     ::= lst
           | rec
           | inst

referenced by:


q:

q        ::= '{' int ( ',' int )? '}'

referenced by:


dtype:

dtype    ::= ctype q? ( '<=' ctype q? )? inst*

referenced by:


sep:

sep      ::= ';'
           | ','
           | '|'

referenced by:


lst:

lst      ::= '(' obj ( sep obj )* ')' q?

referenced by:


rec:

rec      ::= '(' obj '->' obj ( sep obj '->' obj )* ')' q?

referenced by:


inst:

inst     ::= '[' op ( ',' obj )* ']' q?

referenced by:


op:

op       ::= 'a'
           | 'add'
           | 'and'
           | 'as'
           | 'combine'
           | 'count'
           | 'eq'
           | 'error'
           | 'explain'
           | 'fold'
           | 'from'
           | 'get'
           | 'given'
           | 'groupCount'
           | 'gt'
           | 'gte'
           | 'head'
           | 'id'
           | 'is'
           | 'last'
           | 'lt'
           | 'lte'
           | 'map'
           | 'merge'
           | 'mult'
           | 'neg'
           | 'noop'
           | 'one'
           | 'or'
           | 'path'
           | 'plus'
           | 'pow'
           | 'put'
           | 'q'
           | 'repeat'
           | 'split'
           | 'start'
           | 'tail'
           | 'to'
           | 'trace'
           | 'type'
           | 'zero'

referenced by:



  ... generated by RR - Railroad Diagram Generator