diff --git a/lab1_results/report.html b/lab1_results/report.html
new file mode 100644
index 0000000..1acbc41
--- /dev/null
+++ b/lab1_results/report.html
@@ -0,0 +1,170 @@
+
+
+
+
+
+
diff --git a/lab1_results/test_case/functional/05_arr_defn4.tree b/lab1_results/test_case/functional/05_arr_defn4.tree
new file mode 100644
index 0000000..eb877f5
--- /dev/null
+++ b/lab1_results/test_case/functional/05_arr_defn4.tree
@@ -0,0 +1,651 @@
+compUnit
+|-- funcDef
+| |-- funcType
+| | `-- Int: int
+| |-- Ident: main
+| |-- L_PAREN: (
+| |-- R_PAREN: )
+| `-- block
+| |-- L_BRACE: {
+| |-- blockItem
+| | `-- decl
+| | `-- constDecl
+| | |-- Const: const
+| | |-- bType
+| | | `-- Int: int
+| | |-- constDef
+| | | |-- Ident: a
+| | | |-- L_BRACKET: [
+| | | |-- constExp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 4
+| | | |-- R_BRACKET: ]
+| | | |-- L_BRACKET: [
+| | | |-- constExp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 2
+| | | |-- R_BRACKET: ]
+| | | |-- Assign: =
+| | | `-- constInitVal
+| | | |-- L_BRACE: {
+| | | |-- constInitVal
+| | | | |-- L_BRACE: {
+| | | | |-- constInitVal
+| | | | | `-- constExp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 1
+| | | | |-- Comma: ,
+| | | | |-- constInitVal
+| | | | | `-- constExp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 2
+| | | | `-- R_BRACE: }
+| | | |-- Comma: ,
+| | | |-- constInitVal
+| | | | |-- L_BRACE: {
+| | | | |-- constInitVal
+| | | | | `-- constExp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 3
+| | | | |-- Comma: ,
+| | | | |-- constInitVal
+| | | | | `-- constExp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 4
+| | | | `-- R_BRACE: }
+| | | |-- Comma: ,
+| | | |-- constInitVal
+| | | | |-- L_BRACE: {
+| | | | `-- R_BRACE: }
+| | | |-- Comma: ,
+| | | |-- constInitVal
+| | | | `-- constExp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 7
+| | | `-- R_BRACE: }
+| | `-- Semi: ;
+| |-- blockItem
+| | `-- decl
+| | `-- constDecl
+| | |-- Const: const
+| | |-- bType
+| | | `-- Int: int
+| | |-- constDef
+| | | |-- Ident: N
+| | | |-- Assign: =
+| | | `-- constInitVal
+| | | `-- constExp
+| | | `-- addExp
+| | | `-- mulExp
+| | | `-- unaryExp
+| | | `-- primaryExp
+| | | `-- number
+| | | `-- IntConst: 3
+| | `-- Semi: ;
+| |-- blockItem
+| | `-- decl
+| | `-- varDecl
+| | |-- bType
+| | | `-- Int: int
+| | |-- varDef
+| | | |-- Ident: b
+| | | |-- L_BRACKET: [
+| | | |-- constExp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 4
+| | | |-- R_BRACKET: ]
+| | | |-- L_BRACKET: [
+| | | |-- constExp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 2
+| | | |-- R_BRACKET: ]
+| | | |-- Assign: =
+| | | `-- initVal
+| | | |-- L_BRACE: {
+| | | `-- R_BRACE: }
+| | `-- Semi: ;
+| |-- blockItem
+| | `-- decl
+| | `-- varDecl
+| | |-- bType
+| | | `-- Int: int
+| | |-- varDef
+| | | |-- Ident: c
+| | | |-- L_BRACKET: [
+| | | |-- constExp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 4
+| | | |-- R_BRACKET: ]
+| | | |-- L_BRACKET: [
+| | | |-- constExp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 2
+| | | |-- R_BRACKET: ]
+| | | |-- Assign: =
+| | | `-- initVal
+| | | |-- L_BRACE: {
+| | | |-- initVal
+| | | | `-- exp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 1
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | `-- exp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 2
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | `-- exp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 3
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | `-- exp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 4
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | `-- exp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 5
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | `-- exp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 6
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | `-- exp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 7
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | `-- exp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 8
+| | | `-- R_BRACE: }
+| | `-- Semi: ;
+| |-- blockItem
+| | `-- decl
+| | `-- varDecl
+| | |-- bType
+| | | `-- Int: int
+| | |-- varDef
+| | | |-- Ident: d
+| | | |-- L_BRACKET: [
+| | | |-- constExp
+| | | | `-- addExp
+| | | | |-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- lVal
+| | | | | `-- Ident: N
+| | | | |-- AddOp: +
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 1
+| | | |-- R_BRACKET: ]
+| | | |-- L_BRACKET: [
+| | | |-- constExp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 2
+| | | |-- R_BRACKET: ]
+| | | |-- Assign: =
+| | | `-- initVal
+| | | |-- L_BRACE: {
+| | | |-- initVal
+| | | | `-- exp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 1
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | `-- exp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 2
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | |-- L_BRACE: {
+| | | | |-- initVal
+| | | | | `-- exp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 3
+| | | | `-- R_BRACE: }
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | |-- L_BRACE: {
+| | | | |-- initVal
+| | | | | `-- exp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 5
+| | | | `-- R_BRACE: }
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | `-- exp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- lVal
+| | | | |-- Ident: a
+| | | | |-- L_BRACKET: [
+| | | | |-- exp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 3
+| | | | |-- R_BRACKET: ]
+| | | | |-- L_BRACKET: [
+| | | | |-- exp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 0
+| | | | `-- R_BRACKET: ]
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | `-- exp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 8
+| | | `-- R_BRACE: }
+| | `-- Semi: ;
+| |-- blockItem
+| | `-- decl
+| | `-- varDecl
+| | |-- bType
+| | | `-- Int: int
+| | |-- varDef
+| | | |-- Ident: e
+| | | |-- L_BRACKET: [
+| | | |-- constExp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 4
+| | | |-- R_BRACKET: ]
+| | | |-- L_BRACKET: [
+| | | |-- constExp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 2
+| | | |-- R_BRACKET: ]
+| | | |-- L_BRACKET: [
+| | | |-- constExp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 1
+| | | |-- R_BRACKET: ]
+| | | |-- Assign: =
+| | | `-- initVal
+| | | |-- L_BRACE: {
+| | | |-- initVal
+| | | | |-- L_BRACE: {
+| | | | |-- initVal
+| | | | | `-- exp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- lVal
+| | | | | |-- Ident: d
+| | | | | |-- L_BRACKET: [
+| | | | | |-- exp
+| | | | | | `-- addExp
+| | | | | | `-- mulExp
+| | | | | | `-- unaryExp
+| | | | | | `-- primaryExp
+| | | | | | `-- number
+| | | | | | `-- IntConst: 2
+| | | | | |-- R_BRACKET: ]
+| | | | | |-- L_BRACKET: [
+| | | | | |-- exp
+| | | | | | `-- addExp
+| | | | | | `-- mulExp
+| | | | | | `-- unaryExp
+| | | | | | `-- primaryExp
+| | | | | | `-- number
+| | | | | | `-- IntConst: 1
+| | | | | `-- R_BRACKET: ]
+| | | | |-- Comma: ,
+| | | | |-- initVal
+| | | | | |-- L_BRACE: {
+| | | | | |-- initVal
+| | | | | | `-- exp
+| | | | | | `-- addExp
+| | | | | | `-- mulExp
+| | | | | | `-- unaryExp
+| | | | | | `-- primaryExp
+| | | | | | `-- lVal
+| | | | | | |-- Ident: c
+| | | | | | |-- L_BRACKET: [
+| | | | | | |-- exp
+| | | | | | | `-- addExp
+| | | | | | | `-- mulExp
+| | | | | | | `-- unaryExp
+| | | | | | | `-- primaryExp
+| | | | | | | `-- number
+| | | | | | | `-- IntConst: 2
+| | | | | | |-- R_BRACKET: ]
+| | | | | | |-- L_BRACKET: [
+| | | | | | |-- exp
+| | | | | | | `-- addExp
+| | | | | | | `-- mulExp
+| | | | | | | `-- unaryExp
+| | | | | | | `-- primaryExp
+| | | | | | | `-- number
+| | | | | | | `-- IntConst: 1
+| | | | | | `-- R_BRACKET: ]
+| | | | | `-- R_BRACE: }
+| | | | `-- R_BRACE: }
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | |-- L_BRACE: {
+| | | | |-- initVal
+| | | | | `-- exp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 3
+| | | | |-- Comma: ,
+| | | | |-- initVal
+| | | | | `-- exp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 4
+| | | | `-- R_BRACE: }
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | |-- L_BRACE: {
+| | | | |-- initVal
+| | | | | `-- exp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 5
+| | | | |-- Comma: ,
+| | | | |-- initVal
+| | | | | `-- exp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 6
+| | | | `-- R_BRACE: }
+| | | |-- Comma: ,
+| | | |-- initVal
+| | | | |-- L_BRACE: {
+| | | | |-- initVal
+| | | | | `-- exp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 7
+| | | | |-- Comma: ,
+| | | | |-- initVal
+| | | | | `-- exp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 8
+| | | | `-- R_BRACE: }
+| | | `-- R_BRACE: }
+| | `-- Semi: ;
+| |-- blockItem
+| | `-- stmt
+| | |-- Return: return
+| | |-- exp
+| | | `-- addExp
+| | | |-- addExp
+| | | | |-- addExp
+| | | | | |-- addExp
+| | | | | | `-- mulExp
+| | | | | | `-- unaryExp
+| | | | | | `-- primaryExp
+| | | | | | `-- lVal
+| | | | | | |-- Ident: e
+| | | | | | |-- L_BRACKET: [
+| | | | | | |-- exp
+| | | | | | | `-- addExp
+| | | | | | | `-- mulExp
+| | | | | | | `-- unaryExp
+| | | | | | | `-- primaryExp
+| | | | | | | `-- number
+| | | | | | | `-- IntConst: 3
+| | | | | | |-- R_BRACKET: ]
+| | | | | | |-- L_BRACKET: [
+| | | | | | |-- exp
+| | | | | | | `-- addExp
+| | | | | | | `-- mulExp
+| | | | | | | `-- unaryExp
+| | | | | | | `-- primaryExp
+| | | | | | | `-- number
+| | | | | | | `-- IntConst: 1
+| | | | | | |-- R_BRACKET: ]
+| | | | | | |-- L_BRACKET: [
+| | | | | | |-- exp
+| | | | | | | `-- addExp
+| | | | | | | `-- mulExp
+| | | | | | | `-- unaryExp
+| | | | | | | `-- primaryExp
+| | | | | | | `-- number
+| | | | | | | `-- IntConst: 0
+| | | | | | `-- R_BRACKET: ]
+| | | | | |-- AddOp: +
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- lVal
+| | | | | |-- Ident: e
+| | | | | |-- L_BRACKET: [
+| | | | | |-- exp
+| | | | | | `-- addExp
+| | | | | | `-- mulExp
+| | | | | | `-- unaryExp
+| | | | | | `-- primaryExp
+| | | | | | `-- number
+| | | | | | `-- IntConst: 0
+| | | | | |-- R_BRACKET: ]
+| | | | | |-- L_BRACKET: [
+| | | | | |-- exp
+| | | | | | `-- addExp
+| | | | | | `-- mulExp
+| | | | | | `-- unaryExp
+| | | | | | `-- primaryExp
+| | | | | | `-- number
+| | | | | | `-- IntConst: 0
+| | | | | |-- R_BRACKET: ]
+| | | | | |-- L_BRACKET: [
+| | | | | |-- exp
+| | | | | | `-- addExp
+| | | | | | `-- mulExp
+| | | | | | `-- unaryExp
+| | | | | | `-- primaryExp
+| | | | | | `-- number
+| | | | | | `-- IntConst: 0
+| | | | | `-- R_BRACKET: ]
+| | | | |-- AddOp: +
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- lVal
+| | | | |-- Ident: e
+| | | | |-- L_BRACKET: [
+| | | | |-- exp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 0
+| | | | |-- R_BRACKET: ]
+| | | | |-- L_BRACKET: [
+| | | | |-- exp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 1
+| | | | |-- R_BRACKET: ]
+| | | | |-- L_BRACKET: [
+| | | | |-- exp
+| | | | | `-- addExp
+| | | | | `-- mulExp
+| | | | | `-- unaryExp
+| | | | | `-- primaryExp
+| | | | | `-- number
+| | | | | `-- IntConst: 0
+| | | | `-- R_BRACKET: ]
+| | | |-- AddOp: +
+| | | `-- mulExp
+| | | `-- unaryExp
+| | | `-- primaryExp
+| | | `-- lVal
+| | | |-- Ident: d
+| | | |-- L_BRACKET: [
+| | | |-- exp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 3
+| | | |-- R_BRACKET: ]
+| | | |-- L_BRACKET: [
+| | | |-- exp
+| | | | `-- addExp
+| | | | `-- mulExp
+| | | | `-- unaryExp
+| | | | `-- primaryExp
+| | | | `-- number
+| | | | `-- IntConst: 0
+| | | `-- R_BRACKET: ]
+| | `-- Semi: ;
+| `-- R_BRACE: }
+`-- EOF: