Mercurial > hg > Members > nobuyasu > myCompiler
diff Bison-Flex/Compiler-StackBase/UTF8/script-parser.cc @ 6:86c0a38332fe
update
author | nobuyasu <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 17 May 2011 18:26:00 +0900 |
parents | caede627f691 |
children |
line wrap: on
line diff
--- a/Bison-Flex/Compiler-StackBase/UTF8/script-parser.cc Tue May 17 12:45:07 2011 +0900 +++ b/Bison-Flex/Compiler-StackBase/UTF8/script-parser.cc Tue May 17 18:26:00 2011 +0900 @@ -200,77 +200,77 @@ switch (yytype) { case 4: /* "\"identifier\"" */ -#line 93 "script-parser.yy" +#line 95 "script-parser.yy" { delete (yyvaluep->sval); }; #line 206 "script-parser.cc" break; case 5: /* "\"sval\"" */ -#line 94 "script-parser.yy" +#line 96 "script-parser.yy" { delete (yyvaluep->sval); }; #line 211 "script-parser.cc" break; - case 56: /* "value_list" */ -#line 96 "script-parser.yy" + case 58: /* "value_list" */ +#line 98 "script-parser.yy" { delete (yyvaluep->value_list); }; #line 216 "script-parser.cc" break; - case 57: /* "arglist" */ -#line 97 "script-parser.yy" + case 59: /* "arglist" */ +#line 99 "script-parser.yy" { delete (yyvaluep->arglist); }; #line 221 "script-parser.cc" break; - case 58: /* "arg" */ -#line 98 "script-parser.yy" + case 60: /* "arg" */ +#line 100 "script-parser.yy" { delete (yyvaluep->argdef); }; #line 226 "script-parser.cc" break; - case 61: /* "block" */ -#line 102 "script-parser.yy" + case 63: /* "block" */ +#line 104 "script-parser.yy" { delete (yyvaluep->block); }; #line 231 "script-parser.cc" break; - case 62: /* "decl_list" */ -#line 99 "script-parser.yy" + case 64: /* "decl_list" */ +#line 101 "script-parser.yy" { delete (yyvaluep->decls); }; #line 236 "script-parser.cc" break; - case 63: /* "state_list" */ -#line 100 "script-parser.yy" + case 65: /* "state_list" */ +#line 102 "script-parser.yy" { delete (yyvaluep->states); }; #line 241 "script-parser.cc" break; - case 64: /* "decls" */ -#line 99 "script-parser.yy" + case 66: /* "decls" */ +#line 101 "script-parser.yy" { delete (yyvaluep->decls); }; #line 246 "script-parser.cc" break; - case 65: /* "states" */ -#line 100 "script-parser.yy" + case 67: /* "states" */ +#line 102 "script-parser.yy" { delete (yyvaluep->states); }; #line 251 "script-parser.cc" break; - case 66: /* "statement" */ -#line 104 "script-parser.yy" + case 68: /* "statement" */ +#line 106 "script-parser.yy" { delete (yyvaluep->statement); }; #line 256 "script-parser.cc" break; - case 67: /* "assign" */ -#line 103 "script-parser.yy" + case 69: /* "assign" */ +#line 105 "script-parser.yy" { delete (yyvaluep->assign); }; #line 261 "script-parser.cc" break; - case 68: /* "expr" */ -#line 106 "script-parser.yy" + case 70: /* "expr" */ +#line 108 "script-parser.yy" { delete (yyvaluep->expr); }; #line 266 "script-parser.cc" break; - case 69: /* "value" */ -#line 105 "script-parser.yy" + case 71: /* "value" */ +#line 107 "script-parser.yy" { delete (yyvaluep->value); }; #line 271 "script-parser.cc" break; - case 70: /* "args" */ -#line 101 "script-parser.yy" + case 72: /* "args" */ +#line 103 "script-parser.yy" { delete (yyvaluep->args); }; #line 276 "script-parser.cc" break; @@ -470,423 +470,438 @@ switch (yyn) { case 7: -#line 128 "script-parser.yy" +#line 130 "script-parser.yy" { driver.DefineValue((yylocation_stack_[(3) - (2)]), (yysemantic_stack_[(3) - (1)].type), (yysemantic_stack_[(3) - (2)].value_list)); ;} break; case 8: -#line 129 "script-parser.yy" +#line 131 "script-parser.yy" { driver.DefineFunction((yylocation_stack_[(5) - (2)]), (yysemantic_stack_[(5) - (1)].type), (yysemantic_stack_[(5) - (2)].sval), NULL); ;} break; case 9: -#line 130 "script-parser.yy" +#line 132 "script-parser.yy" { driver.DefineFunction((yylocation_stack_[(6) - (2)]), (yysemantic_stack_[(6) - (1)].type), (yysemantic_stack_[(6) - (2)].sval), (yysemantic_stack_[(6) - (4)].arglist)); ;} break; case 10: -#line 131 "script-parser.yy" +#line 133 "script-parser.yy" { driver.DefineFunction((yylocation_stack_[(5) - (2)]), TYPE_VOID, (yysemantic_stack_[(5) - (2)].sval), NULL); ;} break; case 11: -#line 132 "script-parser.yy" +#line 134 "script-parser.yy" { driver.DefineFunction((yylocation_stack_[(6) - (2)]), TYPE_VOID, (yysemantic_stack_[(6) - (2)].sval), (yysemantic_stack_[(6) - (4)].arglist)); ;} break; case 12: -#line 133 "script-parser.yy" +#line 135 "script-parser.yy" { driver.DefineFunction((yylocation_stack_[(5) - (2)]), TYPE_CODE, (yysemantic_stack_[(5) - (2)].sval), NULL); ;} break; case 13: -#line 134 "script-parser.yy" +#line 136 "script-parser.yy" { driver.DefineFunction((yylocation_stack_[(6) - (2)]), TYPE_CODE, (yysemantic_stack_[(6) - (2)].sval), (yysemantic_stack_[(6) - (4)].arglist)); ;} break; case 14: -#line 137 "script-parser.yy" +#line 139 "script-parser.yy" { (yyval.value_list) = new CValueList((yysemantic_stack_[(1) - (1)].value)); ;} break; case 15: -#line 138 "script-parser.yy" +#line 140 "script-parser.yy" { (yyval.value_list) = (yysemantic_stack_[(3) - (1)].value_list)->Add((yysemantic_stack_[(3) - (3)].value)); ;} break; case 16: -#line 141 "script-parser.yy" +#line 143 "script-parser.yy" { (yyval.arglist) = new CArgList((yysemantic_stack_[(1) - (1)].argdef)); ;} break; case 17: -#line 142 "script-parser.yy" +#line 144 "script-parser.yy" { (yyval.arglist) = (yysemantic_stack_[(3) - (1)].arglist)->Add((yysemantic_stack_[(3) - (3)].argdef)); ;} break; case 18: -#line 145 "script-parser.yy" +#line 147 "script-parser.yy" { (yyval.argdef) = new CArgDef((yylocation_stack_[(1) - (1)]), (yysemantic_stack_[(1) - (1)].type), NULL); ;} break; case 19: -#line 146 "script-parser.yy" +#line 148 "script-parser.yy" { (yyval.argdef) = new CArgDef((yylocation_stack_[(2) - (1)]), TypeToRef((yysemantic_stack_[(2) - (1)].type)), NULL); ;} break; case 20: -#line 147 "script-parser.yy" +#line 149 "script-parser.yy" { (yyval.argdef) = new CArgDef((yylocation_stack_[(2) - (1)]), (yysemantic_stack_[(2) - (1)].type), (yysemantic_stack_[(2) - (2)].sval)); ;} break; case 21: -#line 148 "script-parser.yy" +#line 150 "script-parser.yy" { (yyval.argdef) = new CArgDef((yylocation_stack_[(3) - (1)]), TypeToRef((yysemantic_stack_[(3) - (1)].type)), (yysemantic_stack_[(3) - (3)].sval)); ;} break; case 22: -#line 149 "script-parser.yy" +#line 151 "script-parser.yy" { (yyval.argdef) = new CArgDef((yylocation_stack_[(4) - (1)]), TypeToRef((yysemantic_stack_[(4) - (1)].type)), (yysemantic_stack_[(4) - (2)].sval)); ;} break; case 23: -#line 150 "script-parser.yy" +#line 152 "script-parser.yy" { (yyval.argdef) = new CArgDef((yylocation_stack_[(5) - (1)]), TypeToRef((yysemantic_stack_[(5) - (1)].type)), (yysemantic_stack_[(5) - (3)].sval)); ;} break; case 24: -#line 153 "script-parser.yy" +#line 155 "script-parser.yy" { driver.AddFunction((yylocation_stack_[(5) - (1)]), (yysemantic_stack_[(5) - (1)].type), (yysemantic_stack_[(5) - (2)].sval), NULL, (yysemantic_stack_[(5) - (5)].block)); ;} break; case 25: -#line 154 "script-parser.yy" +#line 156 "script-parser.yy" { driver.AddFunction((yylocation_stack_[(6) - (1)]), (yysemantic_stack_[(6) - (1)].type), (yysemantic_stack_[(6) - (2)].sval), (yysemantic_stack_[(6) - (4)].arglist), (yysemantic_stack_[(6) - (6)].block)); ;} break; case 26: -#line 155 "script-parser.yy" +#line 157 "script-parser.yy" { driver.AddFunction((yylocation_stack_[(5) - (1)]), TYPE_VOID, (yysemantic_stack_[(5) - (2)].sval), NULL, (yysemantic_stack_[(5) - (5)].block)); ;} break; case 27: -#line 156 "script-parser.yy" +#line 158 "script-parser.yy" { driver.AddFunction((yylocation_stack_[(6) - (1)]), TYPE_VOID, (yysemantic_stack_[(6) - (2)].sval), (yysemantic_stack_[(6) - (4)].arglist), (yysemantic_stack_[(6) - (6)].block)); ;} break; case 28: -#line 157 "script-parser.yy" +#line 159 "script-parser.yy" { driver.AddGotoFunction((yylocation_stack_[(5) - (1)]), TYPE_CODE, (yysemantic_stack_[(5) - (2)].sval), NULL, (yysemantic_stack_[(5) - (5)].block)); ;} break; case 29: -#line 158 "script-parser.yy" +#line 160 "script-parser.yy" { driver.AddGotoFunction((yylocation_stack_[(6) - (1)]), TYPE_CODE, (yysemantic_stack_[(6) - (2)].sval), (yysemantic_stack_[(6) - (4)].arglist), (yysemantic_stack_[(6) - (6)].block)); ;} break; case 30: -#line 161 "script-parser.yy" +#line 163 "script-parser.yy" { (yyval.type) = TYPE_INTEGER; ;} break; case 31: -#line 162 "script-parser.yy" +#line 164 "script-parser.yy" { (yyval.type) = TYPE_STRING; ;} break; case 32: -#line 165 "script-parser.yy" +#line 167 "script-parser.yy" { (yyval.block) = new CStateBlock((yysemantic_stack_[(4) - (2)].decls), (yysemantic_stack_[(4) - (3)].states)); ;} break; case 33: -#line 168 "script-parser.yy" +#line 170 "script-parser.yy" { (yyval.decls) = NULL ;} break; case 34: -#line 169 "script-parser.yy" +#line 171 "script-parser.yy" { (yyval.decls) = (yysemantic_stack_[(1) - (1)].decls) ;} break; case 35: -#line 172 "script-parser.yy" +#line 174 "script-parser.yy" { (yyval.states) = NULL ;} break; case 36: -#line 173 "script-parser.yy" +#line 175 "script-parser.yy" { (yyval.states) = (yysemantic_stack_[(1) - (1)].states) ;} break; case 37: -#line 176 "script-parser.yy" +#line 178 "script-parser.yy" { (yyval.decls) = new CDeclList(new CDecl((yysemantic_stack_[(3) - (1)].type), (yysemantic_stack_[(3) - (2)].value_list))); ;} break; case 38: -#line 177 "script-parser.yy" +#line 179 "script-parser.yy" { (yyval.decls) = (yysemantic_stack_[(4) - (1)].decls)->Add(new CDecl((yysemantic_stack_[(4) - (2)].type), (yysemantic_stack_[(4) - (3)].value_list))); ;} break; case 39: -#line 180 "script-parser.yy" +#line 182 "script-parser.yy" { (yyval.states) = new CStateList((yysemantic_stack_[(1) - (1)].statement)); ;} break; case 40: -#line 181 "script-parser.yy" +#line 183 "script-parser.yy" { (yyval.states) = (yysemantic_stack_[(2) - (1)].states)->Add((yysemantic_stack_[(2) - (2)].statement)); ;} break; case 41: -#line 184 "script-parser.yy" +#line 186 "script-parser.yy" { (yyval.statement) = new CNopStatement((yylocation_stack_[(1) - (1)])); ;} break; case 42: -#line 185 "script-parser.yy" +#line 187 "script-parser.yy" { (yyval.statement) = new CAssignStatement((yylocation_stack_[(2) - (1)]), (yysemantic_stack_[(2) - (1)].assign)); ;} break; case 43: -#line 186 "script-parser.yy" +#line 188 "script-parser.yy" { (yyval.statement) = new CFunctionStatement((yylocation_stack_[(5) - (1)]), (yysemantic_stack_[(5) - (1)].sval), (yysemantic_stack_[(5) - (3)].args)); ;} break; case 44: -#line 187 "script-parser.yy" +#line 189 "script-parser.yy" { (yyval.statement) = new CFunctionStatement((yylocation_stack_[(4) - (1)]), (yysemantic_stack_[(4) - (1)].sval), NULL); ;} break; case 45: -#line 188 "script-parser.yy" - { (yyval.statement) = new CCaseStatement((yylocation_stack_[(3) - (1)]), (yysemantic_stack_[(3) - (2)].expr)); ;} +#line 190 "script-parser.yy" + { driver.AddExit((yylocation_stack_[(4) - (1)]), TYPE_EXIT); ;} break; case 46: -#line 189 "script-parser.yy" - { (yyval.statement) = new CDefaultStatement((yylocation_stack_[(2) - (1)])); ;} +#line 191 "script-parser.yy" + { (yyval.statement) = new CGotoFunctionStatement((yylocation_stack_[(6) - (1)]), (yysemantic_stack_[(6) - (2)].sval), (yysemantic_stack_[(6) - (4)].args)); ;} break; case 47: -#line 190 "script-parser.yy" - { (yyval.statement) = new CBreakStatement((yylocation_stack_[(2) - (1)])); ;} +#line 192 "script-parser.yy" + { (yyval.statement) = new CGotoFunctionStatement((yylocation_stack_[(5) - (1)]), (yysemantic_stack_[(5) - (2)].sval), NULL); ;} break; case 48: -#line 191 "script-parser.yy" - { (yyval.statement) = new CReturnStatement((yylocation_stack_[(2) - (1)]), NULL); ;} +#line 193 "script-parser.yy" + { (yyval.statement) = new CCaseStatement((yylocation_stack_[(3) - (1)]), (yysemantic_stack_[(3) - (2)].expr)); ;} break; case 49: -#line 192 "script-parser.yy" - { (yyval.statement) = new CReturnStatement((yylocation_stack_[(3) - (1)]), (yysemantic_stack_[(3) - (2)].expr)); ;} +#line 194 "script-parser.yy" + { (yyval.statement) = new CDefaultStatement((yylocation_stack_[(2) - (1)])); ;} break; case 50: -#line 193 "script-parser.yy" - { (yyval.statement) = new CIfStatement((yylocation_stack_[(5) - (1)]), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].statement)); ;} +#line 195 "script-parser.yy" + { (yyval.statement) = new CBreakStatement((yylocation_stack_[(2) - (1)])); ;} break; case 51: -#line 194 "script-parser.yy" - { (yyval.statement) = new CIfStatement((yylocation_stack_[(7) - (1)]), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (5)].statement), (yysemantic_stack_[(7) - (7)].statement)); ;} +#line 196 "script-parser.yy" + { (yyval.statement) = new CReturnStatement((yylocation_stack_[(2) - (1)]), NULL); ;} break; case 52: -#line 196 "script-parser.yy" - { (yyval.statement) = new CForStatement((yylocation_stack_[(9) - (1)]), (yysemantic_stack_[(9) - (3)].assign), (yysemantic_stack_[(9) - (5)].expr), (yysemantic_stack_[(9) - (7)].assign), (yysemantic_stack_[(9) - (9)].statement)); ;} +#line 197 "script-parser.yy" + { (yyval.statement) = new CReturnStatement((yylocation_stack_[(3) - (1)]), (yysemantic_stack_[(3) - (2)].expr)); ;} break; case 53: -#line 197 "script-parser.yy" - { (yyval.statement) = new CWhileStatement((yylocation_stack_[(5) - (1)]), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].statement)); ;} +#line 198 "script-parser.yy" + { (yyval.statement) = new CIfStatement((yylocation_stack_[(5) - (1)]), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].statement)); ;} break; case 54: -#line 198 "script-parser.yy" - { (yyval.statement) = new CSwitchStatement((yylocation_stack_[(7) - (1)]), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].states)); ;} +#line 199 "script-parser.yy" + { (yyval.statement) = new CIfStatement((yylocation_stack_[(7) - (1)]), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (5)].statement), (yysemantic_stack_[(7) - (7)].statement)); ;} break; case 55: -#line 199 "script-parser.yy" - { (yyval.statement) = new CBlockStatement((yylocation_stack_[(1) - (1)]), (yysemantic_stack_[(1) - (1)].block)); ;} +#line 201 "script-parser.yy" + { (yyval.statement) = new CForStatement((yylocation_stack_[(9) - (1)]), (yysemantic_stack_[(9) - (3)].assign), (yysemantic_stack_[(9) - (5)].expr), (yysemantic_stack_[(9) - (7)].assign), (yysemantic_stack_[(9) - (9)].statement)); ;} break; case 56: #line 202 "script-parser.yy" - { (yyval.assign) = new CAssign((yylocation_stack_[(3) - (1)]), '=', (yysemantic_stack_[(3) - (1)].value), (yysemantic_stack_[(3) - (3)].expr)); ;} + { (yyval.statement) = new CWhileStatement((yylocation_stack_[(5) - (1)]), (yysemantic_stack_[(5) - (3)].expr), (yysemantic_stack_[(5) - (5)].statement)); ;} break; case 57: #line 203 "script-parser.yy" - { (yyval.assign) = new CAssign((yylocation_stack_[(3) - (1)]), '+', (yysemantic_stack_[(3) - (1)].value), (yysemantic_stack_[(3) - (3)].expr)); ;} + { (yyval.statement) = new CSwitchStatement((yylocation_stack_[(7) - (1)]), (yysemantic_stack_[(7) - (3)].expr), (yysemantic_stack_[(7) - (6)].states)); ;} break; case 58: #line 204 "script-parser.yy" - { (yyval.assign) = new CAssign((yylocation_stack_[(3) - (1)]), '-', (yysemantic_stack_[(3) - (1)].value), (yysemantic_stack_[(3) - (3)].expr)); ;} + { (yyval.statement) = new CBlockStatement((yylocation_stack_[(1) - (1)]), (yysemantic_stack_[(1) - (1)].block)); ;} break; case 59: -#line 205 "script-parser.yy" - { (yyval.assign) = new CAssign((yylocation_stack_[(3) - (1)]), '*', (yysemantic_stack_[(3) - (1)].value), (yysemantic_stack_[(3) - (3)].expr)); ;} +#line 207 "script-parser.yy" + { (yyval.assign) = new CAssign((yylocation_stack_[(3) - (1)]), '=', (yysemantic_stack_[(3) - (1)].value), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 60: -#line 206 "script-parser.yy" - { (yyval.assign) = new CAssign((yylocation_stack_[(3) - (1)]), '/', (yysemantic_stack_[(3) - (1)].value), (yysemantic_stack_[(3) - (3)].expr)); ;} +#line 208 "script-parser.yy" + { (yyval.assign) = new CAssign((yylocation_stack_[(3) - (1)]), '+', (yysemantic_stack_[(3) - (1)].value), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 61: -#line 207 "script-parser.yy" - { (yyval.assign) = new CAssign((yylocation_stack_[(3) - (1)]), '%', (yysemantic_stack_[(3) - (1)].value), (yysemantic_stack_[(3) - (3)].expr)); ;} +#line 209 "script-parser.yy" + { (yyval.assign) = new CAssign((yylocation_stack_[(3) - (1)]), '-', (yysemantic_stack_[(3) - (1)].value), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 62: #line 210 "script-parser.yy" - { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_LOGAND, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} + { (yyval.assign) = new CAssign((yylocation_stack_[(3) - (1)]), '*', (yysemantic_stack_[(3) - (1)].value), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 63: #line 211 "script-parser.yy" - { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_LOGOR, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} + { (yyval.assign) = new CAssign((yylocation_stack_[(3) - (1)]), '/', (yysemantic_stack_[(3) - (1)].value), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 64: #line 212 "script-parser.yy" - { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_EQ, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} + { (yyval.assign) = new CAssign((yylocation_stack_[(3) - (1)]), '%', (yysemantic_stack_[(3) - (1)].value), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 65: -#line 213 "script-parser.yy" - { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_NE, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} +#line 215 "script-parser.yy" + { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_LOGAND, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 66: -#line 214 "script-parser.yy" - { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_GT, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} +#line 216 "script-parser.yy" + { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_LOGOR, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 67: -#line 215 "script-parser.yy" - { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_GE, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} +#line 217 "script-parser.yy" + { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_EQ, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 68: -#line 216 "script-parser.yy" - { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_LT, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} +#line 218 "script-parser.yy" + { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_NE, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 69: -#line 217 "script-parser.yy" - { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_LE, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} +#line 219 "script-parser.yy" + { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_GT, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 70: -#line 218 "script-parser.yy" - { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_AND, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} +#line 220 "script-parser.yy" + { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_GE, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 71: -#line 219 "script-parser.yy" - { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_OR, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} +#line 221 "script-parser.yy" + { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_LT, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 72: -#line 220 "script-parser.yy" - { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_LSHIFT, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} +#line 222 "script-parser.yy" + { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_LE, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 73: -#line 221 "script-parser.yy" +#line 223 "script-parser.yy" + { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_AND, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} + break; + + case 74: +#line 224 "script-parser.yy" + { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_OR, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} + break; + + case 75: +#line 225 "script-parser.yy" + { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_LSHIFT, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} + break; + + case 76: +#line 226 "script-parser.yy" { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_RSHIFT, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} break; - case 74: -#line 222 "script-parser.yy" + case 77: +#line 227 "script-parser.yy" { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_MINUS, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} break; - case 75: -#line 223 "script-parser.yy" + case 78: +#line 228 "script-parser.yy" { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_PLUS, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} break; - case 76: -#line 224 "script-parser.yy" + case 79: +#line 229 "script-parser.yy" { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_TIMES, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} break; - case 77: -#line 225 "script-parser.yy" - { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_DIVIDE, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} - break; - - case 78: -#line 226 "script-parser.yy" - { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_MOD, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} - break; - - case 79: -#line 227 "script-parser.yy" - { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(2) - (2)]), OP_NEG, (yysemantic_stack_[(2) - (2)].expr)); ;} - break; - case 80: -#line 228 "script-parser.yy" - { (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr); ;} +#line 230 "script-parser.yy" + { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_DIVIDE, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 81: -#line 229 "script-parser.yy" - { (yyval.expr) = (yysemantic_stack_[(1) - (1)].value); ;} +#line 231 "script-parser.yy" + { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(3) - (2)]), OP_MOD, (yysemantic_stack_[(3) - (1)].expr), (yysemantic_stack_[(3) - (3)].expr)); ;} break; case 82: -#line 230 "script-parser.yy" - { (yyval.expr) = new CNode((yylocation_stack_[(1) - (1)]), OP_CONST, (yysemantic_stack_[(1) - (1)].ival)); ;} +#line 232 "script-parser.yy" + { (yyval.expr) = CNode::MakeNode(driver, (yylocation_stack_[(2) - (2)]), OP_NEG, (yysemantic_stack_[(2) - (2)].expr)); ;} break; case 83: -#line 231 "script-parser.yy" - { (yyval.expr) = new CNode((yylocation_stack_[(1) - (1)]), OP_STRING, (yysemantic_stack_[(1) - (1)].sval)); ;} +#line 233 "script-parser.yy" + { (yyval.expr) = (yysemantic_stack_[(3) - (2)].expr); ;} break; case 84: -#line 232 "script-parser.yy" - { (yyval.expr) = new CFunctionNode((yylocation_stack_[(4) - (1)]), (yysemantic_stack_[(4) - (1)].sval), (yysemantic_stack_[(4) - (3)].args)); ;} +#line 234 "script-parser.yy" + { (yyval.expr) = (yysemantic_stack_[(1) - (1)].value); ;} break; case 85: -#line 233 "script-parser.yy" - { (yyval.expr) = new CFunctionNode((yylocation_stack_[(3) - (1)]), (yysemantic_stack_[(3) - (1)].sval), NULL); ;} +#line 235 "script-parser.yy" + { (yyval.expr) = new CNode((yylocation_stack_[(1) - (1)]), OP_CONST, (yysemantic_stack_[(1) - (1)].ival)); ;} break; case 86: #line 236 "script-parser.yy" - { (yyval.value) = new CValueNode((yylocation_stack_[(1) - (1)]), (yysemantic_stack_[(1) - (1)].sval)); ;} + { (yyval.expr) = new CNode((yylocation_stack_[(1) - (1)]), OP_STRING, (yysemantic_stack_[(1) - (1)].sval)); ;} break; case 87: #line 237 "script-parser.yy" - { (yyval.value) = new CValueNode((yylocation_stack_[(4) - (1)]), (yysemantic_stack_[(4) - (1)].sval), (yysemantic_stack_[(4) - (3)].expr)); ;} + { (yyval.expr) = new CFunctionNode((yylocation_stack_[(4) - (1)]), (yysemantic_stack_[(4) - (1)].sval), (yysemantic_stack_[(4) - (3)].args)); ;} break; case 88: -#line 240 "script-parser.yy" - { (yyval.args) = new CArgs((yysemantic_stack_[(1) - (1)].expr)); ;} +#line 238 "script-parser.yy" + { (yyval.expr) = new CFunctionNode((yylocation_stack_[(3) - (1)]), (yysemantic_stack_[(3) - (1)].sval), NULL); ;} break; case 89: #line 241 "script-parser.yy" + { (yyval.value) = new CValueNode((yylocation_stack_[(1) - (1)]), (yysemantic_stack_[(1) - (1)].sval)); ;} + break; + + case 90: +#line 242 "script-parser.yy" + { (yyval.value) = new CValueNode((yylocation_stack_[(4) - (1)]), (yysemantic_stack_[(4) - (1)].sval), (yysemantic_stack_[(4) - (3)].expr)); ;} + break; + + case 91: +#line 245 "script-parser.yy" + { (yyval.args) = new CArgs((yysemantic_stack_[(1) - (1)].expr)); ;} + break; + + case 92: +#line 246 "script-parser.yy" { (yyval.args) = (yysemantic_stack_[(3) - (1)].args)->Add((yysemantic_stack_[(3) - (3)].expr)); ;} break; /* Line 675 of lalr1.cc. */ -#line 890 "script-parser.cc" +#line 905 "script-parser.cc" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1_[yyn], &yyval, &yyloc); @@ -1093,29 +1108,30 @@ /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ - const signed char script_parser::yypact_ninf_ = -124; + const short int script_parser::yypact_ninf_ = -133; const short int script_parser::yypact_[] = { - 64, -41, -124, -124, 7, 12, 4, -124, -124, -124, - 34, -124, 19, 21, -124, -124, -23, 55, -124, -7, - 43, 131, 148, -124, 84, -40, 111, -124, 2, -33, - 157, 41, 209, -124, 67, -124, 148, 148, 171, -124, - 27, -124, -124, 213, -124, 102, 213, 44, 94, -124, - -124, 115, -124, -124, 126, 26, -124, 187, 148, 148, - 148, 148, 148, 148, 148, 148, 148, 148, 148, 148, - 148, 148, 148, 148, 148, -124, 84, 116, 213, -124, - -124, -124, 89, 119, -124, -124, -124, -124, -124, 339, - 211, -124, 373, 382, 391, 391, 391, 391, 150, 150, - 391, 391, 109, 109, 190, 190, -124, -124, -124, 170, - 197, 124, 149, 173, 201, 148, 163, 215, 81, -124, - -124, 220, 116, -124, 240, 10, 84, -124, 245, -124, - 148, -124, 129, 148, 148, 84, 148, 69, -124, -124, - -124, 291, -124, -124, -124, 148, 148, 148, 148, 148, - 148, 172, -124, 339, 251, 223, 226, 239, 252, 278, - -124, -124, 339, 339, 339, 339, 339, 339, -124, -124, - 253, 116, 116, 148, 248, -124, 285, -124, 328, 116, - 116, 84, 257, -124, 263, -124, 116, -124 + 78, -32, -133, -133, 21, 33, 1, -133, -133, -133, + 57, -133, 18, 27, -133, -133, -37, 46, -133, 108, + 151, 156, 70, -133, 77, -35, 51, -133, 2, -34, + 196, 45, 208, -133, 81, -133, 70, 70, 183, -133, + 64, -133, -133, 228, -133, 105, 228, 80, 134, -133, + -133, 107, -133, -133, 154, 23, -133, 199, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, -133, 77, 61, 228, -133, + -133, -133, 91, 104, -133, -133, -133, -133, -133, 357, + 221, -133, 366, 401, 410, 410, 410, 410, -18, -18, + 410, 410, 188, 188, 173, 173, -133, -133, -133, 106, + 113, 121, 158, 171, 186, 70, 147, 200, 120, 254, + 251, -133, -133, 222, 61, -133, 241, 86, 77, -133, + 248, -133, 70, -133, 31, 70, 70, 77, 70, 135, + -133, -133, -133, 307, 264, 252, -133, -133, -133, 70, + 70, 70, 70, 70, 70, 139, -133, 357, 266, 223, + 240, 253, 267, 294, -133, -133, 117, 268, 357, 357, + 357, 357, 357, 357, -133, -133, 277, 61, 61, 70, + 258, 278, 225, -133, -133, 303, -133, 346, 61, -133, + 280, 61, 77, 274, -133, -133, 281, -133, 61, -133 }; /* YYDEFACT[S] -- default rule to reduce with in state S when YYTABLE @@ -1125,40 +1141,41 @@ script_parser::yydefact_[] = { 0, 0, 30, 31, 0, 0, 0, 2, 6, 5, - 0, 4, 0, 0, 1, 3, 86, 0, 14, 0, + 0, 4, 0, 0, 1, 3, 89, 0, 14, 0, 0, 0, 0, 7, 0, 0, 0, 16, 18, 0, - 0, 0, 0, 82, 86, 83, 0, 0, 0, 81, - 86, 15, 10, 33, 26, 0, 0, 20, 19, 12, - 28, 0, 8, 24, 0, 0, 79, 0, 0, 0, + 0, 0, 0, 85, 89, 86, 0, 0, 0, 84, + 89, 15, 10, 33, 26, 0, 0, 20, 19, 12, + 28, 0, 8, 24, 0, 0, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 87, 0, 35, 34, 11, - 27, 17, 0, 21, 13, 29, 9, 25, 85, 88, - 0, 80, 63, 62, 64, 65, 67, 69, 72, 73, - 66, 68, 70, 71, 75, 74, 76, 77, 78, 0, - 86, 0, 0, 0, 0, 0, 0, 0, 0, 41, - 55, 0, 36, 39, 0, 0, 0, 22, 0, 84, - 0, 37, 0, 0, 0, 0, 0, 0, 46, 47, - 48, 0, 32, 40, 42, 0, 0, 0, 0, 0, - 0, 0, 23, 89, 0, 0, 0, 0, 0, 0, - 45, 49, 57, 58, 59, 60, 61, 56, 38, 44, - 0, 0, 0, 0, 0, 43, 50, 53, 0, 35, - 0, 0, 0, 51, 0, 54, 0, 52 + 0, 0, 0, 0, 0, 90, 0, 35, 34, 11, + 27, 17, 0, 21, 13, 29, 9, 25, 88, 91, + 0, 83, 66, 65, 67, 68, 70, 72, 75, 76, + 69, 71, 73, 74, 78, 77, 79, 80, 81, 0, + 89, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 41, 58, 0, 36, 39, 0, 0, 0, 22, + 0, 87, 0, 37, 0, 0, 0, 0, 0, 0, + 49, 50, 51, 0, 0, 0, 32, 40, 42, 0, + 0, 0, 0, 0, 0, 0, 23, 92, 0, 0, + 0, 0, 0, 0, 48, 52, 0, 0, 60, 61, + 62, 63, 64, 59, 38, 44, 0, 0, 0, 0, + 0, 0, 0, 45, 43, 53, 56, 0, 35, 47, + 0, 0, 0, 0, 46, 54, 0, 57, 0, 55 }; /* YYPGOTO[NTERM-NUM]. */ const short int script_parser::yypgoto_[] = { - -124, -124, 302, -124, -69, 260, 273, -124, 13, 407, - -124, 130, -124, -124, -112, -123, -19, -10, 188 + -133, -133, 320, -133, -69, 263, 291, -133, 13, 428, + -133, 150, -133, -133, -120, -132, -19, -10, -102 }; /* YYDEFGOTO[NTERM-NUM]. */ const signed char script_parser::yydefgoto_[] = { - -1, 6, 7, 8, 17, 26, 27, 9, 28, 120, - 77, 121, 78, 122, 123, 124, 89, 39, 90 + -1, 6, 7, 8, 17, 26, 27, 9, 28, 122, + 77, 123, 78, 124, 125, 126, 89, 39, 90 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If @@ -1168,106 +1185,110 @@ const short int script_parser::yytable_[] = { - 18, 11, 42, 38, 14, 1, 47, 109, 43, 49, - 143, 12, 158, 10, 41, 43, 13, 56, 57, 10, - 21, 2, 3, 22, 145, 146, 147, 148, 149, 33, - 34, 35, 2, 3, 4, 5, 48, 25, 16, 92, + 18, 14, 1, 38, 147, 162, 47, 109, 21, 42, + 49, 22, 11, 10, 41, 43, 43, 56, 57, 10, + 70, 71, 72, 73, 74, 12, 33, 34, 35, 2, + 3, 4, 159, 5, 33, 34, 35, 13, 48, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, - 103, 104, 105, 106, 107, 108, 76, 151, 184, 176, - 177, 150, 19, 36, 20, 1, 18, 125, 183, 37, - 88, 2, 3, 22, 187, 58, 59, 60, 61, 62, - 63, 64, 65, 52, 33, 34, 35, 29, 40, 43, - 82, 126, 2, 3, 4, 5, 137, 23, 83, 141, - 24, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 55, 153, 125, 22, 156, 157, 18, 159, 36, 160, - 110, 64, 65, 140, 37, 125, 162, 163, 164, 165, - 166, 167, 33, 34, 35, 111, 127, 112, 113, 114, - 115, 116, 117, 118, 79, 70, 71, 72, 73, 74, - 43, 33, 34, 35, 178, 45, 46, 84, 119, 2, - 3, 125, 125, 43, 43, 128, 36, 133, 86, 125, - 125, 125, 37, 154, 43, 31, 125, 58, 59, 60, - 61, 62, 63, 64, 65, 36, 70, 71, 72, 73, - 74, 37, 134, 58, 59, 60, 61, 62, 63, 64, - 65, 51, 46, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 131, 138, 168, 24, 135, 24, 75, 66, - 67, 68, 69, 70, 71, 72, 73, 74, 72, 73, - 74, 91, 58, 59, 60, 61, 62, 63, 64, 65, - 132, 2, 3, 22, 136, 58, 59, 60, 61, 62, - 63, 64, 65, 54, 46, 129, 130, 139, 66, 67, - 68, 69, 70, 71, 72, 73, 74, 170, 130, 142, - 171, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 30, 32, 144, 172, 58, 59, 60, 61, 62, 63, - 64, 65, 152, 169, 173, 175, 179, 58, 59, 60, - 61, 62, 63, 64, 65, 180, 185, 186, 15, 182, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 81, - 155, 0, 174, 66, 67, 68, 69, 70, 71, 72, - 73, 74, 0, 161, 58, 59, 60, 61, 62, 63, - 64, 65, 0, 0, 0, 58, 59, 60, 61, 62, - 63, 64, 65, 0, 0, 0, 0, 0, 0, 0, + 103, 104, 105, 106, 107, 108, 76, 185, 186, 155, + 196, 16, 36, 19, 182, 110, 18, 127, 37, 88, + 36, 195, 20, 33, 34, 35, 37, 158, 199, 1, + 111, 40, 112, 113, 114, 115, 116, 117, 118, 52, + 23, 128, 119, 24, 120, 43, 139, 45, 46, 143, + 149, 150, 151, 152, 153, 121, 2, 3, 4, 36, + 5, 43, 22, 157, 127, 37, 160, 161, 18, 163, + 33, 34, 35, 33, 34, 35, 55, 127, 82, 22, + 168, 169, 170, 171, 172, 173, 2, 3, 83, 154, + 129, 58, 59, 60, 61, 62, 63, 64, 65, 79, + 133, 84, 130, 24, 25, 43, 36, 43, 134, 36, + 187, 22, 37, 181, 142, 37, 135, 127, 127, 66, + 67, 68, 69, 70, 71, 72, 73, 74, 127, 2, + 3, 127, 127, 174, 2, 3, 24, 164, 127, 58, + 59, 60, 61, 62, 63, 64, 65, 29, 86, 140, + 64, 65, 31, 136, 43, 58, 59, 60, 61, 62, + 63, 64, 65, 72, 73, 74, 137, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 70, 71, 72, 73, + 74, 138, 75, 66, 67, 68, 69, 70, 71, 72, + 73, 74, 51, 46, 141, 91, 58, 59, 60, 61, + 62, 63, 64, 65, 54, 46, 2, 3, 144, 58, + 59, 60, 61, 62, 63, 64, 65, 131, 132, 176, + 132, 190, 132, 146, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 30, 32, 148, 177, 66, 67, 68, + 69, 70, 71, 72, 73, 74, 145, 156, 167, 178, + 58, 59, 60, 61, 62, 63, 64, 65, 188, 166, + 175, 179, 183, 58, 59, 60, 61, 62, 63, 64, + 65, 184, 189, 191, 194, 197, 15, 198, 66, 67, + 68, 69, 70, 71, 72, 73, 74, 81, 193, 0, + 180, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 0, 165, 58, 59, 60, 61, 62, 63, 64, 65, + 0, 0, 0, 58, 59, 60, 61, 62, 63, 64, + 65, 0, 0, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 0, - 181, 66, 67, 68, 69, 70, 71, 72, 73, 74, - 59, 60, 61, 62, 63, 64, 65, 0, 0, 0, - 60, 61, 62, 63, 64, 65, 0, 0, 0, -1, - -1, -1, -1, 64, 65, 66, 67, 68, 69, 70, - 71, 72, 73, 74, 66, 67, 68, 69, 70, 71, - 72, 73, 74, -1, -1, 68, 69, 70, 71, 72, - 73, 74, 44, 0, 0, 0, 50, 0, 53, 0, + 192, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 66, 67, 68, 69, 70, 71, 72, 73, 74, 60, + 61, 62, 63, 64, 65, 0, 0, 0, -1, -1, + -1, -1, 64, 65, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 66, 67, 68, 69, 70, + 71, 72, 73, 74, -1, -1, 68, 69, 70, 71, + 72, 73, 74, 44, 0, 0, 0, 50, 0, 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 80, 0, 0, 0, 0, 0, 85, 0, - 0, 87 + 0, 0, 0, 80, 0, 0, 0, 0, 0, 85, + 0, 0, 87 }; /* YYCHECK. */ const short int script_parser::yycheck_[] = { - 10, 42, 42, 22, 0, 1, 4, 76, 48, 42, - 122, 4, 135, 0, 24, 48, 4, 36, 37, 6, - 43, 28, 29, 46, 14, 15, 16, 17, 18, 3, - 4, 5, 28, 29, 30, 31, 34, 44, 4, 58, + 10, 0, 1, 22, 124, 137, 4, 76, 45, 44, + 44, 48, 44, 0, 24, 50, 50, 36, 37, 6, + 38, 39, 40, 41, 42, 4, 3, 4, 5, 28, + 29, 30, 134, 32, 3, 4, 5, 4, 36, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, - 69, 70, 71, 72, 73, 74, 43, 126, 181, 171, - 172, 51, 43, 37, 43, 1, 76, 77, 180, 43, - 44, 28, 29, 46, 186, 6, 7, 8, 9, 10, - 11, 12, 13, 42, 3, 4, 5, 44, 4, 48, - 46, 78, 28, 29, 30, 31, 115, 42, 4, 118, - 45, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 43, 130, 122, 46, 133, 134, 126, 136, 37, 50, - 4, 12, 13, 42, 43, 135, 145, 146, 147, 148, - 149, 150, 3, 4, 5, 19, 47, 21, 22, 23, - 24, 25, 26, 27, 42, 36, 37, 38, 39, 40, - 48, 3, 4, 5, 173, 44, 45, 42, 42, 28, - 29, 171, 172, 48, 48, 46, 37, 43, 42, 179, - 180, 181, 43, 44, 48, 44, 186, 6, 7, 8, - 9, 10, 11, 12, 13, 37, 36, 37, 38, 39, - 40, 43, 43, 6, 7, 8, 9, 10, 11, 12, - 13, 44, 45, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 42, 50, 42, 45, 43, 45, 47, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 38, 39, - 40, 44, 6, 7, 8, 9, 10, 11, 12, 13, - 43, 28, 29, 46, 43, 6, 7, 8, 9, 10, - 11, 12, 13, 44, 45, 44, 45, 42, 32, 33, - 34, 35, 36, 37, 38, 39, 40, 44, 45, 49, - 44, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 20, 21, 42, 44, 6, 7, 8, 9, 10, 11, - 12, 13, 47, 42, 42, 42, 48, 6, 7, 8, - 9, 10, 11, 12, 13, 20, 49, 44, 6, 179, - 32, 33, 34, 35, 36, 37, 38, 39, 40, 46, - 132, -1, 44, 32, 33, 34, 35, 36, 37, 38, - 39, 40, -1, 42, 6, 7, 8, 9, 10, 11, - 12, 13, -1, -1, -1, 6, 7, 8, 9, 10, - 11, 12, 13, -1, -1, -1, -1, -1, -1, -1, - 32, 33, 34, 35, 36, 37, 38, 39, 40, -1, - 42, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 7, 8, 9, 10, 11, 12, 13, -1, -1, -1, - 8, 9, 10, 11, 12, 13, -1, -1, -1, 8, - 9, 10, 11, 12, 13, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 32, 33, 34, 35, 36, 37, - 38, 39, 40, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 25, -1, -1, -1, 29, -1, 31, -1, + 69, 70, 71, 72, 73, 74, 43, 177, 178, 128, + 192, 4, 39, 45, 166, 4, 76, 77, 45, 46, + 39, 191, 45, 3, 4, 5, 45, 46, 198, 1, + 19, 4, 21, 22, 23, 24, 25, 26, 27, 44, + 44, 78, 31, 47, 33, 50, 115, 46, 47, 118, + 14, 15, 16, 17, 18, 44, 28, 29, 30, 39, + 32, 50, 48, 132, 124, 45, 135, 136, 128, 138, + 3, 4, 5, 3, 4, 5, 45, 137, 48, 48, + 149, 150, 151, 152, 153, 154, 28, 29, 4, 53, + 49, 6, 7, 8, 9, 10, 11, 12, 13, 44, + 44, 44, 48, 47, 46, 50, 39, 50, 45, 39, + 179, 48, 45, 46, 44, 45, 45, 177, 178, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 188, 28, + 29, 191, 192, 44, 28, 29, 47, 52, 198, 6, + 7, 8, 9, 10, 11, 12, 13, 46, 44, 52, + 12, 13, 46, 45, 50, 6, 7, 8, 9, 10, + 11, 12, 13, 40, 41, 42, 45, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 38, 39, 40, 41, + 42, 45, 49, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 46, 47, 44, 46, 6, 7, 8, 9, + 10, 11, 12, 13, 46, 47, 28, 29, 4, 6, + 7, 8, 9, 10, 11, 12, 13, 46, 47, 46, + 47, 46, 47, 51, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 20, 21, 44, 46, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 45, 49, 46, 46, + 6, 7, 8, 9, 10, 11, 12, 13, 50, 45, + 44, 44, 44, 6, 7, 8, 9, 10, 11, 12, + 13, 44, 44, 20, 44, 51, 6, 46, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 46, 188, -1, + 46, 34, 35, 36, 37, 38, 39, 40, 41, 42, + -1, 44, 6, 7, 8, 9, 10, 11, 12, 13, + -1, -1, -1, 6, 7, 8, 9, 10, 11, 12, + 13, -1, -1, 7, 8, 9, 10, 11, 12, 13, + 34, 35, 36, 37, 38, 39, 40, 41, 42, -1, + 44, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 8, + 9, 10, 11, 12, 13, -1, -1, -1, 8, 9, + 10, 11, 12, 13, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 25, -1, -1, -1, 29, -1, 31, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 45, -1, -1, -1, -1, -1, 51, -1, - -1, 54 + -1, -1, -1, 45, -1, -1, -1, -1, -1, 51, + -1, -1, 54 }; /* STOS_[STATE-NUM] -- The (internal number of the) accessing @@ -1275,25 +1296,26 @@ const unsigned char script_parser::yystos_[] = { - 0, 1, 28, 29, 30, 31, 53, 54, 55, 59, - 60, 42, 4, 4, 0, 54, 4, 56, 69, 43, - 43, 43, 46, 42, 45, 44, 57, 58, 60, 44, - 57, 44, 57, 3, 4, 5, 37, 43, 68, 69, - 4, 69, 42, 48, 61, 44, 45, 4, 34, 42, - 61, 44, 42, 61, 44, 43, 68, 68, 6, 7, - 8, 9, 10, 11, 12, 13, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 47, 60, 62, 64, 42, - 61, 58, 46, 4, 42, 61, 42, 61, 44, 68, - 70, 44, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 56, - 4, 19, 21, 22, 23, 24, 25, 26, 27, 42, - 61, 63, 65, 66, 67, 69, 60, 47, 46, 44, - 45, 42, 43, 43, 43, 43, 43, 68, 50, 42, - 42, 68, 49, 66, 42, 14, 15, 16, 17, 18, - 51, 56, 47, 68, 44, 70, 68, 68, 67, 68, - 50, 42, 68, 68, 68, 68, 68, 68, 42, 42, - 44, 44, 44, 42, 44, 42, 66, 66, 68, 48, - 20, 42, 63, 66, 67, 49, 44, 66 + 0, 1, 28, 29, 30, 32, 55, 56, 57, 61, + 62, 44, 4, 4, 0, 56, 4, 58, 71, 45, + 45, 45, 48, 44, 47, 46, 59, 60, 62, 46, + 59, 46, 59, 3, 4, 5, 39, 45, 70, 71, + 4, 71, 44, 50, 63, 46, 47, 4, 36, 44, + 63, 46, 44, 63, 46, 45, 70, 70, 6, 7, + 8, 9, 10, 11, 12, 13, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 49, 62, 64, 66, 44, + 63, 60, 48, 4, 44, 63, 44, 63, 46, 70, + 72, 46, 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, 70, 58, + 4, 19, 21, 22, 23, 24, 25, 26, 27, 31, + 33, 44, 63, 65, 67, 68, 69, 71, 62, 49, + 48, 46, 47, 44, 45, 45, 45, 45, 45, 70, + 52, 44, 44, 70, 4, 45, 51, 68, 44, 14, + 15, 16, 17, 18, 53, 58, 49, 70, 46, 72, + 70, 70, 69, 70, 52, 44, 45, 46, 70, 70, + 70, 70, 70, 70, 44, 44, 46, 46, 46, 44, + 46, 46, 72, 44, 44, 68, 68, 70, 50, 44, + 46, 20, 44, 65, 44, 68, 69, 51, 46, 68 }; #if YYDEBUG @@ -1305,9 +1327,9 @@ 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, - 285, 286, 62, 60, 38, 124, 43, 45, 42, 47, - 37, 287, 59, 40, 41, 44, 91, 93, 123, 125, - 58, 61 + 285, 286, 287, 288, 62, 60, 38, 124, 43, 45, + 42, 47, 37, 289, 59, 40, 41, 44, 91, 93, + 123, 125, 58, 61 }; #endif @@ -1315,15 +1337,16 @@ const unsigned char script_parser::yyr1_[] = { - 0, 52, 53, 53, 54, 54, 54, 55, 55, 55, - 55, 55, 55, 55, 56, 56, 57, 57, 58, 58, - 58, 58, 58, 58, 59, 59, 59, 59, 59, 59, - 60, 60, 61, 62, 62, 63, 63, 64, 64, 65, - 65, 66, 66, 66, 66, 66, 66, 66, 66, 66, - 66, 66, 66, 66, 66, 66, 67, 67, 67, 67, - 67, 67, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, - 68, 68, 68, 68, 68, 68, 69, 69, 70, 70 + 0, 54, 55, 55, 56, 56, 56, 57, 57, 57, + 57, 57, 57, 57, 58, 58, 59, 59, 60, 60, + 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, + 62, 62, 63, 64, 64, 65, 65, 66, 66, 67, + 67, 68, 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, 68, 69, + 69, 69, 69, 69, 69, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, + 70, 70, 70, 70, 70, 70, 70, 70, 70, 71, + 71, 72, 72 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ @@ -1334,11 +1357,12 @@ 5, 6, 5, 6, 1, 3, 1, 3, 1, 2, 2, 3, 4, 5, 5, 6, 5, 6, 5, 6, 1, 1, 4, 0, 1, 0, 1, 3, 4, 1, - 2, 1, 2, 5, 4, 3, 2, 2, 2, 3, - 5, 7, 9, 5, 7, 1, 3, 3, 3, 3, + 2, 1, 2, 5, 4, 4, 6, 5, 3, 2, + 2, 2, 3, 5, 7, 9, 5, 7, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, - 3, 1, 1, 1, 4, 3, 1, 4, 1, 3 + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 2, 3, 1, 1, 1, 4, 3, 1, + 4, 1, 3 }; #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE @@ -1352,12 +1376,12 @@ "\"<<\"", "\">>\"", "\"+=\"", "\"-=\"", "\"*=\"", "\"/=\"", "\"%=\"", "\"if\"", "\"else\"", "\"while\"", "\"for\"", "\"switch\"", "\"case\"", "\"default\"", "\"break\"", "\"return\"", "\"int\"", "\"string\"", - "\"void\"", "\"__code\"", "'>'", "'<'", "'&'", "'|'", "'+'", "'-'", - "'*'", "'/'", "'%'", "NEG", "';'", "'('", "')'", "','", "'['", "']'", - "'{'", "'}'", "':'", "'='", "$accept", "unit", "define_or_state", - "declaration", "value_list", "arglist", "arg", "function", "type", - "block", "decl_list", "state_list", "decls", "states", "statement", - "assign", "expr", "value", "args", 0 + "\"void\"", "\"goto\"", "\"__code\"", "\"exit\"", "'>'", "'<'", "'&'", + "'|'", "'+'", "'-'", "'*'", "'/'", "'%'", "NEG", "';'", "'('", "')'", + "','", "'['", "']'", "'{'", "'}'", "':'", "'='", "$accept", "unit", + "define_or_state", "declaration", "value_list", "arglist", "arg", + "function", "type", "block", "decl_list", "state_list", "decls", + "states", "statement", "assign", "expr", "value", "args", 0 }; #endif @@ -1366,43 +1390,44 @@ const script_parser::rhs_number_type script_parser::yyrhs_[] = { - 53, 0, -1, 54, -1, 53, 54, -1, 1, 42, - -1, 59, -1, 55, -1, 60, 56, 42, -1, 60, - 4, 43, 44, 42, -1, 60, 4, 43, 57, 44, - 42, -1, 30, 4, 43, 44, 42, -1, 30, 4, - 43, 57, 44, 42, -1, 31, 4, 43, 44, 42, - -1, 31, 4, 43, 57, 44, 42, -1, 69, -1, - 56, 45, 69, -1, 58, -1, 57, 45, 58, -1, - 60, -1, 60, 34, -1, 60, 4, -1, 60, 34, - 4, -1, 60, 4, 46, 47, -1, 60, 34, 4, - 46, 47, -1, 60, 4, 43, 44, 61, -1, 60, - 4, 43, 57, 44, 61, -1, 30, 4, 43, 44, - 61, -1, 30, 4, 43, 57, 44, 61, -1, 31, - 4, 43, 44, 61, -1, 31, 4, 43, 57, 44, - 61, -1, 28, -1, 29, -1, 48, 62, 63, 49, - -1, -1, 64, -1, -1, 65, -1, 60, 56, 42, - -1, 64, 60, 56, 42, -1, 66, -1, 65, 66, - -1, 42, -1, 67, 42, -1, 4, 43, 70, 44, - 42, -1, 4, 43, 44, 42, -1, 24, 68, 50, - -1, 25, 50, -1, 26, 42, -1, 27, 42, -1, - 27, 68, 42, -1, 19, 43, 68, 44, 66, -1, - 19, 43, 68, 44, 66, 20, 66, -1, 22, 43, - 67, 42, 68, 42, 67, 44, 66, -1, 21, 43, - 68, 44, 66, -1, 23, 43, 68, 44, 48, 63, - 49, -1, 61, -1, 69, 51, 68, -1, 69, 14, - 68, -1, 69, 15, 68, -1, 69, 16, 68, -1, - 69, 17, 68, -1, 69, 18, 68, -1, 68, 7, - 68, -1, 68, 6, 68, -1, 68, 8, 68, -1, - 68, 9, 68, -1, 68, 32, 68, -1, 68, 10, - 68, -1, 68, 33, 68, -1, 68, 11, 68, -1, - 68, 34, 68, -1, 68, 35, 68, -1, 68, 12, - 68, -1, 68, 13, 68, -1, 68, 37, 68, -1, - 68, 36, 68, -1, 68, 38, 68, -1, 68, 39, - 68, -1, 68, 40, 68, -1, 37, 68, -1, 43, - 68, 44, -1, 69, -1, 3, -1, 5, -1, 4, - 43, 70, 44, -1, 4, 43, 44, -1, 4, -1, - 4, 46, 68, 47, -1, 68, -1, 70, 45, 68, - -1 + 55, 0, -1, 56, -1, 55, 56, -1, 1, 44, + -1, 61, -1, 57, -1, 62, 58, 44, -1, 62, + 4, 45, 46, 44, -1, 62, 4, 45, 59, 46, + 44, -1, 30, 4, 45, 46, 44, -1, 30, 4, + 45, 59, 46, 44, -1, 32, 4, 45, 46, 44, + -1, 32, 4, 45, 59, 46, 44, -1, 71, -1, + 58, 47, 71, -1, 60, -1, 59, 47, 60, -1, + 62, -1, 62, 36, -1, 62, 4, -1, 62, 36, + 4, -1, 62, 4, 48, 49, -1, 62, 36, 4, + 48, 49, -1, 62, 4, 45, 46, 63, -1, 62, + 4, 45, 59, 46, 63, -1, 30, 4, 45, 46, + 63, -1, 30, 4, 45, 59, 46, 63, -1, 32, + 4, 45, 46, 63, -1, 32, 4, 45, 59, 46, + 63, -1, 28, -1, 29, -1, 50, 64, 65, 51, + -1, -1, 66, -1, -1, 67, -1, 62, 58, 44, + -1, 66, 62, 58, 44, -1, 68, -1, 67, 68, + -1, 44, -1, 69, 44, -1, 4, 45, 72, 46, + 44, -1, 4, 45, 46, 44, -1, 33, 45, 46, + 44, -1, 31, 4, 45, 72, 46, 44, -1, 31, + 4, 45, 46, 44, -1, 24, 70, 52, -1, 25, + 52, -1, 26, 44, -1, 27, 44, -1, 27, 70, + 44, -1, 19, 45, 70, 46, 68, -1, 19, 45, + 70, 46, 68, 20, 68, -1, 22, 45, 69, 44, + 70, 44, 69, 46, 68, -1, 21, 45, 70, 46, + 68, -1, 23, 45, 70, 46, 50, 65, 51, -1, + 63, -1, 71, 53, 70, -1, 71, 14, 70, -1, + 71, 15, 70, -1, 71, 16, 70, -1, 71, 17, + 70, -1, 71, 18, 70, -1, 70, 7, 70, -1, + 70, 6, 70, -1, 70, 8, 70, -1, 70, 9, + 70, -1, 70, 34, 70, -1, 70, 10, 70, -1, + 70, 35, 70, -1, 70, 11, 70, -1, 70, 36, + 70, -1, 70, 37, 70, -1, 70, 12, 70, -1, + 70, 13, 70, -1, 70, 39, 70, -1, 70, 38, + 70, -1, 70, 40, 70, -1, 70, 41, 70, -1, + 70, 42, 70, -1, 39, 70, -1, 45, 70, 46, + -1, 71, -1, 3, -1, 5, -1, 4, 45, 72, + 46, -1, 4, 45, 46, -1, 4, -1, 4, 48, + 70, 49, -1, 70, -1, 72, 47, 70, -1 }; /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in @@ -1414,26 +1439,28 @@ 32, 38, 45, 51, 58, 60, 64, 66, 70, 72, 75, 78, 82, 87, 93, 99, 106, 112, 119, 125, 132, 134, 136, 141, 142, 144, 145, 147, 151, 156, - 158, 161, 163, 166, 172, 177, 181, 184, 187, 190, - 194, 200, 208, 218, 224, 232, 234, 238, 242, 246, - 250, 254, 258, 262, 266, 270, 274, 278, 282, 286, - 290, 294, 298, 302, 306, 310, 314, 318, 322, 326, - 329, 333, 335, 337, 339, 344, 348, 350, 355, 357 + 158, 161, 163, 166, 172, 177, 182, 189, 195, 199, + 202, 205, 208, 212, 218, 226, 236, 242, 250, 252, + 256, 260, 264, 268, 272, 276, 280, 284, 288, 292, + 296, 300, 304, 308, 312, 316, 320, 324, 328, 332, + 336, 340, 344, 347, 351, 353, 355, 357, 362, 366, + 368, 373, 375 }; /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ const unsigned char script_parser::yyrline_[] = { - 0, 119, 119, 120, 123, 124, 125, 128, 129, 130, - 131, 132, 133, 134, 137, 138, 141, 142, 145, 146, - 147, 148, 149, 150, 153, 154, 155, 156, 157, 158, - 161, 162, 165, 168, 169, 172, 173, 176, 177, 180, - 181, 184, 185, 186, 187, 188, 189, 190, 191, 192, - 193, 194, 195, 197, 198, 199, 202, 203, 204, 205, - 206, 207, 210, 211, 212, 213, 214, 215, 216, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, - 228, 229, 230, 231, 232, 233, 236, 237, 240, 241 + 0, 121, 121, 122, 125, 126, 127, 130, 131, 132, + 133, 134, 135, 136, 139, 140, 143, 144, 147, 148, + 149, 150, 151, 152, 155, 156, 157, 158, 159, 160, + 163, 164, 167, 170, 171, 174, 175, 178, 179, 182, + 183, 186, 187, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 202, 203, 204, 207, + 208, 209, 210, 211, 212, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 234, 235, 236, 237, 238, 241, + 242, 245, 246 }; // Print the state stack on the debug stream. @@ -1476,16 +1503,16 @@ 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 40, 34, 2, - 43, 44, 38, 36, 45, 37, 2, 39, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 50, 42, - 33, 51, 32, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 42, 36, 2, + 45, 46, 40, 38, 47, 39, 2, 41, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 52, 44, + 35, 53, 34, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 46, 2, 47, 2, 2, 2, 2, 2, 2, + 2, 48, 2, 49, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 48, 35, 49, 2, 2, 2, 2, + 2, 2, 2, 50, 37, 51, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -1501,7 +1528,7 @@ 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 27, 28, 29, 30, 31, 41 + 25, 26, 27, 28, 29, 30, 31, 32, 33, 43 }; if ((unsigned int) t <= yyuser_token_number_max_) return translate_table[t]; @@ -1510,20 +1537,20 @@ } const int script_parser::yyeof_ = 0; - const int script_parser::yylast_ = 461; + const int script_parser::yylast_ = 482; const int script_parser::yynnts_ = 19; const int script_parser::yyempty_ = -2; const int script_parser::yyfinal_ = 14; const int script_parser::yyterror_ = 1; const int script_parser::yyerrcode_ = 256; - const int script_parser::yyntokens_ = 52; + const int script_parser::yyntokens_ = 54; - const unsigned int script_parser::yyuser_token_number_max_ = 287; + const unsigned int script_parser::yyuser_token_number_max_ = 289; const script_parser::token_number_type script_parser::yyundef_token_ = 2; } // namespace yy -#line 244 "script-parser.yy" +#line 249 "script-parser.yy" void yy::script_parser::error(const yy::script_parser::location_type& l, const std::string& m) {