program:

program  ::= statement*

no references


statement:

statement
         ::= if
           | for
           | attribuition
           | ( functioncall | increment | decrement | return | read | write | 'break' ) ';'

referenced by:


if:

if       ::= 'if' '(' expression ')' body ( 'else' 'if' '(' expression ')' body )* ( 'else' body )?

referenced by:


for:

for      ::= 'for' '(' attribuition? ';' expression? ';' ( attribuition | increment | decrement )? ')' body

referenced by:


attribuition:

attribuition
         ::= functiondecl
           | vardecl ';'

referenced by:


functiondecl:

functiondecl
         ::= 'id' ':' function

referenced by:


vardecl:

vardecl  ::= 'id' ':' expression

referenced by:


increment:

increment
         ::= 'id' '++'

referenced by:


decrement:

decrement
         ::= 'id' '--'

referenced by:


return:

return   ::= 'return' expression?

referenced by:


read:

read     ::= 'read' 'id'

referenced by:


write:

write    ::= 'write' expression

referenced by:


function:

function ::= '(' param? ')' body

referenced by:


expression:

expression
         ::= side ( ( '<' | '>' | '<=' | '>=' | '!=' | '=' ) side )? ( ( 'and' | 'or' ) side ( ( '<' | '>' | '<=' | '>=' | '!=' | '=' ) side )? )*

referenced by:


param:

param    ::= 'id' ( ',' 'id' )*

referenced by:


body:

body     ::= '{' statement* '}'

referenced by:


side:

side     ::= term ( ( '+' | '-' ) term )*

referenced by:


term:

term     ::= unaryexpr ( ( '*' | '/' | '%' ) unaryexpr )*

referenced by:


unaryexpr:

unaryexpr
         ::= ( '+' | '-' )? factor

referenced by:


factor:

factor   ::= bool
           | 'number'
           | 'text'
           | 'id'
           | 'null'
           | functioncall
           | '(' expression ')'

referenced by:


bool:

bool     ::= 'true'
           | 'false'

referenced by:


functioncall:

functioncall
         ::= 'id' '(' paramcall? ')'

referenced by:


paramcall:

paramcall
         ::= expression ( ',' expression )*

referenced by:



  ... generated by Railroad Diagram Generator