# program

# stmt

# statement

# empty_statement

# assignment_stmt

# identifier

# ident_name

# EQ

# arith_operand_expression

# || operations

# && operations

# == | != operations

# <= | < | >= | > operations

# + | - operations

# * | / | % operations

# + | - | ! operations

# + | - | !

# integer

# char

# nested_arith_operand

# * | / | %

# + | -

# <= | < | >= | >

# == | !=

# &&

# ||

# while_stmt

# WHILE

# paren_expr

# if_stmt

# IF

# ELSE

# print_stmt

# PRINT

# LPAR

# prt_list

# quoted string

# RPAR

# putc_stmt

# PUTC

# SEMI

# stmt_list

# LBRACE

# RBRACE