program
statement
statement
statement
if_stmt
if_stmt
function_def
function_def
assignment_stmt
assignment_stmt
dict_set_stmt
dict_set_stmt
TERM
TERM
if_stmt
IF
IF
conditional_expr
conditional_expr
COLON
COLON
end of line
end of line
block
block
end of line
end of line
ELIF
ELIF
conditional_expr
conditional_expr
COLON
COLON
end of line
end of line
block
block
end of line
end of line
ELSE
ELSE
COLON
COLON
end of line
end of line
block
block
IF
'if'
comparison_op operations
expr
expr
nested_expr_expression
nested_expr_expression
comparison_op
comparison_op
expr
expr
nested_expr_expression
nested_expr_expression
expr
expr
nested_expr_expression
nested_expr_expression
expr
string_expr
string_expr
bool_expr
bool_expr
arith_expr
arith_expr
string_expr
'^' operations
'^' operations
'^' operations
string
string
nested_string_expression
nested_string_expression
CONCAT
CONCAT
string
string
nested_string_expression
nested_string_expression
string
string
nested_string_expression
nested_string_expression
nested_string_expression
'('
[suppress]
string_expr
string_expr
')'
[suppress]
CONCAT
'^'
string
"([^\\"]|\\[\\nrt])*"
bool_expr
'or' operations
'or' operations
'or' operations
'and' operations
'and' operations
OR
OR
'and' operations
'and' operations
'and' operations
'and' operations
'and' operations
'not' operations
'not' operations
AND
AND
'not' operations
'not' operations
'not' operations
'not' operations
'not' operations
NOT
NOT
'not' operations
'not' operations
TRUE
TRUE
FALSE
FALSE
conditional_expr
conditional_expr
nested_bool_operand_expression
nested_bool_operand_expression
NOT
'not'
TRUE
'true'
FALSE
'false'
conditional_expr
comparison_op operations
comparison_op operations
nested_bool_operand_expression
'('
[suppress]
bool_expr
bool_expr
')'
[suppress]
AND
'and'
OR
'or'
arith_expr
add_op operations
add_op operations
add_op operations
mul_op operations
mul_op operations
add_op
add_op
mul_op operations
mul_op operations
mul_op operations
mul_op operations
mul_op operations
unary_minus operations
unary_minus operations
mul_op
mul_op
unary_minus operations
unary_minus operations
unary_minus operations
unary_minus operations
unary_minus operations
unary_minus
unary_minus
unary_minus operations
unary_minus operations
float
float
integer
integer
nested_arith_operand_expression
nested_arith_operand_expression
unary_minus
'-'
float
(0|[1-9]\d*)\.\d*
integer
0|[1-9][0-9]*
nested_arith_operand_expression
'('
[suppress]
arith_expr
arith_expr
')'
[suppress]
mul_op
MUL
MUL
DIV
DIV
MOD
MOD
MUL
'*'
DIV
'/'
MOD
'%'
add_op
ADD
ADD
SUB
SUB
ADD
'+'
SUB
'-'
nested_expr_expression
'('
[suppress]
conditional_expr
conditional_expr
')'
[suppress]
comparison_op
LE
LE
GE
GE
LT
LT
GT
GT
EQ
EQ
NE
NE
LE
'<='
GE
'>='
LT
'<'
GT
'>'
EQ
'=='
NE
'!='
block
statement
statement
end of line
end of line
ELIF
'elif'
ELSE
'else'
function_def
DEF
DEF
identifier
identifier
LPAR
LPAR
identifier
identifier
','
[suppress]
identifier
identifier
RPAR
RPAR
COLON
COLON
end of line
end of line
block
block
END
END
DEF
'def'
identifier
[a-z][a-zA-Z0-9_]*
LPAR
'('
[suppress]
RPAR
')'
[suppress]
COLON
':'
[suppress]
END
'end'
assignment_stmt
identifier
identifier
'='
expr
expr
dict_set_stmt
identifier
identifier
LSQUARE
LSQUARE
expr
expr
RSQUARE
RSQUARE
DICT_SET
DICT_SET
expr
expr
LSQUARE
'['
[suppress]
RSQUARE
']'
[suppress]
DICT_SET
'<-'
TERM
end of line
end of line
end of text
end of text
end of line
LineEnd
end of text
StringEnd