[
"$end",
"error",
"ILLEGAL",
"IDENTIFIER",
"STRING",
"FLOAT",
"INT",
"BOOL",
"NONE",
"PLUS",
"MINUS",
"STAR",
"SLASH",
"MODULO",
"GREATER",
"GREATEREQ",
"LESS",
"LESSEQ",
"EQUAL",
"EQUALEQ",
"BANG",
"BANGEQ",
"AND",
"OR",
"NOT",
"PIPE",
"LBRACE",
"RBRACE",
"LSQUARE",
"RSQUARE",
"LPAREN",
"RPAREN",
"COMMA",
"COLON",
"SEMI",
"DOT",
"IF",
"ELSE",
"LOOP",
"LEAVE",
"SWITCH",
"PACKAGE",
"IMPORT",
"CONST",
"DATA",
"FUN",
"LET",
"MUT",
"TRY",
"RETURN",
"EQARROW",
"ARROW",
"EOF",
"UMINUS",
"$start",
"program",
"top_stmts",
"top_stmt",
"const_stmt",
"fun_def",
"data_def",
"import_stmt",
"package_stmt",
"expr_stmt",
"block_stmts",
"block_stmt",
"let_stmt",
"assign_stmt",
"return_stmt",
"leave_stmt",
"loop_stmt",
"expr",
"postfix_expr",
"path",
"params",
"block",
"param_list",
"field_list",
"field",
"or_expr",
"and_expr",
"cmp_expr",
"add_expr",
"mul_expr",
"unary_expr",
"primary",
"args",
"list_lit",
"if_expr",
"switch_expr",
"try_expr",
"fun_lit",
"else_clause",
"switch_body",
"else_arm",
"switch_arm" ]