# program

# declaration

# class_decl

# CLASS

# function

# parameters

# block

# LBRACE

# property_

# RBRACE

# fun_decl

# FUN

# var_decl

# VAR

# expression

# assignment

# call

# primary

# arguments

# EQ

# arith_operand_expression

# 'or' operations

# 'and' operations

# != | == operations

# >= | > | <= | < operations

# - | + operations

# / | * operations

# ! | - operations

# ! | -

# TRUE

# FALSE

# NIL

# THIS

# number

# string

# SUPER

# identifier

# nested_arith_operand

# / | *

# - | +

# >= | > | <= | <

# != | ==

# AND

# OR

# statement

# expr_statement

# for_statement

# FOR

# if_statement

# IF

# ELSE

# print_statement

# PRINT

# return_statement

# RETURN

# SEMI

# while_statement

# WHILE

# LPAR

# RPAR