ifStatement

"if" _ "(" _ callExpression _ ")" _ ifStatement _ "else" _ ifStatement callExpression

callExpression

name _ arguments expression

arguments

"(" _ expression _ "," _ expression _ ")"

expression

equalityExpression

equalityExpression

equalityExpression _ equalityOperator _ relationalExpression relationalExpression

relationalExpression

relationalExpression _ relationalOperator _ orExpression orExpression

orExpression

orExpression _ orOperator _ andExpression andExpression

andExpression

andExpression _ andOperator _ additiveExpression additiveExpression

additiveExpression

additiveExpression _ additiveOperator _ multiplicativeExpression multiplicativeExpression

multiplicativeExpression

multiplicativeExpression _ multiplicativeOperator _ rollExpression rollExpression

rollExpression

rollExpression _ "d" _ exponentExpression exponentExpression

exponentExpression

parenthesizedExpression _ exponentOperator _ exponentExpression parenthesizedExpression

parenthesizedExpression

"(" _ expression _ ")" valueExpression

valueExpression

name number string

number

number

name

name

string

string

_

null space