	.file	"81287.c"
	.intel_syntax noprefix
	.text
	.globl	flag
	.bss
	.align 4
	.type	flag, @object
	.size	flag, 4
flag:
	.zero	4
	.globl	currfunctype
	.align 32
	.type	currfunctype, @object
	.size	currfunctype, 100
currfunctype:
	.zero	100
	.globl	currfunc
	.align 32
	.type	currfunc, @object
	.size	currfunc, 100
currfunc:
	.zero	100
	.globl	currfunccall
	.align 32
	.type	currfunccall, @object
	.size	currfunccall, 100
currfunccall:
	.zero	100
	.globl	call_params_count
	.align 4
	.type	call_params_count, @object
	.size	call_params_count, 4
call_params_count:
	.zero	4
	.globl	call_params_types
	.align 32
	.type	call_params_types, @object
	.size	call_params_types, 10000
call_params_types:
	.zero	10000
	.section	.rodata
	.align 32
	.type	yytranslate, @object
	.size	yytranslate, 318
yytranslate:
	.string	""
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002CD\002\002@\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002?\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002A\002B\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002E\002F\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\001\002\003\004\005\006\007\b\t"
	.ascii	"\n\013\f\r\016\017\020\021\022\023\024\025\026\027\030\031\032"
	.ascii	"\033\034\035\036\037 !\"#$%&'()*+,-./0123456789:;<=>"
	.align 32
	.type	yypact, @object
	.size	yypact, 434
yypact:
	.value	171
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	16
	.value	67
	.value	77
	.value	132
	.value	-63
	.value	7
	.value	-63
	.value	171
	.value	-63
	.value	-12
	.value	-63
	.value	171
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	16
	.value	67
	.value	-63
	.value	-63
	.value	16
	.value	67
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	15
	.value	-63
	.value	-41
	.value	-63
	.value	-63
	.value	-63
	.value	43
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	4
	.value	4
	.value	-63
	.value	69
	.value	63
	.value	97
	.value	123
	.value	-5
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	53
	.value	61
	.value	3
	.value	66
	.value	68
	.value	97
	.value	57
	.value	75
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	123
	.value	-63
	.value	123
	.value	-63
	.value	69
	.value	-63
	.value	-63
	.value	65
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	80
	.value	111
	.value	112
	.value	-63
	.value	153
	.value	44
	.value	70
	.value	-63
	.value	135
	.value	-63
	.value	-63
	.value	-63
	.value	111
	.value	-63
	.value	86
	.value	115
	.value	-63
	.value	91
	.value	171
	.value	-63
	.value	123
	.value	-63
	.value	95
	.value	123
	.value	123
	.value	143
	.value	-63
	.value	-63
	.value	96
	.value	-63
	.value	116
	.value	29
	.value	-63
	.value	123
	.value	123
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	141
	.value	-63
	.value	-63
	.value	141
	.value	-63
	.value	-63
	.value	-63
	.value	141
	.value	123
	.value	123
	.value	123
	.value	123
	.value	123
	.value	123
	.value	-63
	.value	-63
	.value	146
	.value	162
	.value	-63
	.value	122
	.value	-63
	.value	-63
	.value	-37
	.value	-63
	.value	-27
	.value	126
	.value	124
	.value	123
	.value	123
	.value	-63
	.value	29
	.value	125
	.value	112
	.value	-63
	.value	44
	.value	70
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-17
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	123
	.value	123
	.value	-63
	.value	136
	.value	-63
	.value	127
	.value	-63
	.value	-63
	.value	168
	.value	97
	.value	97
	.value	25
	.value	27
	.value	130
	.value	-63
	.value	-63
	.value	142
	.value	137
	.value	177
	.value	-63
	.value	-63
	.value	-63
	.value	123
	.value	-63
	.value	168
	.value	-63
	.value	-63
	.value	97
	.value	-63
	.value	123
	.value	147
	.value	-63
	.value	-63
	.value	-63
	.value	144
	.value	-63
	.value	130
	.value	-63
	.value	-63
	.align 32
	.type	yydefact, @object
	.size	yydefact, 217
yydefact:
	.string	""
	.string	"\030\031\032\033*,($ "
	.string	"\002\005\006"
	.string	"\0071)\034+\035%*,\037!*,\036\001\004\003\013\r"
	.string	"\n2-"
	.string	"0&'\"#.\022\022\b"
	.string	""
	.string	"B"
	.string	""
	.string	"\f\017\016\013\t736"
	.string	""
	.string	""
	.string	""
	.string	"B"
	.string	"|}\213\214\215\216"
	.string	"G"
	.string	"A"
	.string	"/<"
	.string	";=>?@"
	.string	"bdfhjrv{z\200\201\020{"
	.string	""
	.string	"\021:"
	.string	"4"
	.string	"R"
	.string	""
	.string	""
	.string	""
	.string	"T\202"
	.string	"g"
	.string	"BF"
	.string	""
	.string	"oplnkm"
	.string	"st"
	.string	"wxy"
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	""
	.string	"`a\027"
	.string	"\024"
	.string	"85"
	.string	"S"
	.string	""
	.string	""
	.string	"\205"
	.string	"\177B"
	.string	"ceiqu_]^[\\Z"
	.string	"\023\025\026U9HL"
	.string	""
	.string	"\206"
	.string	"\204"
	.string	"DC"
	.string	"BB"
	.string	""
	.string	"\212\203~Y"
	.string	"KMNP"
	.string	"\207"
	.string	"WVBI"
	.string	""
	.string	"\210XJ"
	.ascii	"Q\212O\211"
	.align 32
	.type	yypgoto, @object
	.size	yypgoto, 140
yypgoto:
	.value	-63
	.value	-63
	.value	197
	.value	-63
	.value	-63
	.value	6
	.value	-63
	.value	163
	.value	-63
	.value	-63
	.value	167
	.value	-63
	.value	-63
	.value	-63
	.value	5
	.value	-63
	.value	-63
	.value	-10
	.value	41
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	110
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-50
	.value	-63
	.value	-63
	.value	58
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	73
	.value	-63
	.value	17
	.value	-63
	.value	-61
	.value	-49
	.value	98
	.value	-62
	.value	-63
	.value	-63
	.value	93
	.value	-63
	.value	88
	.value	-63
	.value	87
	.value	-47
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	-63
	.value	8
	.value	-63
	.value	-63
	.align 32
	.type	yydefgoto, @object
	.size	yydefgoto, 140
yydefgoto:
	.value	-1
	.value	10
	.value	11
	.value	31
	.value	12
	.value	76
	.value	34
	.value	35
	.value	45
	.value	46
	.value	53
	.value	54
	.value	102
	.value	171
	.value	77
	.value	28
	.value	24
	.value	18
	.value	20
	.value	15
	.value	16
	.value	37
	.value	38
	.value	39
	.value	49
	.value	59
	.value	105
	.value	60
	.value	103
	.value	147
	.value	157
	.value	79
	.value	80
	.value	158
	.value	81
	.value	82
	.value	187
	.value	206
	.value	83
	.value	188
	.value	207
	.value	208
	.value	84
	.value	85
	.value	145
	.value	173
	.value	195
	.value	203
	.value	86
	.value	87
	.value	88
	.value	89
	.value	90
	.value	127
	.value	91
	.value	130
	.value	92
	.value	134
	.value	93
	.value	94
	.value	114
	.value	95
	.value	96
	.value	154
	.value	181
	.value	182
	.value	191
	.value	201
	.value	214
	.value	97
	.align 32
	.type	yytable, @object
	.size	yytable, 446
yytable:
	.value	78
	.value	108
	.value	98
	.value	119
	.value	99
	.value	14
	.value	13
	.value	29
	.value	174
	.value	32
	.value	33
	.value	115
	.value	40
	.value	119
	.value	116
	.value	111
	.value	42
	.value	14
	.value	13
	.value	100
	.value	17
	.value	36
	.value	47
	.value	48
	.value	67
	.value	68
	.value	99
	.value	69
	.value	70
	.value	71
	.value	72
	.value	176
	.value	61
	.value	1
	.value	2
	.value	3
	.value	4
	.value	5
	.value	6
	.value	7
	.value	8
	.value	177
	.value	62
	.value	51
	.value	9
	.value	63
	.value	64
	.value	65
	.value	66
	.value	152
	.value	67
	.value	68
	.value	186
	.value	69
	.value	70
	.value	71
	.value	72
	.value	149
	.value	160
	.value	99
	.value	151
	.value	101
	.value	99
	.value	73
	.value	41
	.value	119
	.value	107
	.value	119
	.value	43
	.value	52
	.value	75
	.value	19
	.value	99
	.value	99
	.value	164
	.value	165
	.value	166
	.value	167
	.value	168
	.value	169
	.value	99
	.value	21
	.value	44
	.value	99
	.value	58
	.value	22
	.value	23
	.value	99
	.value	198
	.value	73
	.value	56
	.value	33
	.value	74
	.value	180
	.value	183
	.value	199
	.value	75
	.value	128
	.value	129
	.value	-69
	.value	61
	.value	1
	.value	2
	.value	3
	.value	4
	.value	5
	.value	6
	.value	7
	.value	8
	.value	36
	.value	62
	.value	50
	.value	9
	.value	63
	.value	64
	.value	65
	.value	66
	.value	104
	.value	67
	.value	68
	.value	112
	.value	69
	.value	70
	.value	71
	.value	72
	.value	131
	.value	132
	.value	133
	.value	106
	.value	189
	.value	190
	.value	99
	.value	99
	.value	109
	.value	117
	.value	110
	.value	25
	.value	196
	.value	197
	.value	209
	.value	26
	.value	27
	.value	113
	.value	118
	.value	67
	.value	68
	.value	212
	.value	69
	.value	70
	.value	71
	.value	72
	.value	119
	.value	143
	.value	120
	.value	144
	.value	211
	.value	146
	.value	73
	.value	150
	.value	153
	.value	74
	.value	155
	.value	67
	.value	68
	.value	75
	.value	69
	.value	70
	.value	71
	.value	72
	.value	135
	.value	136
	.value	137
	.value	138
	.value	139
	.value	140
	.value	1
	.value	2
	.value	3
	.value	4
	.value	5
	.value	6
	.value	7
	.value	8
	.value	73
	.value	156
	.value	170
	.value	9
	.value	174
	.value	175
	.value	178
	.value	75
	.value	179
	.value	194
	.value	193
	.value	200
	.value	185
	.value	141
	.value	142
	.value	121
	.value	122
	.value	123
	.value	124
	.value	125
	.value	126
	.value	192
	.value	205
	.value	202
	.value	204
	.value	75
	.value	30
	.value	213
	.value	57
	.value	215
	.value	55
	.value	148
	.value	184
	.value	172
	.value	159
	.value	162
	.value	210
	.value	161
	.value	163
	.value	216
	.align 32
	.type	yycheck, @object
	.size	yycheck, 223
yycheck:
	.string	"2>3(3"
	.string	""
	.string	""
	.ascii	"\031\025\026I\026(KA\032\f\f\030\004\020?@\025\026I\030\031\032"
	.ascii	"\033D\003\004\005\006\007\b\t\n\013D\r'\017\020\021\022\023n"
	.ascii	"\025\026E\030\031\032\033jxjmBm<\027(?(\033AC\004wx\207\210\211"
	.ascii	"\212\213\214\177\004C\202\025\b\t\206?<\025\026?\232\233DC56"
	.ascii	"F\003\004\005\006\007\b\t\n\013h\rD\017\020\021\022\023@\025"
	.ascii	"\026?\030\031\032\033789C\262\263\262\263CEC\004\273\274\310"
	.ascii	"\b\tC?\025\026\317\030\031\032\033(B)'\315A<?\020?A\025\026C"
	.ascii	"\030\031\032\033\"#$%&'\004\005\006\007\b\t\n\013<D'\017\031"
	.ascii	"B?CC\030B@F=>-./012D\034@FC\f?0D.h\235\217w\202\312\177\206\326"
	.align 32
	.type	yystos, @object
	.size	yystos, 217
yystos:
	.string	""
	.string	"\004\005\006\007\b\t\n\013\017HIKLUZ[\004X\004Y\004\b\tW\004\b\tV"
	.ascii	"IJ\025\026MNU\\]^XYXYCOP?@_D'AQRQ\025N\025`b\003\r\020\021\022"
	.ascii	"\023\025\026\030\031\032\033<?CLUefgijmqrwxyz{}\177\201\202\204"
	.ascii	"\205\214x\202\030BSc@aC?wCCe?C\203zwE?()-./012|56~789\200\"#"
	.ascii	"$%&'=>B'sAd^x?xw\020\206ADehyz}\177\201wwwwww'Tst\031BDD?Cw\207"
	.ascii	"\210whFEknxx\211DB\030uee?D@\212@vF\034lopwuew?\213D\212"
	.align 32
	.type	yyr1, @object
	.size	yyr1, 143
yyr1:
	.string	""
	.ascii	"GHIJJKKLMMONPNQQRRSSTTTUUUUUUUUUVVVVWWWWXXYYZ[\\]]_^`aacbdde"
	.ascii	"eeeeeegfhhiikjllnmompmqqrstuvvwwwwwwwwwxxyyzz{{||||||}}~~\177"
	.ascii	"\177\200\200\200\201\201\202\203\202\204\204\204\206\205\207"
	.ascii	"\207\211\210\213\212\212\214\214\214\214"
	.align 32
	.type	yyr2, @object
	.size	yyr2, 143
yyr2:
	.string	""
	.string	"\002\001\002\001"
	.string	"\001\001\003\003\001"
	.string	"\003"
	.string	"\003\001\002\002"
	.string	"\003\002\001\001"
	.string	"\001\001\001\001\002\002\002\002\001\001\002\002"
	.string	"\001\002\002"
	.string	"\001"
	.string	"\001"
	.string	"\002\003\003\001"
	.string	""
	.string	"\003\002\002"
	.string	""
	.string	"\003\002"
	.string	"\001\001\001\001\001\001\001"
	.string	"\004\002"
	.string	"\002\001"
	.string	"\007\002"
	.string	""
	.string	"\006"
	.string	"\t"
	.string	"\b\002\003\002\002\004\002\002"
	.string	"\003\003\003\003\003\003\002\002\001\003\001\003\001\002\001\003\001\001\001\001\001\001\001\003\001\001\001\003\001\001\001\001\001\001\001"
	.string	"\005\003\001\001"
	.string	"\005\001"
	.string	""
	.string	"\003"
	.string	"\004"
	.ascii	"\001\001\001\001"
.LC0:
	.string	"Deleting"
	.text
	.type	yydestruct, @function
yydestruct:
.LFB6:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	QWORD PTR -8[rbp], rdi
	mov	DWORD PTR -12[rbp], esi
	mov	QWORD PTR -24[rbp], rdx
	cmp	QWORD PTR -8[rbp], 0
	jne	.L3
	lea	rax, .LC0[rip]
	mov	QWORD PTR -8[rbp], rax
.L3:
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE6:
	.size	yydestruct, .-yydestruct
	.globl	yychar
	.bss
	.align 4
	.type	yychar, @object
	.size	yychar, 4
yychar:
	.zero	4
	.globl	yylval
	.align 4
	.type	yylval, @object
	.size	yylval, 4
yylval:
	.zero	4
	.globl	yynerrs
	.align 4
	.type	yynerrs, @object
	.size	yynerrs, 4
yynerrs:
	.zero	4
	.section	.rodata
	.align 8
.LC1:
	.string	"\033[31mERROR : Duplicate instance of variable declaration.\n\033[0m"
	.align 8
.LC2:
	.string	"\033[31mERROR : Array size cannot be non positive value.\n\033[0m"
	.align 8
.LC3:
	.string	"\033[31mERROR : Condition supplied must be a non-negative integer, expressions are not permitted.\n\033[0m"
.LC4:
	.string	"void"
	.align 8
.LC5:
	.string	"\033[31mERROR : Non-void function returning void.\n\033[0m"
	.align 8
.LC6:
	.string	"\033[31mERROR : Void function returning value.\033[0m"
	.align 8
.LC7:
	.string	"\033[31mERROR : Function returns value that cannot be cast to defined return type.\n\033[0m"
	.align 8
.LC8:
	.string	"\033[31mERROR : Type mismatch\n\033[0m"
	.align 8
.LC9:
	.string	"\033[31mERROR : Function name used as an identifier.\n\033[0m"
	.align 8
.LC10:
	.string	"\033[31mERROR : Identifier not found in scope.\n\033[0m"
	.align 8
.LC11:
	.string	"\033[31mERROR : Array ID has no subscript\n\033[0m"
.LC12:
	.string	"Function"
	.align 8
.LC13:
	.string	"\033[31mERROR : Function declaration not found in scope.\n\033[0m"
.LC14:
	.string	"printf"
.LC15:
	.string	"\ncount : %d, expected : %d\n"
	.align 8
.LC16:
	.string	"ERROR: Number of arguments in function call doesn't match number of parameters"
.LC17:
	.string	"syntax error"
.LC18:
	.string	"Error: discarding"
.LC19:
	.string	"Error: popping"
.LC20:
	.string	"memory exhausted"
.LC21:
	.string	"Cleanup: discarding lookahead"
.LC22:
	.string	"Cleanup: popping"
	.text
	.globl	yyparse
	.type	yyparse, @function
yyparse:
.LFB7:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 1136
	mov	rax, QWORD PTR fs:40
	mov	QWORD PTR -8[rbp], rax
	xor	eax, eax
	mov	DWORD PTR -1120[rbp], 0
	mov	DWORD PTR -1112[rbp], 0
	lea	rax, -208[rbp]
	mov	QWORD PTR -1088[rbp], rax
	mov	rax, QWORD PTR -1088[rbp]
	mov	QWORD PTR -1080[rbp], rax
	lea	rax, -1008[rbp]
	mov	QWORD PTR -1072[rbp], rax
	mov	rax, QWORD PTR -1072[rbp]
	mov	QWORD PTR -1064[rbp], rax
	mov	QWORD PTR -1056[rbp], 200
	mov	DWORD PTR -1136[rbp], 0
	mov	DWORD PTR -1132[rbp], 0
	mov	DWORD PTR yynerrs[rip], 0
	mov	DWORD PTR yychar[rip], -2
	jmp	.L5
.L6:
	add	QWORD PTR -1080[rbp], 1
.L5:
	mov	eax, DWORD PTR -1136[rbp]
	mov	edx, eax
	mov	rax, QWORD PTR -1080[rbp]
	mov	BYTE PTR [rax], dl
	mov	rax, QWORD PTR -1056[rbp]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -1088[rbp]
	add	rax, rdx
	cmp	QWORD PTR -1080[rbp], rax
	jb	.L7
	mov	rax, QWORD PTR -1080[rbp]
	sub	rax, QWORD PTR -1088[rbp]
	add	rax, 1
	mov	QWORD PTR -1048[rbp], rax
	cmp	QWORD PTR -1056[rbp], 9999
	jg	.L190
	sal	QWORD PTR -1056[rbp]
	cmp	QWORD PTR -1056[rbp], 10000
	jle	.L10
	mov	QWORD PTR -1056[rbp], 10000
.L10:
	mov	rax, QWORD PTR -1088[rbp]
	mov	QWORD PTR -1040[rbp], rax
	mov	rdx, QWORD PTR -1056[rbp]
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	add	rax, 3
	mov	rdi, rax
	call	malloc@PLT
	mov	QWORD PTR -1032[rbp], rax
	cmp	QWORD PTR -1032[rbp], 0
	je	.L191
	mov	rax, QWORD PTR -1048[rbp]
	mov	rcx, QWORD PTR -1032[rbp]
	mov	rdx, QWORD PTR -1088[rbp]
	mov	rsi, rdx
	mov	rdx, rax
	mov	rdi, rcx
	call	memcpy@PLT
	mov	rax, QWORD PTR -1032[rbp]
	mov	QWORD PTR -1088[rbp], rax
	mov	rax, QWORD PTR -1056[rbp]
	add	rax, 3
	mov	QWORD PTR -1024[rbp], rax
	mov	rax, QWORD PTR -1024[rbp]
	lea	rdx, 3[rax]
	test	rax, rax
	cmovs	rax, rdx
	sar	rax, 2
	sal	rax, 2
	add	QWORD PTR -1032[rbp], rax
	mov	rax, QWORD PTR -1048[rbp]
	lea	rcx, 0[0+rax*4]
	mov	rdx, QWORD PTR -1032[rbp]
	mov	rax, QWORD PTR -1072[rbp]
	mov	rdi, rdx
	mov	rdx, rcx
	mov	rsi, rax
	call	memcpy@PLT
	mov	rax, QWORD PTR -1032[rbp]
	mov	QWORD PTR -1072[rbp], rax
	mov	rax, QWORD PTR -1056[rbp]
	sal	rax, 2
	add	rax, 3
	mov	QWORD PTR -1016[rbp], rax
	mov	rax, QWORD PTR -1016[rbp]
	lea	rdx, 3[rax]
	test	rax, rax
	cmovs	rax, rdx
	sar	rax, 2
	sal	rax, 2
	add	QWORD PTR -1032[rbp], rax
	lea	rax, -208[rbp]
	cmp	QWORD PTR -1040[rbp], rax
	je	.L12
	mov	rax, QWORD PTR -1040[rbp]
	mov	rdi, rax
	call	free@PLT
.L12:
	mov	rax, QWORD PTR -1048[rbp]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -1088[rbp]
	add	rax, rdx
	mov	QWORD PTR -1080[rbp], rax
	mov	rax, QWORD PTR -1048[rbp]
	sal	rax, 2
	lea	rdx, -4[rax]
	mov	rax, QWORD PTR -1072[rbp]
	add	rax, rdx
	mov	QWORD PTR -1064[rbp], rax
	mov	rax, QWORD PTR -1056[rbp]
	lea	rdx, -1[rax]
	mov	rax, QWORD PTR -1088[rbp]
	add	rax, rdx
	cmp	QWORD PTR -1080[rbp], rax
	jnb	.L192
.L7:
	cmp	DWORD PTR -1136[rbp], 29
	je	.L193
	nop
.L16:
	mov	eax, DWORD PTR -1136[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, yypact[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -1128[rbp], eax
	cmp	DWORD PTR -1128[rbp], -63
	je	.L194
	mov	eax, DWORD PTR yychar[rip]
	cmp	eax, -2
	jne	.L19
	mov	eax, 0
	call	yylex@PLT
	mov	DWORD PTR yychar[rip], eax
.L19:
	mov	eax, DWORD PTR yychar[rip]
	test	eax, eax
	jg	.L20
	mov	DWORD PTR -1120[rbp], 0
	mov	eax, DWORD PTR -1120[rbp]
	mov	DWORD PTR yychar[rip], eax
	jmp	.L21
.L20:
	mov	eax, DWORD PTR yychar[rip]
	test	eax, eax
	js	.L22
	mov	eax, DWORD PTR yychar[rip]
	cmp	eax, 317
	jg	.L22
	mov	eax, DWORD PTR yychar[rip]
	cdqe
	lea	rdx, yytranslate[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	jmp	.L23
.L22:
	mov	eax, 2
.L23:
	mov	DWORD PTR -1120[rbp], eax
.L21:
	mov	eax, DWORD PTR -1120[rbp]
	add	DWORD PTR -1128[rbp], eax
	cmp	DWORD PTR -1128[rbp], 0
	js	.L195
	cmp	DWORD PTR -1128[rbp], 222
	jg	.L195
	mov	eax, DWORD PTR -1128[rbp]
	cdqe
	lea	rdx, yycheck[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	cmp	DWORD PTR -1120[rbp], eax
	jne	.L195
	mov	eax, DWORD PTR -1128[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, yytable[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -1128[rbp], eax
	cmp	DWORD PTR -1128[rbp], 0
	jg	.L26
	neg	DWORD PTR -1128[rbp]
	jmp	.L27
.L26:
	cmp	DWORD PTR -1132[rbp], 0
	je	.L28
	sub	DWORD PTR -1132[rbp], 1
.L28:
	mov	eax, DWORD PTR -1128[rbp]
	mov	DWORD PTR -1136[rbp], eax
	add	QWORD PTR -1064[rbp], 4
	mov	edx, DWORD PTR yylval[rip]
	mov	rax, QWORD PTR -1064[rbp]
	mov	DWORD PTR [rax], edx
	mov	DWORD PTR yychar[rip], -2
	jmp	.L6
.L194:
	nop
	jmp	.L18
.L195:
	nop
.L18:
	mov	eax, DWORD PTR -1136[rbp]
	cdqe
	lea	rdx, yydefact[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	mov	DWORD PTR -1128[rbp], eax
	cmp	DWORD PTR -1128[rbp], 0
	je	.L196
	nop
.L27:
	mov	eax, DWORD PTR -1128[rbp]
	cdqe
	lea	rdx, yyr2[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	mov	DWORD PTR -1112[rbp], eax
	mov	eax, 1
	sub	eax, DWORD PTR -1112[rbp]
	cdqe
	lea	rdx, 0[0+rax*4]
	mov	rax, QWORD PTR -1064[rbp]
	add	rax, rdx
	mov	eax, DWORD PTR [rax]
	mov	DWORD PTR -1116[rbp], eax
	mov	eax, DWORD PTR -1128[rbp]
	sub	eax, 11
	cmp	eax, 131
	ja	.L197
	mov	eax, eax
	lea	rdx, 0[0+rax*4]
	lea	rax, .L33[rip]
	mov	eax, DWORD PTR [rdx+rax]
	cdqe
	lea	rdx, .L33[rip]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L33:
	.long	.L85-.L33
	.long	.L197-.L33
	.long	.L84-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L83-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L82-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L81-.L33
	.long	.L80-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L79-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L78-.L33
	.long	.L77-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L76-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L75-.L33
	.long	.L197-.L33
	.long	.L74-.L33
	.long	.L197-.L33
	.long	.L73-.L33
	.long	.L197-.L33
	.long	.L72-.L33
	.long	.L71-.L33
	.long	.L197-.L33
	.long	.L70-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L69-.L33
	.long	.L68-.L33
	.long	.L67-.L33
	.long	.L66-.L33
	.long	.L65-.L33
	.long	.L64-.L33
	.long	.L63-.L33
	.long	.L62-.L33
	.long	.L61-.L33
	.long	.L60-.L33
	.long	.L59-.L33
	.long	.L58-.L33
	.long	.L57-.L33
	.long	.L56-.L33
	.long	.L55-.L33
	.long	.L54-.L33
	.long	.L53-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L52-.L33
	.long	.L51-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L50-.L33
	.long	.L49-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L48-.L33
	.long	.L47-.L33
	.long	.L46-.L33
	.long	.L45-.L33
	.long	.L44-.L33
	.long	.L43-.L33
	.long	.L197-.L33
	.long	.L42-.L33
	.long	.L41-.L33
	.long	.L40-.L33
	.long	.L197-.L33
	.long	.L39-.L33
	.long	.L38-.L33
	.long	.L197-.L33
	.long	.L37-.L33
	.long	.L197-.L33
	.long	.L197-.L33
	.long	.L36-.L33
	.long	.L35-.L33
	.long	.L34-.L33
	.long	.L32-.L33
	.text
.L85:
	lea	rdi, curid[rip]
	call	duplicate@PLT
	test	eax, eax
	je	.L86
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L86:
	mov	eax, DWORD PTR currnest[rip]
	mov	esi, eax
	lea	rdi, curid[rip]
	call	insertSTnest@PLT
	mov	eax, 0
	call	ins
	jmp	.L87
.L84:
	lea	rdi, curid[rip]
	call	duplicate@PLT
	test	eax, eax
	je	.L88
	lea	rdi, .LC1[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L88:
	mov	eax, DWORD PTR currnest[rip]
	mov	esi, eax
	lea	rdi, curid[rip]
	call	insertSTnest@PLT
	mov	eax, 0
	call	ins
	jmp	.L87
.L83:
	cmp	DWORD PTR -1116[rbp], 0
	jg	.L198
	lea	rdi, .LC2[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L82:
	lea	rsi, curtype[rip]
	lea	rdi, currfunctype[rip]
	call	strcpy@PLT
	lea	rsi, curid[rip]
	lea	rdi, currfunc[rip]
	call	strcpy@PLT
	lea	rdi, curid[rip]
	call	check_duplicate@PLT
	lea	rdi, curid[rip]
	call	insertSTF@PLT
	mov	eax, 0
	call	ins
	jmp	.L87
.L81:
	lea	rdi, curtype[rip]
	call	check_params@PLT
	jmp	.L87
.L80:
	mov	eax, DWORD PTR params_count[rip]
	mov	esi, eax
	lea	rdi, currfunc[rip]
	call	insertSTparamscount@PLT
	jmp	.L87
.L79:
	mov	eax, 0
	call	ins
	mov	esi, 1
	lea	rdi, curid[rip]
	call	insertSTnest@PLT
	mov	eax, DWORD PTR params_count[rip]
	add	eax, 1
	mov	DWORD PTR params_count[rip], eax
	lea	rsi, curtype[rip]
	lea	rdi, currfunc[rip]
	call	insertSTparamstype@PLT
	jmp	.L87
.L78:
	mov	eax, DWORD PTR currnest[rip]
	add	eax, 1
	mov	DWORD PTR currnest[rip], eax
	jmp	.L87
.L77:
	mov	eax, DWORD PTR currnest[rip]
	mov	edi, eax
	call	deletedata@PLT
	mov	eax, DWORD PTR currnest[rip]
	sub	eax, 1
	mov	DWORD PTR currnest[rip], eax
	jmp	.L87
.L76:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 4
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	je	.L199
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L75:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 4
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	je	.L200
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L74:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 4
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	je	.L201
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L73:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 4
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	je	.L202
	lea	rdi, .LC3[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L72:
	lea	rsi, .LC4[rip]
	lea	rdi, currfunctype[rip]
	call	strcmp@PLT
	test	eax, eax
	je	.L203
	lea	rdi, .LC5[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L71:
	lea	rsi, .LC4[rip]
	lea	rdi, currfunctype[rip]
	call	strcmp@PLT
	test	eax, eax
	jne	.L95
	lea	rdi, .LC6[rip]
	call	yyerror
.L95:
	movzx	eax, BYTE PTR currfunctype[rip]
	cmp	al, 105
	je	.L96
	movzx	eax, BYTE PTR currfunctype[rip]
	cmp	al, 99
	jne	.L204
.L96:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 4
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	je	.L204
	lea	rdi, .LC7[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L70:
	mov	eax, 0
	call	insV
	jmp	.L87
.L69:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 8
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L98
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L98
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L98:
	mov	DWORD PTR -1116[rbp], -1
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L68:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 8
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L99
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L99
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L99:
	mov	DWORD PTR -1116[rbp], -1
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L67:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 8
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L100
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L100
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L100:
	mov	DWORD PTR -1116[rbp], -1
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L66:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 8
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L101
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L101
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L101:
	mov	DWORD PTR -1116[rbp], -1
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L65:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 8
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L102
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L102
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L102:
	mov	DWORD PTR -1116[rbp], -1
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L64:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 8
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L103
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L103
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L103:
	mov	DWORD PTR -1116[rbp], -1
	lea	rdi, .LC8[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L63:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 4
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L104
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L104:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L62:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 4
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L106
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L106:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L61:
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L108
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L108:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L60:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 8
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L110
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L110
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L110:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L59:
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L112
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L112:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L58:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 8
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L114
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L114
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L114:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L57:
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L116
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L116:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L56:
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L118
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L118:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L55:
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L120
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L120:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L54:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 8
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L122
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L122
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L122:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L53:
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L124
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L124:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L52:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 8
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L126
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L126
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L126:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L51:
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L128
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L128:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L50:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 8
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L130
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L130
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L130:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L49:
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L132
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L132:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L48:
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L134
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L134:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L47:
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L136
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L136:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L46:
	lea	rdi, curid[rip]
	call	check_id_is_func@PLT
	test	eax, eax
	je	.L138
	lea	rdi, .LC9[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 8
	call	exit@PLT
.L138:
	lea	rdi, curid[rip]
	call	checkscope@PLT
	test	eax, eax
	jne	.L139
	lea	rdi, curid[rip]
	call	puts@PLT
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L139:
	lea	rdi, curid[rip]
	call	checkarray@PLT
	test	eax, eax
	jne	.L140
	lea	rdi, curid[rip]
	call	puts@PLT
	lea	rdi, .LC11[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L140:
	mov	esi, 0
	lea	rdi, curid[rip]
	call	gettype@PLT
	cmp	al, 105
	je	.L141
	mov	esi, 1
	lea	rdi, curid[rip]
	call	gettype@PLT
	cmp	al, 99
	jne	.L142
.L141:
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L142:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L45:
	lea	rdi, curid[rip]
	call	checkscope@PLT
	test	eax, eax
	jne	.L205
	lea	rdi, curid[rip]
	call	puts@PLT
	lea	rdi, .LC10[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L44:
	mov	esi, 0
	lea	rdi, curid[rip]
	call	gettype@PLT
	cmp	al, 105
	je	.L145
	mov	esi, 1
	lea	rdi, curid[rip]
	call	gettype@PLT
	cmp	al, 99
	jne	.L146
.L145:
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L146:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L43:
	mov	rax, QWORD PTR -1064[rbp]
	sub	rax, 4
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L148
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L148:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L42:
	mov	rax, QWORD PTR -1064[rbp]
	mov	eax, DWORD PTR [rax]
	cmp	eax, 1
	jne	.L150
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L150:
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L41:
	lea	rsi, .LC12[rip]
	lea	rdi, curid[rip]
	call	check_declaration@PLT
	test	eax, eax
	jne	.L152
	lea	rdi, .LC13[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 0
	call	exit@PLT
.L152:
	lea	rdi, curid[rip]
	call	insertSTF@PLT
	lea	rsi, curid[rip]
	lea	rdi, currfunccall[rip]
	call	strcpy@PLT
	mov	DWORD PTR call_params_count[rip], 0
	mov	DWORD PTR -1108[rbp], 0
	jmp	.L153
.L154:
	mov	eax, DWORD PTR -1108[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, call_params_types[rip]
	mov	BYTE PTR [rdx+rax], 0
	add	DWORD PTR -1108[rbp], 1
.L153:
	cmp	DWORD PTR -1108[rbp], 99
	jle	.L154
	jmp	.L87
.L40:
	lea	rsi, .LC14[rip]
	lea	rdi, currfunccall[rip]
	call	strcmp@PLT
	test	eax, eax
	je	.L206
	lea	rdi, currfunccall[rip]
	call	getSTparamscount@PLT
	mov	edx, DWORD PTR call_params_count[rip]
	cmp	eax, edx
	je	.L206
	lea	rdi, currfunccall[rip]
	call	getSTparamscount@PLT
	mov	edx, eax
	mov	eax, DWORD PTR call_params_count[rip]
	mov	esi, eax
	lea	rdi, .LC15[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdi, .LC16[rip]
	call	yyerror
	mov	edi, 8
	call	exit@PLT
.L39:
	mov	DWORD PTR call_params_count[rip], -1
	jmp	.L87
.L38:
	mov	eax, DWORD PTR call_params_count[rip]
	add	eax, 1
	mov	DWORD PTR call_params_count[rip], eax
	mov	DWORD PTR -1104[rbp], 0
	jmp	.L156
.L159:
	mov	eax, DWORD PTR -1104[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, call_params_types[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L157
	lea	rdi, curid[rip]
	call	gettypestr@PLT
	mov	rcx, rax
	mov	eax, DWORD PTR -1104[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	add	rax, rdx
	sal	rax, 2
	lea	rdx, call_params_types[rip]
	add	rax, rdx
	mov	rsi, rcx
	mov	rdi, rax
	call	strcpy@PLT
	nop
	jmp	.L87
.L157:
	add	DWORD PTR -1104[rbp], 1
.L156:
	cmp	DWORD PTR -1104[rbp], 99
	jle	.L159
	jmp	.L87
.L37:
	mov	eax, DWORD PTR call_params_count[rip]
	add	eax, 1
	mov	DWORD PTR call_params_count[rip], eax
	mov	DWORD PTR -1100[rbp], 0
	jmp	.L160
.L163:
	mov	eax, DWORD PTR -1100[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	add	rax, rdx
	sal	rax, 2
	mov	rdx, rax
	lea	rax, call_params_types[rip]
	movzx	eax, BYTE PTR [rdx+rax]
	test	al, al
	jne	.L161
	lea	rdi, curid[rip]
	call	gettypestr@PLT
	mov	rcx, rax
	mov	eax, DWORD PTR -1100[rbp]
	movsx	rdx, eax
	mov	rax, rdx
	sal	rax, 2
	add	rax, rdx
	lea	rdx, 0[0+rax*4]
	add	rax, rdx
	sal	rax, 2
	lea	rdx, call_params_types[rip]
	add	rax, rdx
	mov	rsi, rcx
	mov	rdi, rax
	call	strcpy@PLT
	nop
	jmp	.L87
.L161:
	add	DWORD PTR -1100[rbp], 1
.L160:
	cmp	DWORD PTR -1100[rbp], 99
	jle	.L163
	jmp	.L87
.L36:
	mov	eax, 0
	call	insV
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L35:
	mov	eax, 0
	call	insV
	mov	DWORD PTR -1116[rbp], -1
	jmp	.L87
.L34:
	mov	eax, 0
	call	insV
	jmp	.L87
.L32:
	mov	eax, 0
	call	insV
	mov	DWORD PTR -1116[rbp], 1
	jmp	.L87
.L197:
	nop
	jmp	.L87
.L198:
	nop
	jmp	.L87
.L199:
	nop
	jmp	.L87
.L200:
	nop
	jmp	.L87
.L201:
	nop
	jmp	.L87
.L202:
	nop
	jmp	.L87
.L203:
	nop
	jmp	.L87
.L204:
	nop
	jmp	.L87
.L205:
	nop
	jmp	.L87
.L206:
	nop
.L87:
	mov	eax, DWORD PTR -1112[rbp]
	cdqe
	sal	rax, 2
	neg	rax
	add	QWORD PTR -1064[rbp], rax
	mov	eax, DWORD PTR -1112[rbp]
	cdqe
	neg	rax
	add	QWORD PTR -1080[rbp], rax
	mov	DWORD PTR -1112[rbp], 0
	add	QWORD PTR -1064[rbp], 4
	mov	rax, QWORD PTR -1064[rbp]
	mov	edx, DWORD PTR -1116[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -1128[rbp]
	cdqe
	lea	rdx, yyr1[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	sub	eax, 71
	mov	DWORD PTR -1096[rbp], eax
	mov	eax, DWORD PTR -1096[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, yypgoto[rip]
	movzx	eax, WORD PTR [rdx+rax]
	movsx	edx, ax
	mov	rax, QWORD PTR -1080[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	add	eax, edx
	mov	DWORD PTR -1092[rbp], eax
	cmp	DWORD PTR -1092[rbp], 0
	js	.L164
	cmp	DWORD PTR -1092[rbp], 222
	jg	.L164
	mov	eax, DWORD PTR -1092[rbp]
	cdqe
	lea	rdx, yycheck[rip]
	movzx	edx, BYTE PTR [rax+rdx]
	mov	rax, QWORD PTR -1080[rbp]
	movzx	eax, BYTE PTR [rax]
	cmp	dl, al
	jne	.L164
	mov	eax, DWORD PTR -1092[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, yytable[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	jmp	.L165
.L164:
	mov	eax, DWORD PTR -1096[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, yydefgoto[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
.L165:
	mov	DWORD PTR -1136[rbp], eax
	jmp	.L6
.L196:
	nop
.L30:
	mov	eax, DWORD PTR yychar[rip]
	cmp	eax, -2
	je	.L166
	mov	eax, DWORD PTR yychar[rip]
	test	eax, eax
	js	.L167
	mov	eax, DWORD PTR yychar[rip]
	cmp	eax, 317
	jg	.L167
	mov	eax, DWORD PTR yychar[rip]
	cdqe
	lea	rdx, yytranslate[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	jmp	.L169
.L167:
	mov	eax, 2
	jmp	.L169
.L166:
	mov	eax, -2
.L169:
	mov	DWORD PTR -1120[rbp], eax
	cmp	DWORD PTR -1132[rbp], 0
	jne	.L170
	mov	eax, DWORD PTR yynerrs[rip]
	add	eax, 1
	mov	DWORD PTR yynerrs[rip], eax
	lea	rdi, .LC17[rip]
	call	yyerror
.L170:
	cmp	DWORD PTR -1132[rbp], 3
	jne	.L207
	mov	eax, DWORD PTR yychar[rip]
	test	eax, eax
	jg	.L172
	mov	eax, DWORD PTR yychar[rip]
	test	eax, eax
	jne	.L207
	jmp	.L13
.L172:
	mov	eax, DWORD PTR -1120[rbp]
	lea	rdx, yylval[rip]
	mov	esi, eax
	lea	rdi, .LC18[rip]
	call	yydestruct
	mov	DWORD PTR yychar[rip], -2
.L207:
	nop
.L173:
	mov	DWORD PTR -1132[rbp], 3
.L177:
	mov	eax, DWORD PTR -1136[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, yypact[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -1128[rbp], eax
	cmp	DWORD PTR -1128[rbp], -63
	je	.L174
	add	DWORD PTR -1128[rbp], 1
	cmp	DWORD PTR -1128[rbp], 0
	js	.L174
	cmp	DWORD PTR -1128[rbp], 222
	jg	.L174
	mov	eax, DWORD PTR -1128[rbp]
	cdqe
	lea	rdx, yycheck[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	cmp	al, 1
	jne	.L174
	mov	eax, DWORD PTR -1128[rbp]
	cdqe
	lea	rdx, [rax+rax]
	lea	rax, yytable[rip]
	movzx	eax, WORD PTR [rdx+rax]
	cwde
	mov	DWORD PTR -1128[rbp], eax
	cmp	DWORD PTR -1128[rbp], 0
	jg	.L208
.L174:
	mov	rax, QWORD PTR -1080[rbp]
	cmp	rax, QWORD PTR -1088[rbp]
	je	.L209
	mov	eax, DWORD PTR -1136[rbp]
	cdqe
	lea	rdx, yystos[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	mov	rdx, QWORD PTR -1064[rbp]
	mov	esi, eax
	lea	rdi, .LC19[rip]
	call	yydestruct
	sub	QWORD PTR -1064[rbp], 4
	sub	QWORD PTR -1080[rbp], 1
	mov	rax, QWORD PTR -1080[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	mov	DWORD PTR -1136[rbp], eax
	jmp	.L177
.L208:
	nop
	add	QWORD PTR -1064[rbp], 4
	mov	edx, DWORD PTR yylval[rip]
	mov	rax, QWORD PTR -1064[rbp]
	mov	DWORD PTR [rax], edx
	mov	eax, DWORD PTR -1128[rbp]
	mov	DWORD PTR -1136[rbp], eax
	jmp	.L6
.L193:
	nop
.L15:
	mov	DWORD PTR -1124[rbp], 0
	jmp	.L178
.L192:
	nop
	jmp	.L13
.L209:
	nop
.L13:
	mov	DWORD PTR -1124[rbp], 1
	jmp	.L178
.L190:
	nop
	jmp	.L9
.L191:
	nop
.L9:
	lea	rdi, .LC20[rip]
	call	yyerror
	mov	DWORD PTR -1124[rbp], 2
.L178:
	mov	eax, DWORD PTR yychar[rip]
	cmp	eax, -2
	je	.L179
	mov	eax, DWORD PTR yychar[rip]
	test	eax, eax
	js	.L180
	mov	eax, DWORD PTR yychar[rip]
	cmp	eax, 317
	jg	.L180
	mov	eax, DWORD PTR yychar[rip]
	cdqe
	lea	rdx, yytranslate[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movsx	eax, al
	jmp	.L181
.L180:
	mov	eax, 2
.L181:
	mov	DWORD PTR -1120[rbp], eax
	mov	eax, DWORD PTR -1120[rbp]
	lea	rdx, yylval[rip]
	mov	esi, eax
	lea	rdi, .LC21[rip]
	call	yydestruct
.L179:
	mov	eax, DWORD PTR -1112[rbp]
	cdqe
	sal	rax, 2
	neg	rax
	add	QWORD PTR -1064[rbp], rax
	mov	eax, DWORD PTR -1112[rbp]
	cdqe
	neg	rax
	add	QWORD PTR -1080[rbp], rax
	jmp	.L182
.L183:
	mov	rax, QWORD PTR -1080[rbp]
	movzx	eax, BYTE PTR [rax]
	movzx	eax, al
	cdqe
	lea	rdx, yystos[rip]
	movzx	eax, BYTE PTR [rax+rdx]
	movzx	eax, al
	mov	rdx, QWORD PTR -1064[rbp]
	mov	esi, eax
	lea	rdi, .LC22[rip]
	call	yydestruct
	sub	QWORD PTR -1064[rbp], 4
	sub	QWORD PTR -1080[rbp], 1
.L182:
	mov	rax, QWORD PTR -1080[rbp]
	cmp	rax, QWORD PTR -1088[rbp]
	jne	.L183
	lea	rax, -208[rbp]
	cmp	QWORD PTR -1088[rbp], rax
	je	.L184
	mov	rax, QWORD PTR -1088[rbp]
	mov	rdi, rax
	call	free@PLT
.L184:
	mov	eax, DWORD PTR -1124[rbp]
	mov	rcx, QWORD PTR -8[rbp]
	sub	rcx, QWORD PTR fs:40
	je	.L186
	call	__stack_chk_fail@PLT
.L186:
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE7:
	.size	yyparse, .-yyparse
	.section	.rodata
.LC23:
	.string	"r"
	.align 8
.LC24:
	.string	"\033[32mStatus: Parsing Complete - Valid\033[0m"
.LC25:
	.string	" "
.LC26:
	.string	"%30s\033[36mSYMBOL TABLE\033[0m\n"
.LC27:
	.string	"------------"
.LC28:
	.string	"%30s %s\n"
	.align 8
.LC29:
	.string	"\n\n%30s\033[36mCONSTANT TABLE\033[0m\n"
.LC30:
	.string	"--------------"
	.text
	.globl	main
	.type	main, @function
main:
.LFB8:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	QWORD PTR -16[rbp], rsi
	mov	rax, QWORD PTR -16[rbp]
	add	rax, 8
	mov	rax, QWORD PTR [rax]
	lea	rsi, .LC23[rip]
	mov	rdi, rax
	call	fopen@PLT
	mov	QWORD PTR yyin[rip], rax
	call	yyparse
	mov	eax, DWORD PTR flag[rip]
	test	eax, eax
	jne	.L211
	lea	rdi, .LC24[rip]
	call	puts@PLT
	lea	rsi, .LC25[rip]
	lea	rdi, .LC26[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, .LC27[rip]
	lea	rsi, .LC25[rip]
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	call	printST@PLT
	lea	rsi, .LC25[rip]
	lea	rdi, .LC29[rip]
	mov	eax, 0
	call	printf@PLT
	lea	rdx, .LC30[rip]
	lea	rsi, .LC25[rip]
	lea	rdi, .LC28[rip]
	mov	eax, 0
	call	printf@PLT
	mov	eax, 0
	call	printCT@PLT
.L211:
	mov	eax, 0
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE8:
	.size	main, .-main
	.section	.rodata
.LC31:
	.string	"\033[31m%d %s %s\n"
	.align 8
.LC32:
	.string	"\033[31mStatus: Parsing Failed - Invalid\n\033[0m"
	.text
	.globl	yyerror
	.type	yyerror, @function
yyerror:
.LFB9:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	QWORD PTR -8[rbp], rdi
	mov	rcx, QWORD PTR yytext[rip]
	mov	eax, DWORD PTR yylineno[rip]
	mov	rdx, QWORD PTR -8[rbp]
	mov	esi, eax
	lea	rdi, .LC31[rip]
	mov	eax, 0
	call	printf@PLT
	mov	DWORD PTR flag[rip], 1
	lea	rdi, .LC32[rip]
	mov	eax, 0
	call	printf@PLT
	mov	edi, 7
	call	exit@PLT
	.cfi_endproc
.LFE9:
	.size	yyerror, .-yyerror
	.globl	ins
	.type	ins, @function
ins:
.LFB10:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rsi, curtype[rip]
	lea	rdi, curid[rip]
	call	insertSTtype@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE10:
	.size	ins, .-ins
	.globl	insV
	.type	insV, @function
insV:
.LFB11:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	lea	rsi, curval[rip]
	lea	rdi, curid[rip]
	call	insertSTvalue@PLT
	nop
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE11:
	.size	insV, .-insV
	.globl	yywrap
	.type	yywrap, @function
yywrap:
.LFB12:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	mov	eax, 1
	pop	rbp
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE12:
	.size	yywrap, .-yywrap
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"81287.c"
	.text
	.global	flag
	.bss
	.align	2
	.type	flag, %object
	.size	flag, 4
flag:
	.space	4
	.comm	currfunctype,100,4
	.comm	currfunc,100,4
	.comm	currfunccall,100,4
	.comm	call_params_count,4,4
	.comm	call_params_types,10000,4
	.section	.rodata
	.align	2
	.type	yytranslate, %object
	.size	yytranslate, 318
yytranslate:
	.ascii	"\000\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002CD\002\002@\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002?\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002A\002B\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002E\002F\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\002\002\002\002\002\002\002\002\002\002\002"
	.ascii	"\002\002\001\002\003\004\005\006\007\010\011\012\013"
	.ascii	"\014\015\016\017\020\021\022\023\024\025\026\027\030"
	.ascii	"\031\032\033\034\035\036\037 !\"#$%&'()*+,-./012345"
	.ascii	"6789:;<=>"
	.align	2
	.type	yypact, %object
	.size	yypact, 434
yypact:
	.short	171
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	16
	.short	67
	.short	77
	.short	132
	.short	-63
	.short	7
	.short	-63
	.short	171
	.short	-63
	.short	-12
	.short	-63
	.short	171
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	16
	.short	67
	.short	-63
	.short	-63
	.short	16
	.short	67
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	15
	.short	-63
	.short	-41
	.short	-63
	.short	-63
	.short	-63
	.short	43
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	4
	.short	4
	.short	-63
	.short	69
	.short	63
	.short	97
	.short	123
	.short	-5
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	53
	.short	61
	.short	3
	.short	66
	.short	68
	.short	97
	.short	57
	.short	75
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	123
	.short	-63
	.short	123
	.short	-63
	.short	69
	.short	-63
	.short	-63
	.short	65
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	80
	.short	111
	.short	112
	.short	-63
	.short	153
	.short	44
	.short	70
	.short	-63
	.short	135
	.short	-63
	.short	-63
	.short	-63
	.short	111
	.short	-63
	.short	86
	.short	115
	.short	-63
	.short	91
	.short	171
	.short	-63
	.short	123
	.short	-63
	.short	95
	.short	123
	.short	123
	.short	143
	.short	-63
	.short	-63
	.short	96
	.short	-63
	.short	116
	.short	29
	.short	-63
	.short	123
	.short	123
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	141
	.short	-63
	.short	-63
	.short	141
	.short	-63
	.short	-63
	.short	-63
	.short	141
	.short	123
	.short	123
	.short	123
	.short	123
	.short	123
	.short	123
	.short	-63
	.short	-63
	.short	146
	.short	162
	.short	-63
	.short	122
	.short	-63
	.short	-63
	.short	-37
	.short	-63
	.short	-27
	.short	126
	.short	124
	.short	123
	.short	123
	.short	-63
	.short	29
	.short	125
	.short	112
	.short	-63
	.short	44
	.short	70
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-17
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	123
	.short	123
	.short	-63
	.short	136
	.short	-63
	.short	127
	.short	-63
	.short	-63
	.short	168
	.short	97
	.short	97
	.short	25
	.short	27
	.short	130
	.short	-63
	.short	-63
	.short	142
	.short	137
	.short	177
	.short	-63
	.short	-63
	.short	-63
	.short	123
	.short	-63
	.short	168
	.short	-63
	.short	-63
	.short	97
	.short	-63
	.short	123
	.short	147
	.short	-63
	.short	-63
	.short	-63
	.short	144
	.short	-63
	.short	130
	.short	-63
	.short	-63
	.align	2
	.type	yydefact, %object
	.size	yydefact, 217
yydefact:
	.ascii	"\000\030\031\032\033*,($ \000\002\005\006\000\0071)"
	.ascii	"\034+\035%*,\037!*,\036\001\004\003\013\015\000\012"
	.ascii	"2-\0000&'\"#.\022\022\010\000\000B\000\000\014\017\016"
	.ascii	"\013\011736\000\000\000\000B\000|}\213\214\215\216\000"
	.ascii	"G\000A\000/<\000;=>?@\000bdfhjrv{z\200\201\020{\000"
	.ascii	"\000\021:\0004\000R\000\000\000\000T\202\000g\000BF"
	.ascii	"\000\000oplnkm\000st\000wxy\000\000\000\000\000\000"
	.ascii	"\000`a\027\000\024\00085\000S\000\000\000\205\000\177"
	.ascii	"B\000ceiqu_]^[\\Z\000\023\025\026U9HL\000\000\206\000"
	.ascii	"\204\000DC\000BB\000\000\212\203~Y\000KMNP\000\207\000"
	.ascii	"WVBI\000\000\210XJ\000Q\212O\211"
	.align	2
	.type	yypgoto, %object
	.size	yypgoto, 140
yypgoto:
	.short	-63
	.short	-63
	.short	197
	.short	-63
	.short	-63
	.short	6
	.short	-63
	.short	163
	.short	-63
	.short	-63
	.short	167
	.short	-63
	.short	-63
	.short	-63
	.short	5
	.short	-63
	.short	-63
	.short	-10
	.short	41
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	110
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-50
	.short	-63
	.short	-63
	.short	58
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	73
	.short	-63
	.short	17
	.short	-63
	.short	-61
	.short	-49
	.short	98
	.short	-62
	.short	-63
	.short	-63
	.short	93
	.short	-63
	.short	88
	.short	-63
	.short	87
	.short	-47
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	-63
	.short	8
	.short	-63
	.short	-63
	.align	2
	.type	yydefgoto, %object
	.size	yydefgoto, 140
yydefgoto:
	.short	-1
	.short	10
	.short	11
	.short	31
	.short	12
	.short	76
	.short	34
	.short	35
	.short	45
	.short	46
	.short	53
	.short	54
	.short	102
	.short	171
	.short	77
	.short	28
	.short	24
	.short	18
	.short	20
	.short	15
	.short	16
	.short	37
	.short	38
	.short	39
	.short	49
	.short	59
	.short	105
	.short	60
	.short	103
	.short	147
	.short	157
	.short	79
	.short	80
	.short	158
	.short	81
	.short	82
	.short	187
	.short	206
	.short	83
	.short	188
	.short	207
	.short	208
	.short	84
	.short	85
	.short	145
	.short	173
	.short	195
	.short	203
	.short	86
	.short	87
	.short	88
	.short	89
	.short	90
	.short	127
	.short	91
	.short	130
	.short	92
	.short	134
	.short	93
	.short	94
	.short	114
	.short	95
	.short	96
	.short	154
	.short	181
	.short	182
	.short	191
	.short	201
	.short	214
	.short	97
	.align	2
	.type	yytable, %object
	.size	yytable, 446
yytable:
	.short	78
	.short	108
	.short	98
	.short	119
	.short	99
	.short	14
	.short	13
	.short	29
	.short	174
	.short	32
	.short	33
	.short	115
	.short	40
	.short	119
	.short	116
	.short	111
	.short	42
	.short	14
	.short	13
	.short	100
	.short	17
	.short	36
	.short	47
	.short	48
	.short	67
	.short	68
	.short	99
	.short	69
	.short	70
	.short	71
	.short	72
	.short	176
	.short	61
	.short	1
	.short	2
	.short	3
	.short	4
	.short	5
	.short	6
	.short	7
	.short	8
	.short	177
	.short	62
	.short	51
	.short	9
	.short	63
	.short	64
	.short	65
	.short	66
	.short	152
	.short	67
	.short	68
	.short	186
	.short	69
	.short	70
	.short	71
	.short	72
	.short	149
	.short	160
	.short	99
	.short	151
	.short	101
	.short	99
	.short	73
	.short	41
	.short	119
	.short	107
	.short	119
	.short	43
	.short	52
	.short	75
	.short	19
	.short	99
	.short	99
	.short	164
	.short	165
	.short	166
	.short	167
	.short	168
	.short	169
	.short	99
	.short	21
	.short	44
	.short	99
	.short	58
	.short	22
	.short	23
	.short	99
	.short	198
	.short	73
	.short	56
	.short	33
	.short	74
	.short	180
	.short	183
	.short	199
	.short	75
	.short	128
	.short	129
	.short	-69
	.short	61
	.short	1
	.short	2
	.short	3
	.short	4
	.short	5
	.short	6
	.short	7
	.short	8
	.short	36
	.short	62
	.short	50
	.short	9
	.short	63
	.short	64
	.short	65
	.short	66
	.short	104
	.short	67
	.short	68
	.short	112
	.short	69
	.short	70
	.short	71
	.short	72
	.short	131
	.short	132
	.short	133
	.short	106
	.short	189
	.short	190
	.short	99
	.short	99
	.short	109
	.short	117
	.short	110
	.short	25
	.short	196
	.short	197
	.short	209
	.short	26
	.short	27
	.short	113
	.short	118
	.short	67
	.short	68
	.short	212
	.short	69
	.short	70
	.short	71
	.short	72
	.short	119
	.short	143
	.short	120
	.short	144
	.short	211
	.short	146
	.short	73
	.short	150
	.short	153
	.short	74
	.short	155
	.short	67
	.short	68
	.short	75
	.short	69
	.short	70
	.short	71
	.short	72
	.short	135
	.short	136
	.short	137
	.short	138
	.short	139
	.short	140
	.short	1
	.short	2
	.short	3
	.short	4
	.short	5
	.short	6
	.short	7
	.short	8
	.short	73
	.short	156
	.short	170
	.short	9
	.short	174
	.short	175
	.short	178
	.short	75
	.short	179
	.short	194
	.short	193
	.short	200
	.short	185
	.short	141
	.short	142
	.short	121
	.short	122
	.short	123
	.short	124
	.short	125
	.short	126
	.short	192
	.short	205
	.short	202
	.short	204
	.short	75
	.short	30
	.short	213
	.short	57
	.short	215
	.short	55
	.short	148
	.short	184
	.short	172
	.short	159
	.short	162
	.short	210
	.short	161
	.short	163
	.short	216
	.align	2
	.type	yycheck, %object
	.size	yycheck, 223
yycheck:
	.ascii	"2>3(3\000\000\000\031\025\026I\026(KA\032\014\014\030"
	.ascii	"\004\020?@\025\026I\030\031\032\033D\003\004\005\006"
	.ascii	"\007\010\011\012\013D\015'\017\020\021\022\023n\025"
	.ascii	"\026E\030\031\032\033jxjmBm<\027(?(\033AC\004wx\207"
	.ascii	"\210\211\212\213\214\177\004C\202\025\010\011\206?<"
	.ascii	"\025\026?\232\233DC56F\003\004\005\006\007\010\011\012"
	.ascii	"\013h\015D\017\020\021\022\023@\025\026?\030\031\032"
	.ascii	"\033789C\262\263\262\263CEC\004\273\274\310\010\011"
	.ascii	"C?\025\026\317\030\031\032\033(B)'\315A<?\020?A\025"
	.ascii	"\026C\030\031\032\033\"#$%&'\004\005\006\007\010\011"
	.ascii	"\012\013<D'\017\031B?CC\030B@F=>-./012D\034@FC\014?"
	.ascii	"0D.h\235\217w\202\312\177\206\326"
	.align	2
	.type	yystos, %object
	.size	yystos, 217
yystos:
	.ascii	"\000\004\005\006\007\010\011\012\013\017HIKLUZ[\004"
	.ascii	"X\004Y\004\010\011W\004\010\011V\000IJ\025\026MNU\\"
	.ascii	"]^XYXYCOP?@_D'AQRQ\025N\025`b\003\015\020\021\022\023"
	.ascii	"\025\026\030\031\032\033<?CLUefgijmqrwxyz{}\177\201"
	.ascii	"\202\204\205\214x\202\030BSc@aC?wCCe?C\203zwE?()-./"
	.ascii	"012|56~789\200\"#$%&'=>B'sAd^x?xw\020\206ADehyz}\177"
	.ascii	"\201wwwwww'Tst\031BDD?Cw\207\210whFEknxx\211DB\030u"
	.ascii	"ee?D@\212@vF\034lopwuew?\213D\212"
	.align	2
	.type	yyr1, %object
	.size	yyr1, 143
yyr1:
	.ascii	"\000GHIJJKKLMMONPNQQRRSSTTTUUUUUUUUUVVVVWWWWXXYYZ[\\"
	.ascii	"]]_^`aacbddeeeeeeegfhhiikjllnmompmqqrstuvvwwwwwwwww"
	.ascii	"xxyyzz{{||||||}}~~\177\177\200\200\200\201\201\202\203"
	.ascii	"\202\204\204\204\206\205\207\207\211\210\213\212\212"
	.ascii	"\214\214\214\214"
	.align	2
	.type	yyr2, %object
	.size	yyr2, 143
yyr2:
	.ascii	"\000\002\001\002\001\000\001\001\003\003\001\000\003"
	.ascii	"\000\003\001\002\002\000\003\002\001\001\000\001\001"
	.ascii	"\001\001\002\002\002\002\001\001\002\002\000\001\002"
	.ascii	"\002\000\001\000\001\000\002\003\003\001\000\000\003"
	.ascii	"\002\002\000\000\003\002\000\001\001\001\001\001\001"
	.ascii	"\001\000\004\002\000\002\001\000\007\002\000\000\006"
	.ascii	"\000\011\000\010\002\003\002\002\004\002\002\000\003"
	.ascii	"\003\003\003\003\003\002\002\001\003\001\003\001\002"
	.ascii	"\001\003\001\001\001\001\001\001\001\003\001\001\001"
	.ascii	"\003\001\001\001\001\001\001\001\000\005\003\001\001"
	.ascii	"\000\005\001\000\000\003\000\004\000\001\001\001\001"
	.align	2
.LC0:
	.ascii	"Deleting\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	yydestruct, %function
yydestruct:
	@ args = 0, pretend = 0, frame = 16
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	sub	sp, sp, #20
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	str	r2, [fp, #-16]
	ldr	r3, [fp, #-8]
	cmp	r3, #0
	bne	.L3
	ldr	r3, .L4
	str	r3, [fp, #-8]
.L3:
	nop
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
.L5:
	.align	2
.L4:
	.word	.LC0
	.size	yydestruct, .-yydestruct
	.comm	yychar,4,4
	.comm	yylval,4,4
	.comm	yynerrs,4,4
	.section	.rodata
	.align	2
.LC1:
	.ascii	"\033[31mERROR : Duplicate instance of variable decl"
	.ascii	"aration.\012\033[0m\000"
	.align	2
.LC2:
	.ascii	"\033[31mERROR : Array size cannot be non positive v"
	.ascii	"alue.\012\033[0m\000"
	.align	2
.LC3:
	.ascii	"\033[31mERROR : Condition supplied must be a non-ne"
	.ascii	"gative integer, expressions are not permitted.\012\033"
	.ascii	"[0m\000"
	.align	2
.LC4:
	.ascii	"void\000"
	.align	2
.LC5:
	.ascii	"\033[31mERROR : Non-void function returning void.\012"
	.ascii	"\033[0m\000"
	.align	2
.LC6:
	.ascii	"\033[31mERROR : Void function returning value.\033["
	.ascii	"0m\000"
	.align	2
.LC7:
	.ascii	"\033[31mERROR : Function returns value that cannot "
	.ascii	"be cast to defined return type.\012\033[0m\000"
	.align	2
.LC8:
	.ascii	"\033[31mERROR : Type mismatch\012\033[0m\000"
	.align	2
.LC9:
	.ascii	"\033[31mERROR : Function name used as an identifier"
	.ascii	".\012\033[0m\000"
	.align	2
.LC10:
	.ascii	"\033[31mERROR : Identifier not found in scope.\012\033"
	.ascii	"[0m\000"
	.align	2
.LC11:
	.ascii	"\033[31mERROR : Array ID has no subscript\012\033[0"
	.ascii	"m\000"
	.align	2
.LC12:
	.ascii	"Function\000"
	.align	2
.LC13:
	.ascii	"\033[31mERROR : Function declaration not found in s"
	.ascii	"cope.\012\033[0m\000"
	.align	2
.LC14:
	.ascii	"printf\000"
	.align	2
.LC15:
	.ascii	"\012count : %d, expected : %d\012\000"
	.align	2
.LC16:
	.ascii	"ERROR: Number of arguments in function call doesn't"
	.ascii	" match number of parameters\000"
	.align	2
.LC17:
	.ascii	"syntax error\000"
	.align	2
.LC18:
	.ascii	"Error: discarding\000"
	.align	2
.LC19:
	.ascii	"Error: popping\000"
	.align	2
.LC20:
	.ascii	"memory exhausted\000"
	.align	2
.LC21:
	.ascii	"Cleanup: discarding lookahead\000"
	.align	2
.LC22:
	.ascii	"Cleanup: popping\000"
	.align	2
.LC23:
	.word	__stack_chk_guard
	.text
	.align	2
	.global	yyparse
	.syntax unified
	.arm
	.fpu softvfp
	.type	yyparse, %function
yyparse:
	@ args = 0, pretend = 0, frame = 1096
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{r4, fp, lr}
	add	fp, sp, #8
	sub	sp, sp, #1088
	sub	sp, sp, #12
	ldr	r3, .L212
	ldr	r3, [r3]
	str	r3, [fp, #-16]
	mov	r3,#0
	mov	r3, #0
	str	r3, [fp, #-1068]
	mov	r3, #0
	str	r3, [fp, #-1060]
	sub	r3, fp, #216
	str	r3, [fp, #-1096]
	ldr	r3, [fp, #-1096]
	str	r3, [fp, #-1092]
	sub	r3, fp, #1016
	str	r3, [fp, #-1088]
	ldr	r3, [fp, #-1088]
	str	r3, [fp, #-1084]
	mov	r3, #200
	str	r3, [fp, #-1080]
	mov	r3, #0
	str	r3, [fp, #-1104]
	mov	r3, #0
	str	r3, [fp, #-1100]
	ldr	r3, .L212+4
	mov	r2, #0
	str	r2, [r3]
	ldr	r3, .L212+8
	mvn	r2, #1
	str	r2, [r3]
	b	.L7
.L8:
	ldr	r3, [fp, #-1092]
	add	r3, r3, #1
	str	r3, [fp, #-1092]
.L7:
	ldr	r3, [fp, #-1104]
	and	r2, r3, #255
	ldr	r3, [fp, #-1092]
	strb	r2, [r3]
	ldr	r3, [fp, #-1080]
	sub	r3, r3, #1
	ldr	r2, [fp, #-1096]
	add	r3, r2, r3
	ldr	r2, [fp, #-1092]
	cmp	r2, r3
	bcc	.L9
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1096]
	sub	r3, r2, r3
	add	r3, r3, #1
	str	r3, [fp, #-1044]
	ldr	r3, [fp, #-1080]
	ldr	r2, .L212+12
	cmp	r3, r2
	bgt	.L192
	ldr	r3, [fp, #-1080]
	lsl	r3, r3, #1
	str	r3, [fp, #-1080]
	ldr	r3, [fp, #-1080]
	ldr	r2, .L212+16
	cmp	r3, r2
	ble	.L12
	ldr	r3, .L212+16
	str	r3, [fp, #-1080]
.L12:
	ldr	r3, [fp, #-1096]
	str	r3, [fp, #-1040]
	ldr	r2, [fp, #-1080]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	add	r3, r3, #3
	mov	r0, r3
	bl	malloc
	mov	r3, r0
	str	r3, [fp, #-1036]
	ldr	r3, [fp, #-1036]
	cmp	r3, #0
	beq	.L193
	ldr	r1, [fp, #-1036]
	ldr	r3, [fp, #-1044]
	ldr	r2, [fp, #-1096]
	mov	r0, r1
	mov	r1, r2
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-1036]
	str	r3, [fp, #-1096]
	ldr	r3, [fp, #-1080]
	add	r3, r3, #3
	str	r3, [fp, #-1032]
	ldr	r3, [fp, #-1032]
	add	r2, r3, #3
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1036]
	add	r3, r2, r3
	str	r3, [fp, #-1036]
	ldr	r1, [fp, #-1036]
	ldr	r3, [fp, #-1044]
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1088]
	mov	r0, r1
	mov	r1, r2
	mov	r2, r3
	bl	memcpy
	ldr	r3, [fp, #-1036]
	str	r3, [fp, #-1088]
	ldr	r3, [fp, #-1080]
	lsl	r3, r3, #2
	add	r3, r3, #3
	str	r3, [fp, #-1028]
	ldr	r3, [fp, #-1028]
	add	r2, r3, #3
	cmp	r3, #0
	movlt	r3, r2
	movge	r3, r3
	asr	r3, r3, #2
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1036]
	add	r3, r2, r3
	str	r3, [fp, #-1036]
	sub	r3, fp, #216
	ldr	r2, [fp, #-1040]
	cmp	r2, r3
	beq	.L14
	ldr	r0, [fp, #-1040]
	bl	free
.L14:
	ldr	r3, [fp, #-1044]
	sub	r3, r3, #1
	ldr	r2, [fp, #-1096]
	add	r3, r2, r3
	str	r3, [fp, #-1092]
	ldr	r3, [fp, #-1044]
	sub	r3, r3, #-1073741823
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1088]
	add	r3, r2, r3
	str	r3, [fp, #-1084]
	ldr	r3, [fp, #-1080]
	sub	r3, r3, #1
	ldr	r2, [fp, #-1096]
	add	r3, r2, r3
	ldr	r2, [fp, #-1092]
	cmp	r2, r3
	bcs	.L194
.L9:
	ldr	r3, [fp, #-1104]
	cmp	r3, #29
	beq	.L195
	nop
.L18:
	ldr	r2, .L212+152
	ldr	r3, [fp, #-1104]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-1076]
	ldr	r3, [fp, #-1076]
	cmn	r3, #63
	beq	.L196
	ldr	r3, .L212+8
	ldr	r3, [r3]
	cmn	r3, #2
	bne	.L21
	bl	yylex
	mov	r3, r0
	ldr	r2, .L212+8
	str	r3, [r2]
.L21:
	ldr	r3, .L212+8
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L22
	mov	r3, #0
	str	r3, [fp, #-1068]
	ldr	r2, .L212+8
	ldr	r3, [fp, #-1068]
	str	r3, [r2]
	b	.L23
.L22:
	ldr	r3, .L212+8
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L24
	ldr	r3, .L212+8
	ldr	r3, [r3]
	ldr	r2, .L212+172
	cmp	r3, r2
	bgt	.L24
	ldr	r3, .L212+8
	ldr	r3, [r3]
	ldr	r2, .L212+180
	ldrsb	r3, [r2, r3]
	b	.L25
.L24:
	mov	r3, #2
.L25:
	str	r3, [fp, #-1068]
.L23:
	ldr	r2, [fp, #-1076]
	ldr	r3, [fp, #-1068]
	add	r3, r2, r3
	str	r3, [fp, #-1076]
	ldr	r3, [fp, #-1076]
	cmp	r3, #0
	blt	.L197
	ldr	r3, [fp, #-1076]
	cmp	r3, #222
	bgt	.L197
	ldr	r2, .L212+156
	ldr	r3, [fp, #-1076]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, [fp, #-1068]
	cmp	r3, r2
	bne	.L197
	ldr	r2, .L212+160
	ldr	r3, [fp, #-1076]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-1076]
	ldr	r3, [fp, #-1076]
	cmp	r3, #0
	bgt	.L28
	ldr	r3, [fp, #-1076]
	rsb	r3, r3, #0
	str	r3, [fp, #-1076]
	b	.L29
.L28:
	ldr	r3, [fp, #-1100]
	cmp	r3, #0
	beq	.L30
	ldr	r3, [fp, #-1100]
	sub	r3, r3, #1
	str	r3, [fp, #-1100]
.L30:
	ldr	r3, [fp, #-1076]
	str	r3, [fp, #-1104]
	ldr	r3, [fp, #-1084]
	add	r3, r3, #4
	str	r3, [fp, #-1084]
	ldr	r3, .L212+184
	ldr	r2, [r3]
	ldr	r3, [fp, #-1084]
	str	r2, [r3]
	ldr	r3, .L212+8
	mvn	r2, #1
	str	r2, [r3]
	b	.L8
.L196:
	nop
	b	.L20
.L197:
	nop
.L20:
	ldr	r2, .L212+20
	ldr	r3, [fp, #-1104]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-1076]
	ldr	r3, [fp, #-1076]
	cmp	r3, #0
	beq	.L198
	nop
.L29:
	ldr	r2, .L212+24
	ldr	r3, [fp, #-1076]
	add	r3, r2, r3
	ldrsb	r3, [r3]
	str	r3, [fp, #-1060]
	ldr	r3, [fp, #-1060]
	rsb	r3, r3, #1
	lsl	r3, r3, #2
	ldr	r2, [fp, #-1084]
	add	r3, r2, r3
	ldr	r3, [r3]
	str	r3, [fp, #-1064]
	ldr	r3, [fp, #-1076]
	sub	r3, r3, #11
	cmp	r3, #131
	ldrls	pc, [pc, r3, asl #2]
	b	.L199
.L35:
	.word	.L87
	.word	.L199
	.word	.L86
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L85
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L84
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L83
	.word	.L82
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L81
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L80
	.word	.L79
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L78
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L77
	.word	.L199
	.word	.L76
	.word	.L199
	.word	.L75
	.word	.L199
	.word	.L74
	.word	.L73
	.word	.L199
	.word	.L72
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L71
	.word	.L70
	.word	.L69
	.word	.L68
	.word	.L67
	.word	.L66
	.word	.L65
	.word	.L64
	.word	.L63
	.word	.L62
	.word	.L61
	.word	.L60
	.word	.L59
	.word	.L58
	.word	.L57
	.word	.L56
	.word	.L55
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L54
	.word	.L53
	.word	.L199
	.word	.L199
	.word	.L52
	.word	.L51
	.word	.L199
	.word	.L199
	.word	.L199
	.word	.L50
	.word	.L49
	.word	.L48
	.word	.L47
	.word	.L46
	.word	.L45
	.word	.L199
	.word	.L44
	.word	.L43
	.word	.L42
	.word	.L199
	.word	.L41
	.word	.L40
	.word	.L199
	.word	.L39
	.word	.L199
	.word	.L199
	.word	.L38
	.word	.L37
	.word	.L36
	.word	.L34
.L87:
	ldr	r0, .L212+124
	bl	duplicate
	mov	r3, r0
	cmp	r3, #0
	beq	.L88
	ldr	r0, .L212+28
	bl	printf
	mov	r0, #0
	bl	exit
.L88:
	ldr	r3, .L212+32
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L212+124
	bl	insertSTnest
	bl	ins
	b	.L89
.L86:
	ldr	r0, .L212+124
	bl	duplicate
	mov	r3, r0
	cmp	r3, #0
	beq	.L90
	ldr	r0, .L212+28
	bl	printf
	mov	r0, #0
	bl	exit
.L90:
	ldr	r3, .L212+32
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L212+124
	bl	insertSTnest
	bl	ins
	b	.L89
.L85:
	ldr	r3, [fp, #-1064]
	cmp	r3, #0
	bgt	.L200
	ldr	r0, .L212+36
	bl	printf
	mov	r0, #0
	bl	exit
.L84:
	ldr	r1, .L212+40
	ldr	r0, .L212+44
	bl	strcpy
	ldr	r1, .L212+124
	ldr	r0, .L212+48
	bl	strcpy
	ldr	r0, .L212+124
	bl	check_duplicate
	ldr	r0, .L212+124
	bl	insertSTF
	bl	ins
	b	.L89
.L83:
	ldr	r0, .L212+40
	bl	check_params
	b	.L89
.L82:
	ldr	r3, .L212+52
	ldr	r3, [r3]
	mov	r1, r3
	ldr	r0, .L212+48
	bl	insertSTparamscount
	b	.L89
.L81:
	bl	ins
	mov	r1, #1
	ldr	r0, .L212+124
	bl	insertSTnest
	ldr	r3, .L212+52
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L212+52
	str	r3, [r2]
	ldr	r1, .L212+40
	ldr	r0, .L212+48
	bl	insertSTparamstype
	b	.L89
.L80:
	ldr	r3, .L212+32
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L212+32
	str	r3, [r2]
	b	.L89
.L79:
	ldr	r3, .L212+32
	ldr	r3, [r3]
	mov	r0, r3
	bl	deletedata
	ldr	r3, .L212+32
	ldr	r3, [r3]
	sub	r3, r3, #1
	ldr	r2, .L212+32
	str	r3, [r2]
	b	.L89
.L78:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L201
	ldr	r0, .L212+56
	bl	printf
	mov	r0, #0
	bl	exit
.L77:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L202
	ldr	r0, .L212+56
	bl	printf
	mov	r0, #0
	bl	exit
.L76:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L203
	ldr	r0, .L212+56
	bl	printf
	mov	r0, #0
	bl	exit
.L75:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L204
	ldr	r0, .L212+56
	bl	printf
	mov	r0, #0
	bl	exit
.L74:
	ldr	r1, .L212+60
	ldr	r0, .L212+44
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L205
	ldr	r0, .L212+64
	bl	printf
	mov	r0, #0
	bl	exit
.L73:
	ldr	r1, .L212+60
	ldr	r0, .L212+44
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	bne	.L97
	ldr	r0, .L212+68
	bl	yyerror
.L97:
	ldr	r3, .L212+44
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #105
	beq	.L98
	ldr	r3, .L212+44
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #99
	bne	.L206
.L98:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #1
	beq	.L206
	ldr	r0, .L212+72
	bl	printf
	mov	r0, #0
	bl	exit
.L72:
	bl	insV
	b	.L89
.L71:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L100
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L100
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L100:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	ldr	r0, .L212+76
	bl	printf
	mov	r0, #0
	bl	exit
.L70:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L101
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L101
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L101:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	ldr	r0, .L212+76
	bl	printf
	mov	r0, #0
	bl	exit
.L69:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L102
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L102
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L102:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	ldr	r0, .L212+76
	bl	printf
	mov	r0, #0
	bl	exit
.L68:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L103
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L103
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L103:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	ldr	r0, .L212+76
	bl	printf
	mov	r0, #0
	bl	exit
.L67:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L104
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L104
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L104:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	ldr	r0, .L212+76
	bl	printf
	mov	r0, #0
	bl	exit
.L66:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L105
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L105
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L105:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	ldr	r0, .L212+76
	bl	printf
	mov	r0, #0
	bl	exit
.L65:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L106
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L106:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L64:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L108
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L108:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L63:
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L110
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L110:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L62:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L112
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L112
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L112:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L61:
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L114
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L114:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L60:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L116
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L116
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L116:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L59:
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L118
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L118:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L58:
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L120
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L120:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L57:
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L122
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L122:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L56:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L124
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L124
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L124:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L55:
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L126
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L126:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L54:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L128
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L128
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L128:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L53:
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L130
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L130:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L52:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #8
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L132
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L132
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L132:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L51:
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L134
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L134:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L50:
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L136
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L136:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L49:
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L138
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L138:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L48:
	ldr	r0, .L212+124
	bl	check_id_is_func
	mov	r3, r0
	cmp	r3, #0
	beq	.L140
	ldr	r0, .L212+80
	bl	printf
	mov	r0, #8
	bl	exit
.L140:
	ldr	r0, .L212+124
	bl	checkscope
	mov	r3, r0
	cmp	r3, #0
	bne	.L141
	ldr	r0, .L212+124
	bl	puts
	ldr	r0, .L212+84
	bl	printf
	mov	r0, #0
	bl	exit
.L141:
	ldr	r0, .L212+124
	bl	checkarray
	mov	r3, r0
	cmp	r3, #0
	bne	.L142
	ldr	r0, .L212+124
	bl	puts
	ldr	r0, .L212+88
	bl	printf
	mov	r0, #0
	bl	exit
.L142:
	mov	r1, #0
	ldr	r0, .L212+124
	bl	gettype
	mov	r3, r0
	cmp	r3, #105
	beq	.L143
	mov	r1, #1
	ldr	r0, .L212+124
	bl	gettype
	mov	r3, r0
	cmp	r3, #99
	bne	.L144
.L143:
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L144:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L47:
	ldr	r0, .L212+124
	bl	checkscope
	mov	r3, r0
	cmp	r3, #0
	bne	.L207
	ldr	r0, .L212+124
	bl	puts
	ldr	r0, .L212+84
	bl	printf
	mov	r0, #0
	bl	exit
.L46:
	mov	r1, #0
	ldr	r0, .L212+124
	bl	gettype
	mov	r3, r0
	cmp	r3, #105
	beq	.L147
	mov	r1, #1
	ldr	r0, .L212+124
	bl	gettype
	mov	r3, r0
	cmp	r3, #99
	bne	.L148
.L147:
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L148:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L45:
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #4
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L150
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L150:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L44:
	ldr	r3, [fp, #-1084]
	ldr	r3, [r3]
	cmp	r3, #1
	bne	.L152
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L152:
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L43:
	ldr	r1, .L212+92
	ldr	r0, .L212+124
	bl	check_declaration
	mov	r3, r0
	cmp	r3, #0
	bne	.L154
	ldr	r0, .L212+96
	bl	printf
	mov	r0, #0
	bl	exit
.L154:
	ldr	r0, .L212+124
	bl	insertSTF
	ldr	r1, .L212+124
	ldr	r0, .L212+104
	bl	strcpy
	ldr	r3, .L212+116
	mov	r2, #0
	str	r2, [r3]
	mov	r3, #0
	str	r3, [fp, #-1056]
	b	.L155
.L156:
	ldr	r1, .L212+120
	ldr	r2, [fp, #-1056]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	mov	r2, #0
	strb	r2, [r3]
	ldr	r3, [fp, #-1056]
	add	r3, r3, #1
	str	r3, [fp, #-1056]
.L155:
	ldr	r3, [fp, #-1056]
	cmp	r3, #99
	ble	.L156
	b	.L89
.L213:
	.align	2
.L212:
	.word	.LC23
	.word	yynerrs
	.word	yychar
	.word	9999
	.word	10000
	.word	yydefact
	.word	yyr2
	.word	.LC1
	.word	currnest
	.word	.LC2
	.word	curtype
	.word	currfunctype
	.word	currfunc
	.word	params_count
	.word	.LC3
	.word	.LC4
	.word	.LC5
	.word	.LC6
	.word	.LC7
	.word	.LC8
	.word	.LC9
	.word	.LC10
	.word	.LC11
	.word	.LC12
	.word	.LC13
	.word	.LC14
	.word	currfunccall
	.word	.LC15
	.word	.LC16
	.word	call_params_count
	.word	call_params_types
	.word	curid
	.word	yyr1
	.word	yypgoto
	.word	yydefgoto
	.word	yynerrs
	.word	.LC17
	.word	.LC18
	.word	yypact
	.word	yycheck
	.word	yytable
	.word	.LC19
	.word	.LC20
	.word	317
	.word	yychar
	.word	yytranslate
	.word	yylval
	.word	.LC21
	.word	yystos
	.word	.LC22
	.word	.LC23
.L42:
	ldr	r1, .L212+100
	ldr	r0, .L212+104
	bl	strcmp
	mov	r3, r0
	cmp	r3, #0
	beq	.L208
	ldr	r0, .L212+104
	bl	getSTparamscount
	mov	r2, r0
	ldr	r3, .L212+116
	ldr	r3, [r3]
	cmp	r2, r3
	beq	.L208
	ldr	r3, .L212+116
	ldr	r4, [r3]
	ldr	r0, .L212+104
	bl	getSTparamscount
	mov	r3, r0
	mov	r2, r3
	mov	r1, r4
	ldr	r0, .L212+108
	bl	printf
	ldr	r0, .L212+112
	bl	yyerror
	mov	r0, #8
	bl	exit
.L41:
	ldr	r3, .L212+116
	mvn	r2, #0
	str	r2, [r3]
	b	.L89
.L40:
	ldr	r3, .L212+116
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L212+116
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-1052]
	b	.L158
.L161:
	ldr	r1, .L212+120
	ldr	r2, [fp, #-1052]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L159
	ldr	r2, [fp, #-1052]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L212+120
	add	r4, r3, r2
	ldr	r0, .L212+124
	bl	gettypestr
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	strcpy
	nop
	b	.L89
.L159:
	ldr	r3, [fp, #-1052]
	add	r3, r3, #1
	str	r3, [fp, #-1052]
.L158:
	ldr	r3, [fp, #-1052]
	cmp	r3, #99
	ble	.L161
	b	.L89
.L39:
	ldr	r3, .L212+116
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L212+116
	str	r3, [r2]
	mov	r3, #0
	str	r3, [fp, #-1048]
	b	.L162
.L165:
	ldr	r1, .L212+120
	ldr	r2, [fp, #-1048]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	add	r3, r1, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #0
	bne	.L163
	ldr	r2, [fp, #-1048]
	mov	r3, r2
	lsl	r3, r3, #2
	add	r3, r3, r2
	lsl	r2, r3, #2
	add	r3, r3, r2
	lsl	r3, r3, #2
	ldr	r2, .L212+120
	add	r4, r3, r2
	ldr	r0, .L212+124
	bl	gettypestr
	mov	r3, r0
	mov	r1, r3
	mov	r0, r4
	bl	strcpy
	nop
	b	.L89
.L163:
	ldr	r3, [fp, #-1048]
	add	r3, r3, #1
	str	r3, [fp, #-1048]
.L162:
	ldr	r3, [fp, #-1048]
	cmp	r3, #99
	ble	.L165
	b	.L89
.L38:
	bl	insV
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L37:
	bl	insV
	mvn	r3, #0
	str	r3, [fp, #-1064]
	b	.L89
.L36:
	bl	insV
	b	.L89
.L34:
	bl	insV
	mov	r3, #1
	str	r3, [fp, #-1064]
	b	.L89
.L199:
	nop
	b	.L89
.L200:
	nop
	b	.L89
.L201:
	nop
	b	.L89
.L202:
	nop
	b	.L89
.L203:
	nop
	b	.L89
.L204:
	nop
	b	.L89
.L205:
	nop
	b	.L89
.L206:
	nop
	b	.L89
.L207:
	nop
	b	.L89
.L208:
	nop
.L89:
	ldr	r3, [fp, #-1060]
	lsl	r3, r3, #2
	rsb	r3, r3, #0
	ldr	r2, [fp, #-1084]
	add	r3, r2, r3
	str	r3, [fp, #-1084]
	ldr	r3, [fp, #-1060]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-1092]
	add	r3, r2, r3
	str	r3, [fp, #-1092]
	mov	r3, #0
	str	r3, [fp, #-1060]
	ldr	r3, [fp, #-1084]
	add	r3, r3, #4
	str	r3, [fp, #-1084]
	ldr	r3, [fp, #-1084]
	ldr	r2, [fp, #-1064]
	str	r2, [r3]
	ldr	r2, .L212+128
	ldr	r3, [fp, #-1076]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	sub	r3, r3, #71
	str	r3, [fp, #-1024]
	ldr	r2, .L212+132
	ldr	r3, [fp, #-1024]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	mov	r2, r3
	ldr	r3, [fp, #-1092]
	ldrb	r3, [r3]	@ zero_extendqisi2
	add	r3, r2, r3
	str	r3, [fp, #-1020]
	ldr	r3, [fp, #-1020]
	cmp	r3, #0
	blt	.L166
	ldr	r3, [fp, #-1020]
	cmp	r3, #222
	bgt	.L166
	ldr	r2, .L212+156
	ldr	r3, [fp, #-1020]
	add	r3, r2, r3
	ldrb	r2, [r3]	@ zero_extendqisi2
	ldr	r3, [fp, #-1092]
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r2, r3
	bne	.L166
	ldr	r2, .L212+160
	ldr	r3, [fp, #-1020]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	b	.L167
.L166:
	ldr	r2, .L212+136
	ldr	r3, [fp, #-1024]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
.L167:
	str	r3, [fp, #-1104]
	b	.L8
.L198:
	nop
.L32:
	ldr	r3, .L212+176
	ldr	r3, [r3]
	cmn	r3, #2
	beq	.L168
	ldr	r3, .L212+176
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L169
	ldr	r3, .L212+176
	ldr	r3, [r3]
	ldr	r2, .L212+172
	cmp	r3, r2
	bgt	.L169
	ldr	r3, .L212+176
	ldr	r3, [r3]
	ldr	r2, .L212+180
	ldrsb	r3, [r2, r3]
	b	.L171
.L169:
	mov	r3, #2
	b	.L171
.L168:
	mvn	r3, #1
.L171:
	str	r3, [fp, #-1068]
	ldr	r3, [fp, #-1100]
	cmp	r3, #0
	bne	.L172
	ldr	r3, .L212+140
	ldr	r3, [r3]
	add	r3, r3, #1
	ldr	r2, .L212+140
	str	r3, [r2]
	ldr	r0, .L212+144
	bl	yyerror
.L172:
	ldr	r3, [fp, #-1100]
	cmp	r3, #3
	bne	.L209
	ldr	r3, .L212+176
	ldr	r3, [r3]
	cmp	r3, #0
	bgt	.L174
	ldr	r3, .L212+176
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L209
	b	.L15
.L174:
	ldr	r2, .L212+184
	ldr	r1, [fp, #-1068]
	ldr	r0, .L212+148
	bl	yydestruct
	ldr	r3, .L212+176
	mvn	r2, #1
	str	r2, [r3]
.L209:
	nop
.L175:
	mov	r3, #3
	str	r3, [fp, #-1100]
.L179:
	ldr	r2, .L212+152
	ldr	r3, [fp, #-1104]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-1076]
	ldr	r3, [fp, #-1076]
	cmn	r3, #63
	beq	.L176
	ldr	r3, [fp, #-1076]
	add	r3, r3, #1
	str	r3, [fp, #-1076]
	ldr	r3, [fp, #-1076]
	cmp	r3, #0
	blt	.L176
	ldr	r3, [fp, #-1076]
	cmp	r3, #222
	bgt	.L176
	ldr	r2, .L212+156
	ldr	r3, [fp, #-1076]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	cmp	r3, #1
	bne	.L176
	ldr	r2, .L212+160
	ldr	r3, [fp, #-1076]
	lsl	r3, r3, #1
	add	r3, r2, r3
	ldrsh	r3, [r3]
	str	r3, [fp, #-1076]
	ldr	r3, [fp, #-1076]
	cmp	r3, #0
	bgt	.L210
.L176:
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1096]
	cmp	r2, r3
	beq	.L211
	ldr	r2, .L212+192
	ldr	r3, [fp, #-1104]
	add	r3, r2, r3
	ldrb	r3, [r3]	@ zero_extendqisi2
	ldr	r2, [fp, #-1084]
	mov	r1, r3
	ldr	r0, .L212+164
	bl	yydestruct
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #4
	str	r3, [fp, #-1084]
	ldr	r3, [fp, #-1092]
	sub	r3, r3, #1
	str	r3, [fp, #-1092]
	ldr	r3, [fp, #-1092]
	ldrb	r3, [r3]	@ zero_extendqisi2
	str	r3, [fp, #-1104]
	b	.L179
.L210:
	nop
	ldr	r3, [fp, #-1084]
	add	r3, r3, #4
	str	r3, [fp, #-1084]
	ldr	r3, .L212+184
	ldr	r2, [r3]
	ldr	r3, [fp, #-1084]
	str	r2, [r3]
	ldr	r3, [fp, #-1076]
	str	r3, [fp, #-1104]
	b	.L8
.L195:
	nop
.L17:
	mov	r3, #0
	str	r3, [fp, #-1072]
	b	.L180
.L194:
	nop
	b	.L15
.L211:
	nop
.L15:
	mov	r3, #1
	str	r3, [fp, #-1072]
	b	.L180
.L192:
	nop
	b	.L11
.L193:
	nop
.L11:
	ldr	r0, .L212+168
	bl	yyerror
	mov	r3, #2
	str	r3, [fp, #-1072]
.L180:
	ldr	r3, .L212+176
	ldr	r3, [r3]
	cmn	r3, #2
	beq	.L181
	ldr	r3, .L212+176
	ldr	r3, [r3]
	cmp	r3, #0
	blt	.L182
	ldr	r3, .L212+176
	ldr	r3, [r3]
	ldr	r2, .L212+172
	cmp	r3, r2
	bgt	.L182
	ldr	r3, .L212+176
	ldr	r3, [r3]
	ldr	r2, .L212+180
	ldrsb	r3, [r2, r3]
	b	.L183
.L182:
	mov	r3, #2
.L183:
	str	r3, [fp, #-1068]
	ldr	r2, .L212+184
	ldr	r1, [fp, #-1068]
	ldr	r0, .L212+188
	bl	yydestruct
.L181:
	ldr	r3, [fp, #-1060]
	lsl	r3, r3, #2
	rsb	r3, r3, #0
	ldr	r2, [fp, #-1084]
	add	r3, r2, r3
	str	r3, [fp, #-1084]
	ldr	r3, [fp, #-1060]
	rsb	r3, r3, #0
	ldr	r2, [fp, #-1092]
	add	r3, r2, r3
	str	r3, [fp, #-1092]
	b	.L184
.L185:
	ldr	r3, [fp, #-1092]
	ldrb	r3, [r3]	@ zero_extendqisi2
	mov	r2, r3
	ldr	r3, .L212+192
	ldrb	r3, [r3, r2]	@ zero_extendqisi2
	ldr	r2, [fp, #-1084]
	mov	r1, r3
	ldr	r0, .L212+196
	bl	yydestruct
	ldr	r3, [fp, #-1084]
	sub	r3, r3, #4
	str	r3, [fp, #-1084]
	ldr	r3, [fp, #-1092]
	sub	r3, r3, #1
	str	r3, [fp, #-1092]
.L184:
	ldr	r2, [fp, #-1092]
	ldr	r3, [fp, #-1096]
	cmp	r2, r3
	bne	.L185
	sub	r3, fp, #216
	ldr	r2, [fp, #-1096]
	cmp	r2, r3
	beq	.L186
	ldr	r0, [fp, #-1096]
	bl	free
.L186:
	ldr	r3, [fp, #-1072]
	ldr	r2, .L212+200
	ldr	r1, [r2]
	ldr	r2, [fp, #-16]
	eors	r1, r2, r1
	mov	r2, #0
	beq	.L188
	bl	__stack_chk_fail
.L188:
	mov	r0, r3
	sub	sp, fp, #8
	@ sp needed
	pop	{r4, fp, pc}
	.size	yyparse, .-yyparse
	.section	.rodata
	.align	2
.LC24:
	.ascii	"r\000"
	.align	2
.LC25:
	.ascii	"\033[32mStatus: Parsing Complete - Valid\033[0m\000"
	.align	2
.LC26:
	.ascii	" \000"
	.align	2
.LC27:
	.ascii	"%30s\033[36mSYMBOL TABLE\033[0m\012\000"
	.align	2
.LC28:
	.ascii	"------------\000"
	.align	2
.LC29:
	.ascii	"%30s %s\012\000"
	.align	2
.LC30:
	.ascii	"\012\012%30s\033[36mCONSTANT TABLE\033[0m\012\000"
	.align	2
.LC31:
	.ascii	"--------------\000"
	.text
	.align	2
	.global	main
	.syntax unified
	.arm
	.fpu softvfp
	.type	main, %function
main:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	str	r1, [fp, #-12]
	ldr	r3, [fp, #-12]
	add	r3, r3, #4
	ldr	r3, [r3]
	ldr	r1, .L217
	mov	r0, r3
	bl	fopen
	mov	r3, r0
	ldr	r2, .L217+4
	str	r3, [r2]
	bl	yyparse
	ldr	r3, .L217+8
	ldr	r3, [r3]
	cmp	r3, #0
	bne	.L215
	ldr	r0, .L217+12
	bl	puts
	ldr	r1, .L217+16
	ldr	r0, .L217+20
	bl	printf
	ldr	r2, .L217+24
	ldr	r1, .L217+16
	ldr	r0, .L217+28
	bl	printf
	bl	printST
	ldr	r1, .L217+16
	ldr	r0, .L217+32
	bl	printf
	ldr	r2, .L217+36
	ldr	r1, .L217+16
	ldr	r0, .L217+28
	bl	printf
	bl	printCT
.L215:
	mov	r3, #0
	mov	r0, r3
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L218:
	.align	2
.L217:
	.word	.LC24
	.word	yyin
	.word	flag
	.word	.LC25
	.word	.LC26
	.word	.LC27
	.word	.LC28
	.word	.LC29
	.word	.LC30
	.word	.LC31
	.size	main, .-main
	.section	.rodata
	.align	2
.LC32:
	.ascii	"\033[31m%d %s %s\012\000"
	.align	2
.LC33:
	.ascii	"\033[31mStatus: Parsing Failed - Invalid\012\033[0m"
	.ascii	"\000"
	.text
	.align	2
	.global	yyerror
	.syntax unified
	.arm
	.fpu softvfp
	.type	yyerror, %function
yyerror:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, .L220
	ldr	r1, [r3]
	ldr	r3, .L220+4
	ldr	r3, [r3]
	ldr	r2, [fp, #-8]
	ldr	r0, .L220+8
	bl	printf
	ldr	r3, .L220+12
	mov	r2, #1
	str	r2, [r3]
	ldr	r0, .L220+16
	bl	printf
	mov	r0, #7
	bl	exit
.L221:
	.align	2
.L220:
	.word	yylineno
	.word	yytext
	.word	.LC32
	.word	flag
	.word	.LC33
	.size	yyerror, .-yyerror
	.align	2
	.global	ins
	.syntax unified
	.arm
	.fpu softvfp
	.type	ins, %function
ins:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r1, .L223
	ldr	r0, .L223+4
	bl	insertSTtype
	nop
	pop	{fp, pc}
.L224:
	.align	2
.L223:
	.word	curtype
	.word	curid
	.size	ins, .-ins
	.align	2
	.global	insV
	.syntax unified
	.arm
	.fpu softvfp
	.type	insV, %function
insV:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	ldr	r1, .L226
	ldr	r0, .L226+4
	bl	insertSTvalue
	nop
	pop	{fp, pc}
.L227:
	.align	2
.L226:
	.word	curval
	.word	curid
	.size	insV, .-insV
	.align	2
	.global	yywrap
	.syntax unified
	.arm
	.fpu softvfp
	.type	yywrap, %function
yywrap:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 1, uses_anonymous_args = 0
	@ link register save eliminated.
	str	fp, [sp, #-4]!
	add	fp, sp, #0
	mov	r3, #1
	mov	r0, r3
	add	sp, fp, #0
	@ sp needed
	ldr	fp, [sp], #4
	bx	lr
	.size	yywrap, .-yywrap
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
