[nem-pl] Patch Pawla
nazgul at lilith.ii.uni.wroc.pl
nazgul at lilith.ii.uni.wroc.pl
Wed Nov 12 12:34:52 CET 2003
Przesylam patcha zmian dokonanych przez P.O.
Nie spawdzone, wysylam tak jak jest.
Kamil
-------------- next part --------------
diff -r nemerle-420/ncc/cgflat.n nemerle/ncc/cgflat.n
187a188,234
>
> is_raise (ex : CG_expr) : bool {
> match (ex) {
> | CE_raise (_) => true
> | CE_sequence (seq) => List.exists (is_raise, seq)
> | _ => false
> }
> }
>
> pretty_print_list (exs : list(CG_expr), acc : string) : string {
> match (exs) {
> | Nil => acc
> | Cons (ex, rest) => pretty_print_list (rest, acc + pretty_print (ex))
> }
> }
>
> pretty_print (ex : CG_expr) : string {
> match (ex) {
> | CE_ref (decl) => "CE_ref; "
> | CE_global_ref (decl) => "CE_global_ref; "
> | CE_ctor_ref (klass) => "CE_ctor_ref; "
> | CE_field_ref (obj, fld) => "CE_field_ref; "
> | CE_method_ref (obj, meth) => "CE_method_ref; "
> | CE_tuple_ref (obj, pos) => "CE_tuple_ref; "
> | CE_call (func, parms) => "CE_call; "
> | CE_assign (target, source) =>
> pretty_print (target) + " = " + pretty_print (source) + "; "
> | CE_let (name, body) =>
> "let " + name.name + " = " + pretty_print (name.val) + " in " + pretty_print (body) + "; "
> | CE_has_type (expr, ty) => "CE_has_type; "
> | CE_raise (exn) => "CE_raise; "
> | CE_if (ty, cond, e_then, e_else) =>
> "if (" + pretty_print (cond) + ") " + pretty_print (e_then) + " else " + pretty_print (e_else) + "; "
> | CE_true => "CE_true; "
> | CE_false => "CE_false; "
> | CE_try_with => "CE_try_with; "
> | CE_try_finally => "CE_try_finally; "
> | CE_literal => "CE_literal; "
> | CE_this => "CE_this; "
> | CE_skip => "CE_skip; "
> | CE_cast (expr, ty) => "CE_cast; "
> | CE_sequence (body) => "{ " + pretty_print_list (body, "") + " }; "
> | CE_tuple_ctor (exprs) => "CE_tuple_ctor; "
> | CE_none => "CE_none"
> }
> }
>
236,239c283,294
<
< | CE_if (_, CE_true, e, _) => flat (e)
< | CE_if (_, CE_false, _, e) => flat (e)
<
---
>
> (*
> | CE_if (_, CE_true, e, _) =>
> Message.debug ("In if (true), subexpr is: " + pretty_print (e));
> flat (e)
> | CE_if (_, CE_false, _, e) =>
> Message.debug ("In if (false), subexpr is: " + pretty_print (e));
> flat (e)
> *)
>
> (* NOTE:pawel:08/11/2003: added code to skip unnecessary (and sometimes
> compilation breaking) tmpname assignments after throw, see is_raise *)
258,259c313
< p2 ++
< tmpname ++ " = " ++ e1 ++ ";\n" ++
---
> (if (is_raise (e1')) p2 else (p2 ++ tmpname ++ " = " ++ e1 ++ ";\n")) ++
261,262c315
< p3 ++
< tmpname ++ " = " ++ e2 ++ ";\n" ++
---
> (if (is_raise (e2')) p3 else (p3 ++ tmpname ++ " = " ++ e2 ++ ";\n")) ++
342c395,402
< | CE_sequence (e) =>
---
> | CE_sequence (body) =>
> def cutoff_after_raise (e : list (CG_expr), acc : list (CG_expr)) : list (CG_expr) {
> match (e) {
> | Nil => acc
> | Cons (CE_raise (expr), _) => List.append (acc, Cons (CE_raise (expr), Nil ()))
> | Cons (expr, rest) => cutoff_after_raise (rest, List.append (acc, Cons (expr, Nil ())))
> }
> }
356a417
> | Nil => CS_simple (ST_leaf ("null"))
360c421
< concat (ST_leaf (""), e)
---
> concat (ST_leaf (""), cutoff_after_raise (body, Nil ()))
392c453
< | CE_raise => CT_unreached ()
---
> | CE_raise (_) => CT_unreached ()
402,404c463,465
< | L_int => CT_ref ("Nemerle.Core.int")
< | L_string => CT_ref ("Nemerle.Core.string")
< | L_float => CT_ref ("Nemerle.Core.float")
---
> | L_int => CT_ref ("int")
> | L_string => CT_ref ("string")
> | L_float => CT_ref ("float")
diff -r nemerle-420/ncc/parser.cs nemerle/ncc/parser.cs
165c165
< protected static int yyFinal = 11;
---
> protected static int yyFinal = 10;
186c186
< "type_decl : attrs KW_MODULE type_header '{' type_members '}'",
---
> "type_decl : attrs KW_MODULE type_header '{' module_members '}'",
218a219,220
> "module_members :",
> "module_members : module_member module_members",
228d229
< "attr : KW_STATIC",
238c239,240
< "type_member : attrs maybe_mutable ftyparms located_id ':' ty maybe_extern",
---
> "type_member : attrs maybe_mutable ftyparms located_id ':' ty ';'",
> "type_member : attrs KW_STATIC maybe_mutable ftyparms located_id ':' ty maybe_extern",
239a242
> "type_member : attrs KW_STATIC maybe_mutable fun_def",
240a244,246
> "module_member : attrs maybe_mutable ftyparms located_id ':' ty maybe_extern",
> "module_member : attrs maybe_mutable fun_def",
> "module_member : type_as_type_member",
309a316,317
> "raw_expr : KW_REQUIRE '{' expr '}'",
> "raw_expr : KW_ENSURE '{' expr '}'",
395,396c403,404
< "KW_MODULE","COLON_MORE","LESS_MINUS","MINUS_MORE","EQ_MORE",
< "COLON_COLON","ERROR","UNARY",
---
> "KW_MODULE","KW_ENSURE","KW_REQUIRE","COLON_MORE","LESS_MINUS",
> "MINUS_MORE","EQ_MORE","COLON_COLON","ERROR","UNARY",
565c573
< #line 232 "parser.jay"
---
> #line 233 "parser.jay"
569c577
< #line 236 "parser.jay"
---
> #line 237 "parser.jay"
576c584
< #line 241 "parser.jay"
---
> #line 242 "parser.jay"
583c591
< #line 246 "parser.jay"
---
> #line 247 "parser.jay"
590c598
< #line 251 "parser.jay"
---
> #line 252 "parser.jay"
596c604
< #line 256 "parser.jay"
---
> #line 257 "parser.jay"
600c608
< #line 260 "parser.jay"
---
> #line 261 "parser.jay"
604c612
< #line 263 "parser.jay"
---
> #line 264 "parser.jay"
608c616
< #line 264 "parser.jay"
---
> #line 265 "parser.jay"
612c620
< #line 267 "parser.jay"
---
> #line 268 "parser.jay"
616c624
< #line 271 "parser.jay"
---
> #line 272 "parser.jay"
620c628
< #line 273 "parser.jay"
---
> #line 274 "parser.jay"
624c632
< #line 277 "parser.jay"
---
> #line 278 "parser.jay"
638c646
< #line 291 "parser.jay"
---
> #line 292 "parser.jay"
645c653
< #line 296 "parser.jay"
---
> #line 297 "parser.jay"
652c660
< #line 301 "parser.jay"
---
> #line 302 "parser.jay"
659c667
< #line 306 "parser.jay"
---
> #line 307 "parser.jay"
666c674
< #line 311 "parser.jay"
---
> #line 312 "parser.jay"
668c676
< yyVal = new Type_decl.TD_module(((list)yyVals[-1+yyTop]));
---
> yyVal = new Type_decl.TD_class(((list)yyVals[-1+yyTop]));
673c681
< #line 316 "parser.jay"
---
> #line 317 "parser.jay"
681c689
< #line 322 "parser.jay"
---
> #line 323 "parser.jay"
688c696
< #line 328 "parser.jay"
---
> #line 329 "parser.jay"
692c700
< #line 329 "parser.jay"
---
> #line 330 "parser.jay"
696c704
< #line 332 "parser.jay"
---
> #line 333 "parser.jay"
700c708
< #line 333 "parser.jay"
---
> #line 334 "parser.jay"
704c712
< #line 336 "parser.jay"
---
> #line 337 "parser.jay"
708c716
< #line 337 "parser.jay"
---
> #line 338 "parser.jay"
712c720
< #line 340 "parser.jay"
---
> #line 341 "parser.jay"
716c724
< #line 341 "parser.jay"
---
> #line 342 "parser.jay"
720c728
< #line 344 "parser.jay"
---
> #line 345 "parser.jay"
724c732
< #line 345 "parser.jay"
---
> #line 346 "parser.jay"
728c736
< #line 349 "parser.jay"
---
> #line 350 "parser.jay"
742c750
< #line 362 "parser.jay"
---
> #line 363 "parser.jay"
746c754
< #line 363 "parser.jay"
---
> #line 364 "parser.jay"
750c758
< #line 367 "parser.jay"
---
> #line 368 "parser.jay"
764c772
< #line 381 "parser.jay"
---
> #line 382 "parser.jay"
770c778
< #line 385 "parser.jay"
---
> #line 386 "parser.jay"
776c784
< #line 391 "parser.jay"
---
> #line 392 "parser.jay"
780c788
< #line 393 "parser.jay"
---
> #line 394 "parser.jay"
784c792
< #line 396 "parser.jay"
---
> #line 397 "parser.jay"
788c796
< #line 397 "parser.jay"
---
> #line 398 "parser.jay"
792c800
< #line 400 "parser.jay"
---
> #line 401 "parser.jay"
796c804
< #line 401 "parser.jay"
---
> #line 402 "parser.jay"
800c808
< #line 408 "parser.jay"
---
> #line 409 "parser.jay"
804c812
< #line 409 "parser.jay"
---
> #line 410 "parser.jay"
808c816
< #line 413 "parser.jay"
---
> #line 414 "parser.jay"
814c822
< #line 421 "parser.jay"
---
> #line 422 "parser.jay"
818c826
< #line 422 "parser.jay"
---
> #line 423 "parser.jay"
822c830
< #line 425 "parser.jay"
---
> #line 426 "parser.jay"
826c834
< #line 426 "parser.jay"
---
> #line 427 "parser.jay"
830,831c838,839
< #line 429 "parser.jay"
< { yyVal = new Modifier.Mod_new(); }
---
> #line 430 "parser.jay"
> { yyVal = nil(); }
834,835c842,843
< #line 430 "parser.jay"
< { yyVal = new Modifier.Mod_public(); }
---
> #line 431 "parser.jay"
> { yyVal = cons(yyVals[-1+yyTop], ((list)yyVals[0+yyTop])); }
838,839c846,847
< #line 431 "parser.jay"
< { yyVal = new Modifier.Mod_protected(); }
---
> #line 434 "parser.jay"
> { yyVal = new Modifier.Mod_new(); }
842,843c850,851
< #line 432 "parser.jay"
< { yyVal = new Modifier.Mod_internal(); }
---
> #line 435 "parser.jay"
> { yyVal = new Modifier.Mod_public(); }
846,847c854,855
< #line 433 "parser.jay"
< { yyVal = new Modifier.Mod_private(); }
---
> #line 436 "parser.jay"
> { yyVal = new Modifier.Mod_protected(); }
850,851c858,859
< #line 434 "parser.jay"
< { yyVal = new Modifier.Mod_abstract(); }
---
> #line 437 "parser.jay"
> { yyVal = new Modifier.Mod_internal(); }
854,855c862,863
< #line 435 "parser.jay"
< { yyVal = new Modifier.Mod_sealed(); }
---
> #line 438 "parser.jay"
> { yyVal = new Modifier.Mod_private(); }
858,859c866,867
< #line 436 "parser.jay"
< { yyVal = new Modifier.Mod_static(); }
---
> #line 439 "parser.jay"
> { yyVal = new Modifier.Mod_abstract(); }
863c871
< { yyVal = nil(); }
---
> { yyVal = new Modifier.Mod_sealed(); }
865c873
< case 64:
---
> case 63:
867c875
< { yyVal = ((list)yyVals[-1+yyTop]); }
---
> { yyVal = nil(); }
870,871c878,879
< #line 447 "parser.jay"
< { yyVal = nil(); }
---
> #line 448 "parser.jay"
> { yyVal = ((list)yyVals[-1+yyTop]); }
874,875c882,883
< #line 448 "parser.jay"
< { yyVal = cons(yyVals[-1+yyTop], ((list)yyVals[0+yyTop])); }
---
> #line 451 "parser.jay"
> { yyVal = nil(); }
878a887,890
> { yyVal = cons(yyVals[-1+yyTop], ((list)yyVals[0+yyTop])); }
> break;
> case 68:
> #line 456 "parser.jay"
880c892
< yyVal = new Class_member.M_field(((Nemerle.Compiler.Parsetree.Type)yyVals[-1+yyTop]), ((bool)yyVals[-4+yyTop]), new Val_kind.Val_normal());
---
> yyVal = new Class_member.M_field(((Nemerle.Compiler.Parsetree.Type)yyVals[-1+yyTop]), ((bool)yyVals[-4+yyTop]));
884,887d895
< case 68:
< #line 459 "parser.jay"
< { yyVal = new Val_kind.Val_extern(((string)yyVals[-1+yyTop])); }
< break;
889,890c897,898
< #line 461 "parser.jay"
< { yyVal = new Val_kind.Val_normal(); }
---
> #line 463 "parser.jay"
> { yyVal = new Val_kind.Val_extern(((string)yyVals[-1+yyTop])); }
893a902,905
> { yyVal = new Val_kind.Val_normal(); }
> break;
> case 71:
> #line 469 "parser.jay"
903,904c915,916
< case 71:
< #line 476 "parser.jay"
---
> case 72:
> #line 480 "parser.jay"
908c920
< yyVal = new Class_member.M_field(((Nemerle.Compiler.Parsetree.Type)yyVals[-1+yyTop]), ((bool)yyVals[-5+yyTop]), ((Val_kind)yyVals[0+yyTop]));
---
> yyVal = new Class_member.M_field(((Nemerle.Compiler.Parsetree.Type)yyVals[-1+yyTop]), ((bool)yyVals[-5+yyTop]));
912,913c924,934
< case 72:
< #line 483 "parser.jay"
---
> case 73:
> #line 487 "parser.jay"
> {
> if (!is_empty_typarms(((Typarms)yyVals[-4+yyTop])))
> Message.error(((Located_ID)yyVals[-3+yyTop]).loc, "static fields cannot have type parameters");
> yyVal = new Class_member.M_value(((Nemerle.Compiler.Parsetree.Type)yyVals[-1+yyTop]), ((bool)yyVals[-5+yyTop]), ((Val_kind)yyVals[0+yyTop]));
> fixup_decl(yyVal, ((list)yyVals[-7+yyTop]), ((Located_ID)yyVals[-3+yyTop]));
> }
> break;
> case 74:
> #line 494 "parser.jay"
921,922c942,984
< case 74:
< #line 493 "parser.jay"
---
> case 75:
> #line 501 "parser.jay"
> {
> if (((bool)yyVals[-1+yyTop]))
> Message.error(((Class_member.M_function)yyVals[0+yyTop]).loc, "static methods cannot have 'ref' attribute");
> ((Class_member.M_function)yyVals[0+yyTop]).modifiers = ((list)yyVals[-3+yyTop]);
> if (((Class_member.M_function)yyVals[0+yyTop]).kind is Fun_kind.FK_ctor)
> ((Class_member.M_function)yyVals[0+yyTop]).kind = new Fun_kind.FK_static_ctor();
> else if (((Class_member.M_function)yyVals[0+yyTop]).kind is Fun_kind.FK_method) {
> if (!(((Fun_kind.FK_method)((Class_member.M_function)yyVals[0+yyTop]).kind).f_implements is list.Nil))
> Message.error(((Class_member.M_function)yyVals[0+yyTop]).loc, "functions cannot implement anything");
> ((Class_member.M_function)yyVals[0+yyTop]).kind = new Fun_kind.FK_function();
> }
> yyVal = ((Class_member.M_function)yyVals[0+yyTop]);
> }
> break;
> case 77:
> #line 518 "parser.jay"
> {
> if (!is_empty_typarms(((Typarms)yyVals[-4+yyTop])))
> Message.error(((Located_ID)yyVals[-3+yyTop]).loc, "static fields cannot have type parameters");
> yyVal = new Class_member.M_value(((Nemerle.Compiler.Parsetree.Type)yyVals[-1+yyTop]), ((bool)yyVals[-5+yyTop]), ((Val_kind)yyVals[0+yyTop]));
> fixup_decl(yyVal, ((list)yyVals[-6+yyTop]), ((Located_ID)yyVals[-3+yyTop]));
> }
> break;
> case 78:
> #line 525 "parser.jay"
> {
> if (((bool)yyVals[-1+yyTop]))
> Message.error(((Class_member.M_function)yyVals[0+yyTop]).loc, "static methods cannot have 'ref' attribute");
> ((Class_member.M_function)yyVals[0+yyTop]).modifiers = ((list)yyVals[-2+yyTop]);
> if (((Class_member.M_function)yyVals[0+yyTop]).kind is Fun_kind.FK_ctor)
> ((Class_member.M_function)yyVals[0+yyTop]).kind = new Fun_kind.FK_static_ctor();
> else if (((Class_member.M_function)yyVals[0+yyTop]).kind is Fun_kind.FK_method) {
> if (!(((Fun_kind.FK_method)((Class_member.M_function)yyVals[0+yyTop]).kind).f_implements is list.Nil))
> Message.error(((Class_member.M_function)yyVals[0+yyTop]).loc, "functions cannot implement anything");
> ((Class_member.M_function)yyVals[0+yyTop]).kind = new Fun_kind.FK_function();
> }
> yyVal = ((Class_member.M_function)yyVals[0+yyTop]);
> }
> break;
> case 80:
> #line 542 "parser.jay"
935,936c997,998
< case 75:
< #line 505 "parser.jay"
---
> case 81:
> #line 554 "parser.jay"
943c1005
< h.ret_type = new Type.T_void();
---
> h.ret_type = new Nemerle.Compiler.Parsetree.Type.T_void();
949,950c1011,1012
< case 76:
< #line 518 "parser.jay"
---
> case 82:
> #line 567 "parser.jay"
953,954c1015,1016
< case 77:
< #line 519 "parser.jay"
---
> case 83:
> #line 568 "parser.jay"
957,958c1019,1020
< case 78:
< #line 523 "parser.jay"
---
> case 84:
> #line 572 "parser.jay"
971,972c1033,1034
< case 79:
< #line 537 "parser.jay"
---
> case 85:
> #line 586 "parser.jay"
983,984c1045,1046
< case 80:
< #line 548 "parser.jay"
---
> case 86:
> #line 597 "parser.jay"
987,988c1049,1050
< case 81:
< #line 549 "parser.jay"
---
> case 87:
> #line 598 "parser.jay"
991,992c1053,1054
< case 82:
< #line 552 "parser.jay"
---
> case 88:
> #line 601 "parser.jay"
995,996c1057,1058
< case 84:
< #line 556 "parser.jay"
---
> case 90:
> #line 605 "parser.jay"
999,1000c1061,1062
< case 85:
< #line 557 "parser.jay"
---
> case 91:
> #line 606 "parser.jay"
1003,1004c1065,1066
< case 86:
< #line 560 "parser.jay"
---
> case 92:
> #line 609 "parser.jay"
1007,1008c1069,1070
< case 87:
< #line 561 "parser.jay"
---
> case 93:
> #line 610 "parser.jay"
1011,1012c1073,1074
< case 88:
< #line 564 "parser.jay"
---
> case 94:
> #line 613 "parser.jay"
1015,1016c1077,1078
< case 89:
< #line 565 "parser.jay"
---
> case 95:
> #line 614 "parser.jay"
1019,1020c1081,1082
< case 90:
< #line 568 "parser.jay"
---
> case 96:
> #line 617 "parser.jay"
1023,1024c1085,1086
< case 91:
< #line 569 "parser.jay"
---
> case 97:
> #line 618 "parser.jay"
1027,1029c1089,1091
< case 92:
< #line 572 "parser.jay"
< { yyVal = new Type.T_app(((string)yyVals[0+yyTop]), nil()); }
---
> case 98:
> #line 621 "parser.jay"
> { yyVal = new Nemerle.Compiler.Parsetree.Type.T_app(((string)yyVals[0+yyTop]), nil()); }
1031,1033c1093,1095
< case 93:
< #line 573 "parser.jay"
< { yyVal = new Type.T_app(((string)yyVals[-3+yyTop]), ((list)yyVals[-1+yyTop])); }
---
> case 99:
> #line 622 "parser.jay"
> { yyVal = new Nemerle.Compiler.Parsetree.Type.T_app(((string)yyVals[-3+yyTop]), ((list)yyVals[-1+yyTop])); }
1035,1037c1097,1099
< case 94:
< #line 574 "parser.jay"
< { yyVal = new Type.T_var(((string)yyVals[0+yyTop])); }
---
> case 100:
> #line 623 "parser.jay"
> { yyVal = new Nemerle.Compiler.Parsetree.Type.T_var(((string)yyVals[0+yyTop])); }
1039,1040c1101,1102
< case 95:
< #line 575 "parser.jay"
---
> case 101:
> #line 624 "parser.jay"
1043,1045c1105,1107
< case 96:
< #line 576 "parser.jay"
< { yyVal = new Type.T_void(); }
---
> case 102:
> #line 625 "parser.jay"
> { yyVal = new Nemerle.Compiler.Parsetree.Type.T_void(); }
1047,1049c1109,1111
< case 97:
< #line 577 "parser.jay"
< { yyVal = new Type.T_ref(((Nemerle.Compiler.Parsetree.Type)yyVals[0+yyTop])); }
---
> case 103:
> #line 626 "parser.jay"
> { yyVal = new Nemerle.Compiler.Parsetree.Type.T_ref(((Nemerle.Compiler.Parsetree.Type)yyVals[0+yyTop])); }
1051,1053c1113,1115
< case 98:
< #line 578 "parser.jay"
< { yyVal = new Type.T_out(((Nemerle.Compiler.Parsetree.Type)yyVals[0+yyTop])); }
---
> case 104:
> #line 627 "parser.jay"
> { yyVal = new Nemerle.Compiler.Parsetree.Type.T_out(((Nemerle.Compiler.Parsetree.Type)yyVals[0+yyTop])); }
1055,1056c1117,1118
< case 99:
< #line 581 "parser.jay"
---
> case 105:
> #line 630 "parser.jay"
1059,1060c1121,1122
< case 100:
< #line 582 "parser.jay"
---
> case 106:
> #line 631 "parser.jay"
1063,1064c1125,1126
< case 101:
< #line 586 "parser.jay"
---
> case 107:
> #line 635 "parser.jay"
1070c1132
< yyVal = new Type.T_prod(c);
---
> yyVal = new Nemerle.Compiler.Parsetree.Type.T_prod(c);
1073,1075c1135,1137
< case 103:
< #line 596 "parser.jay"
< { yyVal = new Type.T_fun(((Nemerle.Compiler.Parsetree.Type)yyVals[-2+yyTop]), ((Nemerle.Compiler.Parsetree.Type)yyVals[0+yyTop])); }
---
> case 109:
> #line 645 "parser.jay"
> { yyVal = new Nemerle.Compiler.Parsetree.Type.T_fun(((Nemerle.Compiler.Parsetree.Type)yyVals[-2+yyTop]), ((Nemerle.Compiler.Parsetree.Type)yyVals[0+yyTop])); }
1077,1078c1139,1140
< case 104:
< #line 599 "parser.jay"
---
> case 110:
> #line 648 "parser.jay"
1081,1082c1143,1144
< case 105:
< #line 600 "parser.jay"
---
> case 111:
> #line 649 "parser.jay"
1085,1086c1147,1148
< case 106:
< #line 603 "parser.jay"
---
> case 112:
> #line 652 "parser.jay"
1089,1090c1151,1152
< case 108:
< #line 607 "parser.jay"
---
> case 114:
> #line 656 "parser.jay"
1093,1094c1155,1156
< case 109:
< #line 608 "parser.jay"
---
> case 115:
> #line 657 "parser.jay"
1097,1098c1159,1160
< case 110:
< #line 609 "parser.jay"
---
> case 116:
> #line 658 "parser.jay"
1101,1102c1163,1164
< case 111:
< #line 610 "parser.jay"
---
> case 117:
> #line 659 "parser.jay"
1105,1106c1167,1168
< case 112:
< #line 611 "parser.jay"
---
> case 118:
> #line 660 "parser.jay"
1109,1110c1171,1172
< case 113:
< #line 613 "parser.jay"
---
> case 119:
> #line 662 "parser.jay"
1113,1114c1175,1176
< case 114:
< #line 615 "parser.jay"
---
> case 120:
> #line 664 "parser.jay"
1117,1118c1179,1180
< case 115:
< #line 617 "parser.jay"
---
> case 121:
> #line 666 "parser.jay"
1121,1122c1183,1184
< case 116:
< #line 619 "parser.jay"
---
> case 122:
> #line 668 "parser.jay"
1125,1126c1187,1188
< case 118:
< #line 623 "parser.jay"
---
> case 124:
> #line 672 "parser.jay"
1129,1130c1191,1192
< case 119:
< #line 626 "parser.jay"
---
> case 125:
> #line 675 "parser.jay"
1133,1134c1195,1196
< case 120:
< #line 627 "parser.jay"
---
> case 126:
> #line 676 "parser.jay"
1137,1138c1199,1200
< case 121:
< #line 631 "parser.jay"
---
> case 127:
> #line 680 "parser.jay"
1141,1142c1203,1204
< case 122:
< #line 633 "parser.jay"
---
> case 128:
> #line 682 "parser.jay"
1145,1146c1207,1208
< case 125:
< #line 641 "parser.jay"
---
> case 131:
> #line 690 "parser.jay"
1149,1150c1211,1212
< case 126:
< #line 643 "parser.jay"
---
> case 132:
> #line 692 "parser.jay"
1153,1154c1215,1216
< case 127:
< #line 645 "parser.jay"
---
> case 133:
> #line 694 "parser.jay"
1157,1158c1219,1220
< case 128:
< #line 647 "parser.jay"
---
> case 134:
> #line 696 "parser.jay"
1161,1162c1223,1224
< case 129:
< #line 651 "parser.jay"
---
> case 135:
> #line 700 "parser.jay"
1165,1166c1227,1228
< case 132:
< #line 658 "parser.jay"
---
> case 138:
> #line 707 "parser.jay"
1169,1170c1231,1232
< case 133:
< #line 659 "parser.jay"
---
> case 139:
> #line 708 "parser.jay"
1173,1174c1235,1236
< case 134:
< #line 663 "parser.jay"
---
> case 140:
> #line 712 "parser.jay"
1177,1178c1239,1240
< case 135:
< #line 666 "parser.jay"
---
> case 141:
> #line 715 "parser.jay"
1181,1182c1243,1244
< case 136:
< #line 670 "parser.jay"
---
> case 142:
> #line 719 "parser.jay"
1185,1186c1247,1248
< case 137:
< #line 672 "parser.jay"
---
> case 143:
> #line 721 "parser.jay"
1189,1190c1251,1252
< case 138:
< #line 675 "parser.jay"
---
> case 144:
> #line 724 "parser.jay"
1193,1194c1255,1256
< case 139:
< #line 677 "parser.jay"
---
> case 145:
> #line 726 "parser.jay"
1197,1198c1259,1260
< case 140:
< #line 679 "parser.jay"
---
> case 146:
> #line 728 "parser.jay"
1201,1202c1263,1264
< case 141:
< #line 681 "parser.jay"
---
> case 147:
> #line 730 "parser.jay"
1205,1206c1267,1268
< case 142:
< #line 683 "parser.jay"
---
> case 148:
> #line 732 "parser.jay"
1209,1210c1271,1280
< case 143:
< #line 685 "parser.jay"
---
> case 149:
> #line 735 "parser.jay"
> { yyVal = new Expr.E_require(((Expr)yyVals[-1+yyTop])); }
> break;
> case 150:
> #line 737 "parser.jay"
> { yyVal = new Expr.E_ensure(((Expr)yyVals[-1+yyTop])); }
> break;
> case 151:
> #line 739 "parser.jay"
1213,1214c1283,1284
< case 144:
< #line 686 "parser.jay"
---
> case 152:
> #line 740 "parser.jay"
1217,1218c1287,1288
< case 145:
< #line 687 "parser.jay"
---
> case 153:
> #line 741 "parser.jay"
1221,1222c1291,1292
< case 146:
< #line 689 "parser.jay"
---
> case 154:
> #line 743 "parser.jay"
1225,1226c1295,1296
< case 147:
< #line 690 "parser.jay"
---
> case 155:
> #line 744 "parser.jay"
1229,1230c1299,1300
< case 148:
< #line 691 "parser.jay"
---
> case 156:
> #line 745 "parser.jay"
1233,1234c1303,1304
< case 149:
< #line 692 "parser.jay"
---
> case 157:
> #line 746 "parser.jay"
1237,1238c1307,1308
< case 150:
< #line 693 "parser.jay"
---
> case 158:
> #line 747 "parser.jay"
1241,1242c1311,1312
< case 151:
< #line 694 "parser.jay"
---
> case 159:
> #line 748 "parser.jay"
1245,1246c1315,1316
< case 152:
< #line 695 "parser.jay"
---
> case 160:
> #line 749 "parser.jay"
1249,1250c1319,1320
< case 153:
< #line 696 "parser.jay"
---
> case 161:
> #line 750 "parser.jay"
1253,1254c1323,1324
< case 154:
< #line 698 "parser.jay"
---
> case 162:
> #line 752 "parser.jay"
1257,1258c1327,1328
< case 155:
< #line 699 "parser.jay"
---
> case 163:
> #line 753 "parser.jay"
1261,1262c1331,1332
< case 156:
< #line 700 "parser.jay"
---
> case 164:
> #line 754 "parser.jay"
1265,1266c1335,1336
< case 157:
< #line 701 "parser.jay"
---
> case 165:
> #line 755 "parser.jay"
1269,1270c1339,1340
< case 158:
< #line 702 "parser.jay"
---
> case 166:
> #line 756 "parser.jay"
1273,1274c1343,1344
< case 159:
< #line 703 "parser.jay"
---
> case 167:
> #line 757 "parser.jay"
1277,1278c1347,1348
< case 160:
< #line 704 "parser.jay"
---
> case 168:
> #line 758 "parser.jay"
1281,1282c1351,1352
< case 163:
< #line 710 "parser.jay"
---
> case 171:
> #line 764 "parser.jay"
1285,1286c1355,1356
< case 164:
< #line 711 "parser.jay"
---
> case 172:
> #line 765 "parser.jay"
1289,1290c1359,1360
< case 165:
< #line 715 "parser.jay"
---
> case 173:
> #line 769 "parser.jay"
1301,1302c1371,1372
< case 166:
< #line 727 "parser.jay"
---
> case 174:
> #line 781 "parser.jay"
1307,1308c1377,1378
< case 167:
< #line 733 "parser.jay"
---
> case 175:
> #line 787 "parser.jay"
1315,1316c1385,1386
< case 168:
< #line 740 "parser.jay"
---
> case 176:
> #line 794 "parser.jay"
1319,1320c1389,1390
< case 169:
< #line 741 "parser.jay"
---
> case 177:
> #line 795 "parser.jay"
1323,1324c1393,1394
< case 170:
< #line 744 "parser.jay"
---
> case 178:
> #line 798 "parser.jay"
1327,1328c1397,1398
< case 172:
< #line 749 "parser.jay"
---
> case 180:
> #line 803 "parser.jay"
1331,1332c1401,1402
< case 173:
< #line 751 "parser.jay"
---
> case 181:
> #line 805 "parser.jay"
1335,1336c1405,1406
< case 174:
< #line 754 "parser.jay"
---
> case 182:
> #line 808 "parser.jay"
1339,1340c1409,1410
< case 175:
< #line 755 "parser.jay"
---
> case 183:
> #line 809 "parser.jay"
1343,1344c1413,1414
< case 176:
< #line 758 "parser.jay"
---
> case 184:
> #line 812 "parser.jay"
1347,1348c1417,1418
< case 177:
< #line 759 "parser.jay"
---
> case 185:
> #line 813 "parser.jay"
1351,1352c1421,1422
< case 178:
< #line 762 "parser.jay"
---
> case 186:
> #line 816 "parser.jay"
1355,1356c1425,1426
< case 179:
< #line 763 "parser.jay"
---
> case 187:
> #line 817 "parser.jay"
1359,1360c1429,1430
< case 180:
< #line 766 "parser.jay"
---
> case 188:
> #line 820 "parser.jay"
1363,1364c1433,1434
< case 181:
< #line 767 "parser.jay"
---
> case 189:
> #line 821 "parser.jay"
1367,1368c1437,1438
< case 182:
< #line 771 "parser.jay"
---
> case 190:
> #line 825 "parser.jay"
1371,1372c1441,1442
< case 183:
< #line 773 "parser.jay"
---
> case 191:
> #line 827 "parser.jay"
1375,1376c1445,1446
< case 184:
< #line 775 "parser.jay"
---
> case 192:
> #line 829 "parser.jay"
1379,1380c1449,1450
< case 186:
< #line 778 "parser.jay"
---
> case 194:
> #line 832 "parser.jay"
1383,1384c1453,1454
< case 187:
< #line 780 "parser.jay"
---
> case 195:
> #line 834 "parser.jay"
1387,1388c1457,1458
< case 188:
< #line 782 "parser.jay"
---
> case 196:
> #line 836 "parser.jay"
1391,1392c1461,1462
< case 189:
< #line 784 "parser.jay"
---
> case 197:
> #line 838 "parser.jay"
1395,1396c1465,1466
< case 190:
< #line 788 "parser.jay"
---
> case 198:
> #line 842 "parser.jay"
1399,1400c1469,1470
< case 191:
< #line 790 "parser.jay"
---
> case 199:
> #line 844 "parser.jay"
1403,1404c1473,1474
< case 192:
< #line 793 "parser.jay"
---
> case 200:
> #line 847 "parser.jay"
1407,1408c1477,1478
< case 193:
< #line 794 "parser.jay"
---
> case 201:
> #line 848 "parser.jay"
1411,1412c1481,1482
< case 194:
< #line 797 "parser.jay"
---
> case 202:
> #line 851 "parser.jay"
1415,1416c1485,1486
< case 195:
< #line 798 "parser.jay"
---
> case 203:
> #line 852 "parser.jay"
1419,1420c1489,1490
< case 196:
< #line 802 "parser.jay"
---
> case 204:
> #line 856 "parser.jay"
1423,1424c1493,1494
< case 197:
< #line 806 "parser.jay"
---
> case 205:
> #line 860 "parser.jay"
1458c1528
< 0, 59, 59, 59, 59, 1, 3, 3, 5, 5,
---
> 0, 60, 60, 60, 60, 1, 3, 3, 5, 5,
1460,1477c1530,1548
< 12, 58, 58, 30, 30, 31, 31, 32, 32, 10,
< 10, 61, 33, 33, 62, 14, 14, 15, 15, 34,
< 34, 35, 35, 60, 60, 36, 36, 64, 63, 37,
< 37, 38, 38, 66, 66, 66, 66, 66, 66, 66,
< 66, 39, 39, 40, 41, 41, 67, 29, 29, 68,
< 65, 65, 65, 21, 21, 22, 22, 24, 69, 42,
< 42, 43, 43, 44, 44, 45, 45, 9, 9, 11,
< 11, 7, 7, 7, 7, 7, 7, 7, 46, 46,
< 8, 6, 6, 20, 20, 16, 16, 70, 70, 70,
< 70, 70, 70, 70, 70, 70, 18, 18, 55, 55,
< 17, 17, 72, 72, 73, 73, 73, 73, 74, 75,
< 75, 47, 47, 19, 4, 71, 71, 71, 71, 71,
< 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
< 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
< 71, 71, 56, 56, 23, 76, 77, 48, 48, 49,
< 49, 78, 78, 50, 50, 51, 51, 27, 27, 57,
< 57, 25, 25, 25, 25, 25, 25, 25, 25, 28,
< 26, 54, 54, 53, 53, 80, 79,
---
> 12, 59, 59, 30, 30, 31, 31, 32, 32, 10,
> 10, 62, 33, 33, 63, 14, 14, 15, 15, 34,
> 34, 35, 35, 61, 61, 36, 36, 65, 64, 37,
> 37, 56, 56, 38, 38, 68, 68, 68, 68, 68,
> 68, 68, 39, 39, 40, 41, 41, 69, 29, 29,
> 70, 66, 66, 66, 66, 66, 67, 67, 67, 21,
> 21, 22, 22, 24, 71, 42, 42, 43, 43, 44,
> 44, 45, 45, 9, 9, 11, 11, 7, 7, 7,
> 7, 7, 7, 7, 46, 46, 8, 6, 6, 20,
> 20, 16, 16, 72, 72, 72, 72, 72, 72, 72,
> 72, 72, 18, 18, 55, 55, 17, 17, 74, 74,
> 75, 75, 75, 75, 76, 77, 77, 47, 47, 19,
> 4, 73, 73, 73, 73, 73, 73, 73, 73, 73,
> 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
> 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
> 57, 57, 23, 78, 79, 48, 48, 49, 49, 80,
> 80, 50, 50, 51, 51, 27, 27, 58, 58, 25,
> 25, 25, 25, 25, 25, 25, 25, 28, 26, 54,
> 54, 53, 53, 82, 81,
1485,1499c1556,1571
< 2, 0, 2, 1, 1, 1, 1, 1, 1, 1,
< 1, 0, 1, 3, 0, 2, 6, 4, 1, 1,
< 7, 3, 1, 8, 5, 1, 4, 2, 3, 1,
< 3, 0, 1, 0, 2, 1, 3, 0, 1, 0,
< 1, 1, 4, 1, 3, 1, 2, 2, 1, 3,
< 1, 1, 3, 1, 3, 1, 1, 1, 1, 2,
< 1, 1, 5, 5, 3, 3, 1, 1, 3, 3,
< 2, 3, 0, 1, 2, 6, 5, 5, 1, 1,
< 2, 2, 0, 3, 0, 4, 3, 7, 8, 2,
< 8, 4, 3, 4, 2, 3, 3, 3, 3, 3,
< 3, 3, 3, 2, 2, 2, 2, 2, 2, 2,
< 1, 1, 3, 1, 7, 2, 2, 1, 3, 0,
< 1, 2, 4, 1, 3, 1, 3, 1, 0, 3,
< 1, 2, 1, 4, 1, 3, 2, 4, 3, 3,
< 1, 3, 3, 3, 1, 3, 4,
---
> 2, 0, 2, 0, 2, 1, 1, 1, 1, 1,
> 1, 1, 0, 1, 3, 0, 2, 6, 4, 1,
> 1, 7, 8, 3, 4, 1, 7, 3, 1, 8,
> 5, 1, 4, 2, 3, 1, 3, 0, 1, 0,
> 2, 1, 3, 0, 1, 0, 1, 1, 4, 1,
> 3, 1, 2, 2, 1, 3, 1, 1, 3, 1,
> 3, 1, 1, 1, 1, 2, 1, 1, 5, 5,
> 3, 3, 1, 1, 3, 3, 2, 3, 0, 1,
> 2, 6, 5, 5, 1, 1, 2, 2, 0, 3,
> 0, 4, 3, 7, 8, 2, 8, 4, 4, 4,
> 3, 4, 2, 3, 3, 3, 3, 3, 3, 3,
> 3, 2, 2, 2, 2, 2, 2, 2, 1, 1,
> 3, 1, 7, 2, 2, 1, 3, 0, 1, 2,
> 4, 1, 3, 1, 3, 1, 0, 3, 1, 2,
> 1, 4, 1, 3, 2, 4, 3, 3, 1, 3,
> 3, 3, 1, 3, 4,
1502,1540c1574,1615
< 59, 57, 54, 58, 56, 60, 0, 55, 0, 61,
< 0, 5, 0, 1, 0, 0, 0, 0, 0, 11,
< 0, 0, 0, 0, 0, 0, 0, 0, 12, 53,
< 0, 0, 0, 2, 6, 0, 0, 0, 0, 0,
< 0, 0, 10, 0, 0, 0, 0, 0, 0, 0,
< 0, 0, 0, 3, 4, 49, 0, 0, 0, 0,
< 70, 0, 0, 0, 73, 0, 45, 0, 31, 0,
< 0, 0, 94, 0, 0, 0, 96, 0, 0, 0,
< 0, 102, 101, 0, 0, 0, 0, 0, 14, 18,
< 91, 0, 51, 20, 0, 0, 0, 0, 0, 0,
< 17, 29, 0, 98, 97, 0, 0, 0, 15, 0,
< 19, 0, 37, 41, 0, 25, 0, 0, 72, 0,
< 35, 63, 21, 0, 0, 0, 32, 39, 16, 95,
< 0, 0, 100, 0, 43, 0, 0, 0, 0, 0,
< 76, 78, 0, 0, 0, 34, 0, 0, 93, 0,
< 0, 27, 0, 0, 121, 0, 0, 0, 64, 66,
< 8, 7, 0, 83, 0, 0, 0, 0, 47, 0,
< 0, 122, 112, 111, 0, 0, 0, 0, 0, 0,
< 0, 109, 0, 108, 0, 0, 0, 0, 0, 0,
< 0, 118, 0, 0, 162, 0, 0, 0, 104, 106,
< 129, 130, 132, 161, 0, 0, 75, 0, 0, 69,
< 0, 71, 77, 154, 155, 156, 157, 158, 159, 160,
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 125,
< 0, 110, 0, 0, 145, 0, 0, 0, 0, 0,
< 0, 0, 0, 0, 0, 0, 0, 0, 134, 0,
< 0, 0, 166, 0, 0, 81, 0, 0, 0, 0,
< 0, 0, 0, 0, 183, 0, 0, 0, 191, 0,
< 185, 0, 0, 0, 167, 0, 0, 0, 0, 105,
< 0, 116, 0, 0, 0, 0, 0, 0, 0, 0,
< 0, 0, 0, 0, 0, 89, 0, 171, 0, 0,
< 115, 0, 0, 0, 0, 0, 0, 0, 0, 0,
< 0, 195, 0, 187, 0, 0, 178, 182, 0, 0,
< 190, 0, 0, 175, 0, 0, 120, 0, 0, 144,
< 0, 0, 0, 136, 0, 67, 0, 74, 68, 0,
< 0, 0, 128, 0, 0, 0, 186, 0, 0, 0,
< 0, 193, 0, 127, 113, 114, 0, 0, 169, 0,
< 85, 0, 0, 135, 0, 194, 184, 0, 188, 126,
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 87,
< 0, 0, 139, 135, 133, 177, 197,
---
> 61, 59, 56, 60, 58, 62, 0, 57, 0, 0,
> 5, 0, 1, 0, 0, 0, 0, 0, 11, 0,
> 0, 0, 0, 0, 0, 0, 0, 12, 55, 0,
> 0, 0, 2, 6, 0, 0, 0, 0, 0, 0,
> 0, 10, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 3, 4, 49, 0, 0, 0, 0, 71,
> 0, 0, 0, 76, 0, 45, 0, 31, 0, 0,
> 0, 100, 0, 0, 0, 102, 0, 0, 0, 0,
> 108, 107, 0, 0, 0, 79, 0, 0, 0, 0,
> 14, 18, 0, 97, 0, 51, 20, 0, 0, 0,
> 0, 0, 0, 17, 29, 0, 104, 103, 0, 0,
> 0, 15, 0, 0, 19, 53, 0, 37, 41, 0,
> 25, 0, 0, 0, 74, 0, 35, 64, 21, 0,
> 0, 0, 32, 39, 16, 101, 0, 0, 106, 0,
> 78, 0, 43, 0, 0, 0, 75, 0, 0, 0,
> 82, 84, 0, 0, 0, 34, 0, 0, 99, 0,
> 0, 0, 27, 0, 0, 0, 127, 0, 0, 0,
> 65, 67, 8, 7, 0, 89, 0, 0, 0, 0,
> 0, 47, 0, 0, 0, 128, 118, 117, 0, 0,
> 0, 0, 0, 0, 0, 115, 0, 114, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 124, 0, 0,
> 170, 0, 0, 0, 110, 112, 135, 136, 138, 169,
> 0, 0, 81, 0, 0, 0, 0, 72, 83, 162,
> 163, 164, 165, 166, 167, 168, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 131, 0, 0, 0, 116,
> 0, 0, 153, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 140, 0, 0, 0,
> 174, 0, 0, 87, 0, 70, 0, 77, 73, 0,
> 0, 0, 0, 0, 0, 191, 0, 0, 0, 199,
> 0, 193, 0, 0, 0, 175, 0, 0, 0, 0,
> 0, 0, 111, 0, 122, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 95, 0,
> 179, 0, 0, 121, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 203, 0, 195, 0, 0, 186,
> 190, 0, 0, 198, 0, 0, 183, 150, 149, 0,
> 0, 126, 0, 0, 152, 0, 0, 0, 142, 0,
> 68, 0, 80, 0, 0, 0, 0, 134, 0, 0,
> 0, 194, 0, 0, 0, 0, 201, 0, 133, 119,
> 120, 0, 0, 177, 0, 91, 69, 0, 0, 141,
> 0, 202, 192, 0, 196, 132, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 93, 0, 0, 145, 141,
> 139, 185, 205,
1542,1550c1617,1626
< protected static short [] yyDgoto = { 11,
< 36, 19, 163, 376, 192, 115, 81, 82, 297, 70,
< 92, 61, 37, 47, 193, 194, 195, 196, 156, 197,
< 228, 142, 198, 119, 269, 270, 318, 271, 212, 89,
< 116, 71, 96, 100, 113, 135, 62, 63, 121, 122,
< 144, 164, 165, 338, 361, 83, 157, 298, 299, 230,
< 377, 14, 311, 272, 234, 237, 316, 60, 15, 68,
< 72, 97, 58, 136, 64, 16, 145, 65, 166, 199,
< 200, 249, 201, 202, 203, 204, 231, 300, 378, 312,
---
> protected static short [] yyDgoto = { 10,
> 35, 18, 175, 402, 208, 120, 80, 81, 320, 69,
> 95, 60, 36, 46, 209, 210, 211, 212, 168, 213,
> 124, 152, 214, 125, 290, 291, 341, 292, 278, 91,
> 121, 70, 99, 103, 118, 143, 61, 12, 127, 128,
> 154, 176, 177, 363, 386, 82, 169, 321, 322, 246,
> 403, 13, 334, 293, 252, 84, 255, 339, 59, 14,
> 67, 71, 100, 57, 144, 63, 85, 15, 155, 64,
> 178, 215, 216, 267, 217, 218, 219, 220, 247, 323,
> 404, 335,
1552,1591c1628,1670
< protected static short [] yySindex = { 1123,
< 0, 0, 0, 0, 0, 0, -184, 0, -165, 0,
< 0, 0, 677, 0, 1123, 562, 52, 46, -14, 0,
< 52, 89, -91, -91, -91, -91, -91, -91, 0, 0,
< -165, -165, 1123, 0, 0, 134, 55, 71, 79, 94,
< 126, 99, 0, 172, 115, 34, -36, 562, 562, 124,
< -2, 482, 562, 0, 0, 0, 223, 229, 173, 8,
< 0, 197, 537, 562, 0, 200, 0, -91, 0, 34,
< 226, -2, 0, 116, 173, 173, 0, 173, 331, 1,
< 335, 0, 0, 257, 93, 34, 80, 173, 0, 0,
< 0, 34, 0, 0, 271, 286, 274, -218, 360, 93,
< 0, 0, 364, 0, 0, -37, 173, 173, 0, 173,
< 0, 166, 0, 0, -16, 0, -218, -15, 0, 562,
< 0, 0, 0, -91, 388, 390, 0, 0, 0, 0,
< 394, 80, 0, 123, 0, 393, 173, 25, 171, 317,
< 0, 0, 135, 321, 562, 0, -75, -75, 0, 173,
< 166, 0, 173, 187, 0, 323, 1004, -91, 0, 0,
< 0, 0, 392, 0, 412, 410, 414, 80, 0, -43,
< 397, 0, 0, 0, 1181, 1181, 1181, 1181, 1181, 1181,
< 1181, 0, 1181, 0, 1181, 419, 420, -91, -17, 1118,
< 1102, 0, 165, 361, 0, -23, 423, 347, 0, 0,
< 0, 0, 0, 0, 413, 173, 0, -75, 422, 0,
< 211, 0, 0, 0, 0, 0, 0, 0, 0, 0,
< 634, 465, 1181, 1181, 175, 74, 84, 347, 429, 0,
< 195, 0, -29, 453, 0, 634, 436, 456, 1181, 1181,
< 1181, 1181, 1181, 1181, 1181, 1181, 1181, 0, 0, 1181,
< 212, 241, 0, 173, 80, 0, 173, 242, 1181, 248,
< 344, 351, 1181, 250, 0, 74, 73, 74, 0, -30,
< 0, 470, 390, 452, 0, 1181, 34, 173, 1181, 0,
< 173, 0, 1181, 421, -75, 255, 255, -33, 5, 292,
< 98, 732, 634, 255, 634, 0, 1247, 0, 477, 475,
< 0, 2, -231, 464, 634, 466, 1181, 402, 534, 467,
< 486, 0, -34, 0, 219, 487, 0, 0, 74, 74,
< 0, 1181, 544, 0, -19, 616, 0, -4, 634, 0,
< 521, 111, 634, 0, 212, 0, -165, 0, 0, 173,
< 558, 124, 0, 74, 250, 440, 0, 74, 473, 219,
< -30, 0, 623, 0, 0, 0, 510, 1181, 0, 525,
< 0, -237, 1181, 0, 219, 0, 0, 219, 0, 0,
< 173, 634, -165, 1181, 634, 74, 447, 449, 80, 0,
< 634, -105, 0, 0, 0, 0, 0,
---
> protected static short [] yySindex = { 1083,
> 0, 0, 0, 0, 0, 0, -192, 0, -156, 0,
> 0, 554, 0, 1083, 782, 104, 55, 41, 0, 104,
> 124, -57, -57, -57, -57, -57, -57, 0, 0, -156,
> -156, 1083, 0, 0, 163, 83, 96, 113, 120, 188,
> 130, 0, 226, 192, 71, 43, 782, 782, 224, 78,
> 319, 782, 0, 0, 0, 310, 316, 94, 72, 0,
> 242, 1287, 782, 0, 245, 0, -57, 0, 71, 250,
> 78, 0, 118, 94, 94, 0, 94, 341, -54, 345,
> 0, 0, 422, 266, 782, 0, 100, 71, 107, 94,
> 0, 0, 116, 0, 71, 0, 0, 283, 308, 313,
> -134, 379, 100, 0, 0, 381, 0, 0, -38, 94,
> 94, 0, 94, 71, 0, 0, 182, 0, 0, -5,
> 0, 71, -134, 29, 0, 782, 0, 0, 0, -57,
> 402, 404, 0, 0, 0, 0, 406, 107, 0, -134,
> 0, 134, 0, 401, 94, -134, 0, 38, 180, 331,
> 0, 0, 116, 342, 782, 0, -74, -74, 0, 102,
> 94, 182, 0, 105, 94, 206, 0, 346, 922, -57,
> 0, 0, 0, 0, 412, 0, 432, 433, 437, 94,
> 107, 0, 94, -9, 420, 0, 0, 0, 1152, 1152,
> 1152, 1152, 1152, 1152, 1152, 0, 1152, 0, 1152, 461,
> 466, -57, -15, 382, 384, 1078, 1136, 0, 213, 487,
> 0, -24, 467, 388, 0, 0, 0, 0, 0, 0,
> 454, 94, 0, -74, 457, -42, -42, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 664, 220, 1152, 1152,
> 200, 14, -69, 388, 458, 0, 223, 1152, 1152, 0,
> 390, 481, 0, 664, 472, 493, 1152, 1152, 1152, 1152,
> 1152, 1152, 1152, 1152, 1152, 0, 0, 1152, 247, 278,
> 0, 94, 107, 0, 94, 0, 267, 0, 0, 1152,
> 284, -35, 77, 1152, 286, 0, 14, 125, 14, 0,
> -32, 0, 504, 404, 489, 0, 1152, 71, 409, 506,
> 94, 1152, 0, 94, 0, 1152, 460, -74, 293, 293,
> 160, 65, 70, 138, 548, 664, 293, 664, 0, 1210,
> 0, 517, 516, 0, 1, -248, 302, 664, 505, 1152,
> 441, 644, 514, 507, 0, -30, 0, 260, 522, 0,
> 0, 14, 14, 0, 1152, 653, 0, 0, 0, -31,
> 616, 0, -8, 664, 0, 545, 13, 664, 0, 247,
> 0, -156, 0, 529, 94, 523, 224, 0, 14, 286,
> 473, 0, 14, 498, 260, -32, 0, 685, 0, 0,
> 0, 543, 1152, 0, 558, 0, 0, -245, 1152, 0,
> 260, 0, 0, 260, 0, 0, 94, 664, -156, 1152,
> 664, 14, 478, 482, 107, 0, 664, -110, 0, 0,
> 0, 0, 0,
1593,1603c1672
< protected static short [] yyRindex = { 11,
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
< 0, 0, 0, 0, 3, 1037, 16, 0, 0, 0,
< 91, 0, 0, 0, 0, 0, 0, 0, 0, 0,
< 0, 0, 650, 0, 0, -35, 0, 0, 0, 0,
< 0, 0, 0, 0, 0, 0, 31, 748, 748, 316,
< 302, 0, 748, 0, 0, 0, 0, 339, 0, 21,
< 0, 0, -164, 748, 0, 0, 0, 0, 0, -137,
< 0, 302, 0, 0, 0, 0, 0, 0, 182, 0,
< 476, 0, 0, 0, -12, 0, 35, 0, 0, 0,
< 0, -137, 0, 0, 161, 0, 450, 0, 0, 273,
---
> protected static short [] yyRindex = { 9,
1605c1674
< 0, 0, 0, 0, 14, 0, 0, 0, 0, -120,
---
> 0, 0, 0, 4, 1037, 30, 0, 0, 0, 146,
1607,1632c1676,1714
< 0, 560, 0, 0, 0, 958, 0, 0, 0, 923,
< 0, 0, 329, 0, -120, 0, 543, 543, 0, 0,
< 0, 0, 0, 0, 0, 0, 291, 0, 0, 0,
< 0, 0, 0, 0, 0, 548, 0, 719, 0, 0,
< 0, 0, 0, 0, 291, 291, 291, 291, 291, 291,
< 291, 0, 291, 0, 291, 0, 0, 0, 109, 291,
< 291, 0, 0, 214, 0, 221, 151, 0, 0, 0,
< 0, 0, 0, 0, 0, 0, 0, 543, 0, 0,
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
< 665, 0, 291, 291, 0, 0, 0, 0, 0, 0,
< 939, 0, 0, 0, 0, 4, 527, 0, 291, 291,
< 291, 291, 291, 291, 291, 291, 291, 825, 0, 291,
< 1016, 0, 0, 0, 29, 0, 0, 0, 291, 0,
< 0, 0, 291, 0, 0, 0, 0, -8, 0, 0,
< 0, 0, 569, 0, 0, 291, -137, 0, 291, 0,
< 0, 0, -72, 0, 543, 277, 285, 385, 408, 471,
< 433, 83, 720, 380, 811, 0, 291, 0, 0, 590,
< 0, 0, -11, 0, 850, 0, 291, 0, 0, 0,
< 286, 0, 0, 0, 30, 527, 0, 0, 0, 0,
< 0, 291, 0, 0, 0, 591, 0, 0, 32, 0,
< 0, -10, 157, 0, 1016, 0, 0, 0, 0, 0,
< 0, 82, 0, 0, 509, 0, 0, 542, 0, -6,
< 596, 0, 0, 0, 0, 0, 0, 291, 0, -5,
< 0, 0, 291, 0, -20, 0, 0, 92, 0, 0,
< 0, 177, 0, 291, 861, 0, 0, 513, 516, 0,
< 866, 0, 0, 0, 0, 0, 0,
---
> 0, 679, 0, 0, -43, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, -46, 706, 706, 351, 430,
> 0, 997, 0, 0, 0, 0, 79, 0, 32, 0,
> 0, -90, 706, 0, 0, 0, 0, 0, -119, 0,
> 430, 0, 0, 0, 0, 0, 0, 574, 0, 643,
> 0, 0, -90, 0, 997, 0, -41, 0, 18, 0,
> 0, 0, -90, 0, -119, 0, 0, 89, 0, 492,
> 0, 0, -73, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, -119, 0, 0, 0, 0, 0, 2,
> 0, -119, 0, 0, 0, -77, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 87, 0, 0,
> 0, 0, 0, 697, 0, 0, 0, 0, 0, 777,
> 0, 0, 356, 0, -77, 0, 578, 578, 0, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 324, 0,
> 0, 0, 0, 0, 0, 0, 0, 582, 0, 0,
> 696, 0, 0, 0, 0, 0, 0, 0, 324, 324,
> 324, 324, 324, 324, 324, 0, 324, 0, 324, 0,
> 0, 0, 103, 0, 0, 324, 324, 0, 0, 142,
> 0, 232, 153, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 578, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 0, 702, 0, 324, 324,
> 0, 0, 0, 0, 0, 0, 850, 324, 324, 0,
> 0, 0, 0, -1, 532, 0, 324, 324, 324, 324,
> 324, 324, 324, 324, 324, 762, 0, 324, 1007, 0,
> 0, 0, 56, 0, 0, 0, 0, 0, 0, 324,
> 0, 0, 0, 324, 0, 0, 0, 0, -12, 0,
> 0, 0, 0, 565, 0, 0, 324, -119, 0, 0,
> 0, 324, 0, 0, 0, -63, 0, 578, 261, 330,
> 305, 459, 515, 541, 569, 1259, 416, 1388, 0, 324,
> 0, 0, 588, 0, 0, 3, 0, 1443, 0, 324,
> 0, 0, 0, 308, 0, 0, 0, 6, 532, 0,
> 0, 0, 0, 0, 324, 0, 0, 0, 0, 0,
> 591, 0, 0, 17, 0, 0, -6, 73, 0, 1007,
> 0, 0, 0, 0, 0, 0, 385, 0, 0, 512,
> 0, 0, 549, 0, -4, 600, 0, 0, 0, 0,
> 0, 0, 324, 0, 26, 0, 0, 0, 324, 0,
> -2, 0, 0, 39, 0, 0, 0, 155, 0, 324,
> 1445, 0, 0, 519, 524, 0, 1447, 0, 0, 0,
> 0, 0, 0,
1635,1642c1717,1725
< 12, 58, 426, 0, -7, -51, 272, 0, 0, 0,
< 497, 147, 554, 0, -28, 1342, -112, 0, 256, 0,
< 64, 0, 0, 0, 0, 755, 0, 468, 0, 0,
< 38, 582, 532, 20, 559, 512, 326, 43, 0, 0,
< 519, 0, -104, 0, 293, 561, 0, 0, 334, 400,
< 295, 156, 0, 350, 405, 0, 0, 0, 0, 345,
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
< 0, -196, 0, 0, 0, 0, 0, 0, 0, 336,
---
> 21, 44, 403, 0, -7, -50, 248, 0, 0, 0,
> -52, 143, 465, 0, 435, 1355, -78, 0, 237, 0,
> -56, 0, 0, 48, 0, 855, 0, 447, 434, 0,
> -61, 592, 534, 7, 556, 528, 23, 1105, 0, 0,
> 513, 0, -116, 0, 268, 564, 0, 0, 325, 393,
> 282, 145, 0, 353, 397, 615, 0, 0, 0, 0,
> 340, 0, 0, 0, 0, 0, 0, 0, 0, 42,
> 0, 0, 0, -199, 0, 0, 0, 0, 0, 0,
> 0, 338,
1644,1793c1727,1891
< protected static short [] yyTable = { 20,
< 80, 20, 13, 130, 65, 141, 347, 87, 247, 320,
< 13, 280, 247, 320, 279, 210, 251, 211, 18, 161,
< 124, 355, 226, 43, 20, 36, 106, 137, 281, 9,
< 9, 9, 179, 9, 189, 179, 356, 189, 196, 35,
< 284, 98, 13, 167, 79, 139, 247, 84, 42, 84,
< 179, 79, 189, 86, 26, 86, 132, 13, 30, 109,
< 336, 337, 164, 117, 148, 57, 22, 79, 79, 79,
< 79, 125, 79, 17, 26, 13, 6, 108, 374, 95,
< 79, 24, 153, 108, 179, 253, 189, 36, 181, 44,
< 163, 22, 21, 90, 90, 23, 164, 31, 168, 79,
< 79, 170, 79, 256, 196, 114, 32, 140, 33, 126,
< 42, 84, 266, 266, 346, 275, 179, 86, 189, 349,
< 38, 44, 181, 152, 163, 90, 152, 13, 138, 79,
< 9, 9, 9, 99, 9, 95, 26, 52, 9, 247,
< 152, 152, 79, 24, 131, 79, 12, 34, 9, 9,
< 180, 9, 38, 22, 255, 118, 31, 23, 162, 162,
< 227, 12, 143, 267, 267, 314, 35, 265, 265, 205,
< 29, 358, 44, 46, 152, 152, 44, 48, 161, 12,
< 331, 9, 35, 9, 180, 9, 52, 143, 45, 52,
< 117, 117, 117, 49, 117, 264, 264, 172, 79, 225,
< 172, 50, 302, 38, 44, 303, 152, 152, 117, 117,
< 385, 319, 78, 9, 9, 9, 51, 173, 268, 162,
< 173, 53, 92, 92, 38, 92, 325, 239, 240, 328,
< 54, 239, 240, 241, 242, 243, 244, 245, 273, 55,
< 92, 56, 92, 117, 59, 36, 79, 67, 98, 79,
< 9, 9, 9, 9, 9, 9, 9, 36, 268, 268,
< 268, 107, 107, 85, 107, 239, 240, 241, 42, 69,
< 79, 108, 86, 79, 117, 117, 92, 108, 107, 107,
< 42, 52, 319, 278, 62, 62, 319, 246, 362, 52,
< 250, 52, 56, 52, 52, 108, 162, 52, 108, 52,
< 88, 52, 52, 9, 92, 52, 9, 179, 179, 189,
< 108, 268, 268, 107, 52, 108, 108, 146, 146, 379,
< 146, 90, 52, 22, 94, 147, 147, 23, 147, 360,
< 21, 21, 79, 247, 146, 146, 268, 123, 123, 44,
< 268, 35, 147, 147, 107, 107, 104, 105, 9, 152,
< 101, 9, 9, 9, 9, 9, 9, 9, 239, 240,
< 241, 242, 243, 79, 152, 360, 38, 42, 268, 146,
< 107, 9, 9, 125, 66, 103, 110, 147, 84, 40,
< 9, 111, 152, 9, 307, 247, 112, 9, 152, 93,
< 9, 308, 247, 120, 108, 152, 9, 124, 38, 152,
< 146, 146, 247, 9, 9, 9, 9, 9, 147, 147,
< 123, 117, 117, 117, 117, 117, 117, 117, 127, 248,
< 153, 153, 129, 153, 134, 148, 28, 147, 148, 148,
< 21, 73, 117, 40, 149, 150, 151, 153, 153, 92,
< 154, 155, 148, 148, 91, 159, 171, 172, 149, 206,
< 117, 149, 207, 208, 209, 213, 117, 75, 223, 224,
< 76, 238, 92, 117, 117, 149, 149, 117, 252, 140,
< 254, 92, 153, 151, 92, 77, 151, 148, 92, 257,
< 258, 107, 107, 107, 107, 107, 107, 107, 263, 276,
< 151, 151, 277, 282, 283, 285, 92, 92, 301, 296,
< 149, 304, 107, 153, 153, 306, 247, 310, 148, 148,
< 321, 150, 322, 330, 150, 239, 99, 334, 335, 99,
< 107, 78, 339, 340, 342, 151, 107, 344, 150, 150,
< 42, 149, 149, 107, 99, 319, 99, 107, 146, 146,
< 146, 146, 146, 146, 345, 348, 147, 147, 147, 147,
< 147, 147, 239, 240, 241, 242, 151, 151, 146, 30,
< 30, 357, 42, 150, 367, 369, 147, 371, 373, 42,
< 99, 383, 384, 44, 33, 247, 146, 38, 39, 40,
< 41, 42, 146, 82, 147, 247, 90, 38, 80, 146,
< 147, 30, 343, 146, 150, 150, 40, 147, 99, 247,
< 103, 147, 354, 103, 239, 240, 241, 242, 243, 244,
< 245, 239, 240, 241, 242, 243, 244, 245, 103, 123,
< 103, 239, 240, 241, 242, 243, 244, 245, 40, 7,
< 168, 119, 40, 124, 124, 40, 192, 176, 165, 158,
< 387, 153, 153, 153, 153, 153, 153, 148, 148, 148,
< 148, 148, 274, 102, 103, 146, 229, 247, 128, 279,
< 246, 153, 169, 160, 247, 380, 148, 246, 359, 352,
< 133, 149, 149, 149, 149, 247, 324, 246, 386, 153,
< 366, 370, 103, 327, 148, 153, 364, 0, 0, 149,
< 148, 0, 153, 0, 0, 0, 153, 148, 151, 151,
< 0, 148, 0, 0, 0, 140, 0, 149, 140, 0,
< 0, 0, 0, 149, 151, 0, 0, 0, 0, 0,
< 149, 0, 140, 140, 149, 239, 240, 241, 242, 243,
< 244, 245, 151, 99, 0, 150, 150, 150, 151, 21,
< 73, 0, 0, 0, 0, 151, 259, 0, 0, 151,
< 0, 74, 150, 0, 0, 0, 99, 140, 0, 0,
< 143, 0, 48, 143, 260, 99, 75, 0, 99, 76,
< 150, 0, 99, 247, 13, 0, 150, 143, 143, 48,
< 0, 246, 0, 150, 77, 0, 0, 150, 140, 140,
< 99, 99, 0, 0, 239, 240, 241, 242, 243, 244,
< 245, 0, 0, 0, 239, 240, 241, 242, 243, 244,
< 245, 0, 143, 48, 0, 23, 0, 103, 239, 240,
< 241, 242, 243, 244, 245, 24, 0, 25, 26, 1,
< 0, 27, 2, 3, 4, 5, 6, 0, 0, 0,
< 103, 48, 0, 143, 143, 0, 91, 8, 28, 103,
< 246, 137, 103, 0, 137, 0, 103, 0, 0, 0,
< 246, 0, 0, 363, 131, 0, 0, 0, 137, 137,
< 10, 0, 50, 0, 246, 103, 239, 240, 241, 242,
< 243, 244, 245, 239, 240, 241, 242, 243, 244, 245,
< 142, 0, 0, 142, 239, 240, 241, 242, 243, 244,
< 245, 138, 0, 137, 138, 0, 141, 142, 142, 141,
< 0, 0, 0, 0, 0, 131, 0, 0, 138, 138,
< 0, 0, 0, 141, 141, 0, 0, 0, 52, 0,
< 0, 0, 246, 0, 137, 137, 0, 0, 52, 246,
< 52, 52, 142, 0, 52, 0, 140, 131, 124, 124,
< 246, 0, 0, 138, 0, 23, 0, 0, 141, 0,
< 0, 52, 133, 0, 140, 24, 0, 25, 26, 0,
< 140, 27, 0, 142, 142, 0, 48, 140, 174, 0,
< 0, 0, 0, 0, 138, 138, 0, 0, 28, 141,
< 141, 0, 239, 240, 241, 242, 243, 244, 0, 48,
< 0, 143, 0, 0, 0, 52, 52, 0, 48, 0,
< 0, 48, 0, 133, 0, 48, 0, 0, 46, 143,
< 313, 315, 317, 0, 0, 143, 52, 0, 0, 174,
< 0, 0, 143, 0, 0, 0, 52, 52, 52, 52,
< 0, 0, 52, 190, 0, 133, 0, 0, 0, 0,
< 0, 0, 46, 0, 0, 88, 170, 52, 0, 52,
< 0, 174, 0, 0, 0, 0, 0, 0, 0, 0,
< 0, 0, 0, 350, 351, 0, 0, 0, 0, 0,
< 46, 131, 131, 131, 131, 131, 131, 131, 131, 131,
< 131, 131, 137, 0, 191, 0, 0, 0, 365, 0,
< 0, 0, 368, 0, 0, 0, 88, 0, 131, 0,
< 137, 131, 0, 0, 131, 0, 137, 0, 0, 0,
< 0, 131, 0, 137, 0, 131, 140, 0, 131, 0,
< 382, 142, 131, 0, 131, 131, 0, 0, 88, 0,
< 0, 190, 138, 0, 0, 0, 0, 141, 0, 142,
< 0, 0, 0, 0, 0, 142, 0, 190, 232, 0,
< 138, 0, 142, 0, 0, 141, 138, 0, 0, 0,
< 0, 141, 0, 138, 0, 0, 0, 0, 141, 133,
< 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
< 0, 0, 191, 0, 235, 174, 174, 174, 174, 174,
< 174, 174, 174, 174, 174, 174, 133, 0, 191, 133,
< 0, 0, 133, 0, 0, 46, 0, 0, 0, 133,
< 190, 0, 174, 133, 140, 174, 133, 0, 174, 0,
< 133, 0, 133, 133, 0, 174, 0, 0, 46, 174,
< 140, 0, 174, 0, 0, 0, 174, 46, 174, 174,
< 46, 0, 0, 0, 46, 0, 0, 0, 0, 0,
< 173, 21, 56, 174, 175, 176, 177, 178, 179, 180,
< 181, 191, 88, 88, 88, 88, 88, 88, 88, 88,
< 88, 88, 88, 0, 0, 0, 190, 182, 0, 0,
< 183, 0, 0, 184, 52, 52, 0, 0, 0, 88,
< 0, 0, 88, 140, 185, 88, 0, 186, 0, 0,
< 0, 187, 88, 188, 189, 52, 88, 0, 0, 88,
< 0, 0, 0, 88, 0, 52, 52, 52, 52, 0,
< 0, 52, 0, 0, 0, 0, 0, 191, 0, 0,
< 0, 0, 0, 0, 0, 0, 52, 0, 52, 0,
< 0, 0, 0, 0, 0, 0, 0, 0, 173, 21,
< 56, 174, 175, 176, 177, 178, 179, 180, 181, 140,
< 0, 0, 0, 0, 173, 21, 56, 174, 175, 176,
< 177, 178, 179, 180, 181, 182, 0, 0, 183, 0,
< 1, 184, 0, 2, 3, 4, 5, 6, 0, 7,
< 0, 182, 185, 0, 183, 186, 0, 184, 8, 187,
< 0, 0, 0, 0, 0, 0, 0, 0, 185, 0,
< 0, 186, 0, 0, 9, 187, 0, 0, 0, 0,
< 0, 10, 0, 0, 0, 0, 0, 173, 21, 56,
< 174, 175, 176, 177, 178, 179, 180, 181, 0, 0,
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
< 0, 0, 0, 0, 182, 0, 0, 183, 0, 0,
< 184, 0, 0, 0, 0, 0, 0, 0, 0, 0,
< 0, 185, 0, 0, 186, 0, 0, 0, 187, 0,
---
> protected static short [] yyTable = { 19,
> 79, 19, 136, 13, 112, 330, 265, 89, 13, 380,
> 372, 343, 102, 343, 22, 269, 276, 36, 277, 42,
> 173, 42, 42, 19, 242, 173, 109, 17, 187, 130,
> 114, 187, 381, 9, 9, 9, 197, 9, 145, 197,
> 122, 179, 26, 78, 362, 151, 187, 66, 137, 228,
> 78, 56, 21, 287, 197, 307, 204, 172, 30, 361,
> 138, 90, 26, 90, 189, 16, 78, 78, 111, 78,
> 65, 111, 400, 383, 43, 171, 22, 158, 23, 36,
> 187, 42, 78, 163, 92, 96, 92, 98, 197, 149,
> 6, 172, 24, 86, 119, 165, 85, 188, 189, 85,
> 170, 20, 78, 78, 288, 78, 265, 274, 286, 171,
> 181, 265, 187, 180, 184, 31, 180, 331, 265, 40,
> 197, 132, 204, 34, 26, 90, 86, 109, 13, 226,
> 109, 188, 227, 77, 371, 271, 285, 78, 38, 374,
> 23, 158, 11, 148, 158, 109, 244, 109, 92, 30,
> 98, 150, 9, 78, 24, 131, 11, 78, 28, 180,
> 160, 141, 183, 32, 287, 296, 164, 96, 96, 147,
> 38, 273, 78, 40, 11, 78, 44, 174, 174, 265,
> 54, 109, 33, 34, 42, 9, 9, 9, 34, 9,
> 221, 356, 123, 123, 123, 181, 123, 38, 181, 96,
> 34, 265, 45, 9, 9, 47, 9, 411, 342, 109,
> 123, 123, 63, 63, 78, 288, 42, 337, 48, 286,
> 131, 325, 241, 42, 326, 257, 258, 259, 260, 261,
> 262, 263, 54, 38, 289, 49, 9, 36, 9, 42,
> 9, 244, 50, 55, 174, 123, 22, 285, 51, 36,
> 350, 42, 52, 353, 9, 9, 9, 9, 9, 9,
> 9, 265, 111, 294, 78, 129, 129, 78, 9, 9,
> 9, 20, 113, 113, 111, 113, 123, 123, 111, 289,
> 289, 289, 54, 264, 53, 111, 342, 54, 342, 113,
> 113, 268, 54, 78, 54, 54, 78, 54, 54, 54,
> 54, 154, 154, 54, 154, 187, 187, 111, 111, 9,
> 23, 111, 9, 197, 388, 54, 54, 111, 154, 154,
> 54, 107, 108, 58, 113, 257, 258, 259, 174, 55,
> 257, 258, 259, 260, 289, 289, 40, 257, 258, 259,
> 260, 261, 262, 263, 109, 156, 405, 66, 156, 68,
> 87, 20, 72, 154, 385, 113, 113, 78, 77, 88,
> 38, 289, 156, 156, 90, 289, 92, 109, 40, 97,
> 155, 155, 40, 155, 104, 40, 109, 106, 74, 109,
> 110, 75, 20, 109, 154, 154, 113, 155, 155, 78,
> 115, 385, 38, 117, 289, 264, 76, 156, 257, 258,
> 259, 260, 261, 9, 109, 126, 9, 9, 9, 9,
> 9, 9, 9, 123, 123, 123, 123, 123, 123, 123,
> 257, 258, 155, 111, 44, 94, 9, 9, 156, 156,
> 303, 265, 129, 302, 123, 9, 130, 133, 9, 135,
> 142, 157, 9, 158, 162, 9, 159, 304, 161, 166,
> 265, 9, 123, 155, 155, 167, 161, 161, 123, 161,
> 9, 9, 9, 9, 9, 185, 171, 123, 123, 222,
> 186, 123, 223, 161, 161, 44, 224, 225, 229, 44,
> 257, 258, 259, 260, 261, 262, 263, 37, 38, 39,
> 40, 41, 113, 113, 113, 113, 113, 113, 113, 157,
> 239, 280, 157, 101, 248, 240, 249, 44, 161, 256,
> 150, 272, 270, 113, 275, 284, 157, 157, 297, 281,
> 298, 305, 154, 154, 154, 154, 154, 154, 265, 123,
> 306, 113, 308, 348, 319, 324, 327, 113, 264, 161,
> 161, 329, 154, 333, 344, 266, 113, 265, 140, 345,
> 113, 157, 355, 257, 28, 158, 146, 359, 158, 360,
> 154, 364, 365, 367, 265, 370, 154, 156, 156, 156,
> 156, 156, 158, 158, 369, 154, 20, 72, 342, 154,
> 373, 159, 157, 157, 159, 382, 156, 387, 73, 265,
> 395, 155, 155, 155, 155, 155, 155, 393, 159, 159,
> 397, 399, 409, 74, 156, 410, 75, 158, 44, 160,
> 156, 155, 160, 96, 98, 98, 33, 98, 88, 156,
> 38, 76, 86, 156, 129, 7, 160, 160, 176, 155,
> 349, 125, 98, 159, 98, 155, 130, 243, 158, 158,
> 200, 130, 44, 184, 155, 295, 173, 413, 155, 245,
> 257, 258, 259, 260, 261, 262, 263, 265, 134, 302,
> 279, 160, 105, 156, 159, 159, 406, 172, 98, 257,
> 258, 259, 260, 261, 262, 263, 139, 161, 161, 161,
> 161, 161, 161, 105, 384, 265, 105, 30, 30, 182,
> 347, 412, 160, 160, 265, 377, 98, 161, 352, 116,
> 22, 105, 368, 105, 301, 265, 390, 392, 264, 0,
> 23, 379, 24, 25, 0, 161, 26, 0, 0, 30,
> 0, 161, 157, 157, 157, 157, 265, 264, 0, 0,
> 161, 94, 101, 27, 161, 0, 0, 105, 0, 48,
> 157, 0, 146, 396, 0, 146, 0, 257, 258, 259,
> 260, 261, 262, 263, 0, 0, 48, 46, 157, 146,
> 146, 0, 0, 0, 157, 105, 257, 258, 259, 260,
> 261, 262, 263, 157, 0, 0, 0, 157, 0, 158,
> 158, 158, 0, 257, 258, 259, 260, 261, 262, 263,
> 48, 46, 0, 0, 146, 0, 158, 0, 0, 0,
> 0, 137, 0, 13, 0, 264, 159, 159, 257, 258,
> 259, 260, 261, 262, 158, 0, 139, 0, 48, 46,
> 158, 0, 159, 0, 264, 146, 146, 0, 389, 158,
> 50, 98, 22, 158, 0, 160, 0, 0, 0, 0,
> 159, 264, 23, 0, 24, 25, 159, 0, 26, 0,
> 160, 0, 137, 0, 98, 159, 0, 0, 0, 159,
> 0, 0, 0, 98, 0, 27, 98, 139, 160, 0,
> 98, 0, 0, 0, 160, 0, 257, 258, 259, 260,
> 261, 262, 263, 160, 137, 130, 130, 160, 0, 182,
> 98, 98, 0, 0, 0, 0, 0, 0, 0, 139,
> 105, 0, 0, 0, 257, 258, 259, 260, 261, 262,
> 263, 0, 0, 257, 258, 259, 260, 261, 262, 263,
> 0, 0, 0, 105, 257, 258, 259, 260, 261, 262,
> 263, 0, 105, 0, 264, 105, 0, 0, 0, 105,
> 182, 0, 0, 0, 0, 257, 258, 259, 260, 261,
> 262, 263, 0, 48, 46, 0, 0, 54, 0, 105,
> 105, 206, 264, 54, 54, 0, 0, 54, 0, 54,
> 54, 264, 182, 54, 0, 0, 48, 46, 0, 0,
> 0, 0, 264, 146, 54, 48, 46, 0, 48, 46,
> 54, 0, 48, 46, 54, 54, 54, 54, 0, 0,
> 54, 146, 0, 264, 0, 0, 0, 146, 0, 0,
> 0, 0, 207, 0, 54, 54, 146, 54, 137, 137,
> 137, 137, 137, 137, 137, 137, 137, 137, 137, 0,
> 0, 0, 0, 139, 139, 139, 139, 139, 139, 139,
> 139, 139, 139, 139, 150, 137, 94, 178, 137, 1,
> 0, 137, 2, 3, 4, 5, 6, 0, 137, 0,
> 139, 0, 137, 139, 0, 137, 139, 8, 0, 137,
> 0, 137, 137, 139, 137, 137, 0, 139, 0, 0,
> 139, 0, 0, 0, 139, 0, 139, 139, 0, 139,
> 139, 0, 0, 0, 0, 0, 0, 94, 0, 0,
> 0, 0, 0, 0, 0, 0, 182, 182, 182, 182,
> 182, 182, 182, 182, 182, 182, 182, 206, 250, 29,
> 0, 52, 0, 0, 0, 0, 0, 0, 0, 94,
> 0, 0, 0, 182, 0, 0, 182, 0, 0, 182,
> 0, 336, 338, 340, 0, 0, 182, 0, 0, 0,
> 182, 62, 62, 182, 0, 0, 83, 182, 0, 182,
> 182, 0, 182, 182, 0, 0, 0, 62, 207, 0,
> 0, 0, 0, 0, 0, 206, 0, 0, 187, 20,
> 55, 188, 189, 190, 191, 192, 193, 194, 195, 83,
> 0, 206, 0, 0, 0, 0, 375, 376, 0, 0,
> 150, 0, 0, 0, 0, 196, 0, 0, 197, 0,
> 0, 198, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 199, 391, 0, 200, 207, 394, 253, 201,
> 153, 202, 203, 0, 204, 205, 0, 0, 0, 0,
> 0, 0, 207, 0, 0, 0, 0, 0, 0, 206,
> 0, 0, 0, 0, 54, 54, 408, 0, 150, 153,
> 0, 0, 0, 94, 94, 94, 94, 94, 94, 94,
> 94, 94, 94, 94, 150, 54, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 54, 54, 54, 54, 0,
> 94, 54, 0, 94, 54, 54, 94, 0, 0, 151,
> 207, 0, 151, 94, 0, 0, 54, 94, 54, 0,
> 94, 0, 0, 0, 94, 54, 151, 151, 0, 94,
> 94, 0, 0, 0, 0, 54, 54, 54, 54, 0,
> 0, 54, 150, 0, 187, 20, 55, 188, 189, 190,
> 191, 192, 193, 194, 195, 54, 54, 0, 54, 0,
> 1, 151, 0, 2, 3, 4, 5, 6, 0, 7,
> 0, 196, 0, 0, 197, 0, 0, 198, 8, 0,
> 0, 0, 0, 0, 0, 0, 0, 0, 199, 0,
> 0, 200, 151, 151, 9, 201, 0, 0, 0, 0,
> 204, 205, 187, 20, 55, 188, 189, 190, 191, 192,
> 193, 194, 195, 0, 0, 0, 0, 0, 187, 20,
> 55, 188, 189, 190, 191, 192, 193, 194, 195, 196,
> 0, 0, 197, 0, 0, 198, 0, 0, 143, 0,
> 0, 143, 0, 0, 0, 196, 199, 0, 197, 200,
> 0, 198, 0, 201, 0, 143, 143, 0, 204, 205,
> 0, 0, 199, 0, 0, 200, 0, 0, 0, 201,
> 0, 0, 0, 0, 204, 205, 187, 357, 55, 188,
> 189, 190, 191, 192, 193, 194, 195, 0, 0, 0,
> 143, 0, 0, 148, 0, 144, 148, 147, 144, 0,
> 147, 0, 0, 196, 0, 0, 197, 0, 0, 198,
> 148, 148, 144, 144, 147, 147, 0, 0, 0, 0,
> 199, 143, 143, 200, 0, 0, 0, 201, 0, 0,
> 0, 0, 204, 205, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 0, 148, 0, 144, 0, 147,
> 151, 0, 0, 230, 231, 232, 233, 234, 235, 236,
> 0, 237, 0, 238, 0, 0, 0, 0, 151, 0,
> 251, 254, 0, 0, 151, 22, 148, 148, 144, 144,
> 147, 147, 0, 151, 0, 23, 0, 24, 25, 0,
> 0, 26, 0, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 282, 283, 93, 94, 0, 27, 0,
> 0, 0, 299, 300, 0, 0, 0, 0, 0, 0,
> 0, 309, 310, 311, 312, 313, 314, 315, 316, 317,
> 0, 0, 318, 0, 0, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 328, 0, 0, 0, 332, 0,
1795,1801c1893,1898
< 0, 0, 0, 173, 332, 56, 174, 175, 176, 177,
< 178, 179, 180, 181, 0, 0, 214, 215, 216, 217,
< 218, 219, 220, 0, 221, 0, 222, 0, 0, 0,
< 182, 233, 236, 183, 0, 0, 184, 0, 0, 0,
< 0, 0, 0, 0, 0, 0, 0, 185, 0, 0,
< 186, 0, 0, 0, 187, 0, 0, 0, 0, 0,
< 0, 0, 0, 0, 261, 262, 0, 0, 0, 0,
---
> 0, 346, 0, 0, 0, 0, 351, 0, 0, 0,
> 354, 0, 0, 0, 0, 0, 0, 0, 0, 143,
> 0, 0, 0, 0, 358, 0, 0, 0, 0, 0,
> 0, 0, 0, 0, 366, 0, 0, 143, 0, 0,
> 0, 0, 0, 143, 0, 0, 0, 0, 0, 378,
> 0, 0, 143, 0, 0, 0, 0, 0, 0, 0,
1803,1816c1900,1904
< 286, 287, 288, 289, 290, 291, 292, 293, 294, 0,
< 0, 295, 0, 0, 0, 0, 0, 0, 0, 0,
< 305, 0, 0, 0, 309, 0, 0, 0, 0, 0,
< 0, 0, 0, 0, 0, 0, 0, 323, 0, 0,
< 326, 0, 0, 0, 329, 0, 0, 0, 0, 0,
< 0, 0, 0, 0, 0, 0, 0, 0, 333, 0,
< 0, 0, 0, 0, 0, 0, 0, 0, 341, 0,
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
< 0, 0, 0, 353, 0, 0, 0, 0, 0, 0,
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
< 0, 0, 0, 0, 0, 0, 0, 0, 0, 372,
< 0, 0, 0, 0, 375, 0, 0, 0, 0, 0,
< 0, 0, 0, 0, 0, 381,
---
> 0, 0, 0, 0, 148, 0, 144, 0, 147, 0,
> 0, 0, 0, 0, 0, 0, 0, 398, 0, 0,
> 0, 0, 148, 401, 144, 0, 147, 0, 148, 0,
> 144, 0, 147, 0, 407, 0, 0, 148, 0, 144,
> 0, 147,
1819,1906c1907,1947
< 52, 9, 0, 41, 125, 118, 41, 59, 42, 44,
< 0, 41, 42, 44, 44, 59, 40, 61, 7, 95,
< 93, 41, 40, 31, 32, 61, 78, 44, 58, 40,
< 41, 42, 41, 44, 41, 44, 41, 44, 59, 258,
< 237, 70, 0, 148, 52, 61, 42, 59, 61, 61,
< 59, 59, 59, 59, 41, 61, 108, 15, 16, 59,
< 59, 293, 59, 92, 40, 46, 9, 75, 76, 41,
< 78, 290, 44, 258, 61, 33, 61, 315, 316, 68,
< 88, 61, 58, 315, 93, 198, 93, 123, 59, 32,
< 59, 61, 258, 258, 259, 61, 93, 46, 150, 107,
< 108, 153, 110, 208, 125, 86, 61, 123, 123, 98,
< 123, 123, 40, 40, 311, 228, 125, 123, 125, 316,
< 258, 40, 93, 41, 93, 290, 44, 125, 117, 137,
< 40, 41, 42, 70, 44, 124, 123, 258, 123, 42,
< 58, 59, 150, 123, 107, 153, 0, 59, 58, 59,
< 59, 61, 290, 123, 206, 92, 46, 123, 147, 148,
< 189, 15, 120, 91, 91, 93, 258, 95, 95, 158,
< 15, 61, 91, 40, 137, 93, 95, 123, 95, 33,
< 285, 91, 258, 93, 93, 95, 61, 145, 33, 310,
< 40, 41, 42, 123, 44, 123, 123, 41, 206, 188,
< 44, 123, 254, 95, 123, 257, 124, 125, 58, 59,
< 316, 317, 40, 123, 124, 125, 123, 41, 226, 208,
< 44, 123, 41, 42, 297, 44, 278, 261, 262, 281,
< 59, 261, 262, 263, 264, 265, 266, 267, 227, 125,
< 59, 259, 61, 93, 281, 281, 254, 124, 277, 257,
< 261, 262, 263, 264, 265, 266, 267, 293, 266, 267,
< 268, 41, 42, 41, 44, 261, 262, 263, 281, 272,
< 278, 315, 44, 281, 124, 125, 95, 315, 58, 59,
< 293, 279, 317, 313, 124, 125, 317, 317, 340, 279,
< 314, 289, 259, 291, 292, 315, 285, 295, 315, 289,
< 293, 291, 292, 314, 123, 295, 317, 316, 317, 316,
< 315, 319, 320, 93, 312, 315, 315, 41, 42, 371,
< 44, 125, 312, 293, 125, 41, 42, 293, 44, 337,
< 258, 258, 340, 42, 58, 59, 344, 124, 125, 258,
< 348, 258, 58, 59, 124, 125, 75, 76, 258, 267,
< 125, 261, 262, 263, 264, 265, 266, 267, 261, 262,
< 263, 264, 265, 371, 282, 373, 258, 95, 376, 93,
< 40, 281, 282, 290, 49, 260, 42, 93, 53, 41,
< 290, 125, 300, 293, 41, 42, 294, 297, 306, 64,
< 300, 41, 42, 123, 315, 313, 306, 124, 290, 317,
< 124, 125, 42, 313, 314, 315, 316, 317, 124, 125,
< 125, 261, 262, 263, 264, 265, 266, 267, 59, 59,
< 41, 42, 59, 44, 259, 41, 125, 40, 44, 40,
< 258, 259, 282, 95, 41, 313, 44, 58, 59, 258,
< 270, 125, 58, 59, 310, 125, 260, 125, 41, 58,
< 300, 44, 41, 44, 41, 59, 306, 285, 40, 40,
< 288, 297, 281, 313, 314, 58, 59, 317, 46, 123,
< 58, 290, 93, 41, 293, 303, 44, 93, 297, 58,
< 270, 261, 262, 263, 264, 265, 266, 267, 314, 61,
< 58, 59, 298, 41, 59, 40, 315, 316, 258, 288,
< 93, 260, 282, 124, 125, 258, 42, 258, 124, 125,
< 41, 41, 61, 93, 44, 261, 41, 41, 44, 44,
< 300, 40, 59, 58, 123, 93, 306, 61, 58, 59,
< 258, 124, 125, 313, 59, 317, 61, 317, 262, 263,
< 264, 265, 266, 267, 59, 59, 262, 263, 264, 265,
< 266, 267, 261, 262, 263, 264, 124, 125, 282, 258,
< 259, 41, 290, 93, 125, 93, 282, 58, 44, 297,
< 95, 125, 124, 258, 125, 42, 300, 24, 25, 26,
< 27, 28, 306, 41, 300, 42, 258, 297, 41, 313,
< 306, 290, 59, 317, 124, 125, 258, 313, 123, 42,
< 41, 317, 59, 44, 261, 262, 263, 264, 265, 266,
< 267, 261, 262, 263, 264, 265, 266, 267, 59, 93,
< 61, 261, 262, 263, 264, 265, 266, 267, 290, 61,
< 41, 41, 294, 125, 93, 297, 41, 125, 123, 143,
< 385, 262, 263, 264, 265, 266, 267, 263, 264, 265,
< 266, 267, 227, 72, 95, 124, 189, 42, 100, 44,
< 317, 282, 151, 145, 42, 373, 282, 317, 335, 320,
< 110, 264, 265, 266, 267, 42, 277, 317, 384, 300,
< 345, 59, 123, 279, 300, 306, 342, -1, -1, 282,
< 306, -1, 313, -1, -1, -1, 317, 313, 266, 267,
< -1, 317, -1, -1, -1, 41, -1, 300, 44, -1,
< -1, -1, -1, 306, 282, -1, -1, -1, -1, -1,
< 313, -1, 58, 59, 317, 261, 262, 263, 264, 265,
< 266, 267, 300, 258, -1, 265, 266, 267, 306, 258,
< 259, -1, -1, -1, -1, 313, 282, -1, -1, 317,
< -1, 270, 282, -1, -1, -1, 281, 93, -1, -1,
< 41, -1, 44, 44, 300, 290, 285, -1, 293, 288,
< 300, -1, 297, 42, 125, -1, 306, 58, 59, 61,
< -1, 317, -1, 313, 303, -1, -1, 317, 124, 125,
< 315, 316, -1, -1, 261, 262, 263, 264, 265, 266,
< 267, -1, -1, -1, 261, 262, 263, 264, 265, 266,
< 267, -1, 93, 95, -1, 279, -1, 258, 261, 262,
< 263, 264, 265, 266, 267, 289, -1, 291, 292, 268,
< -1, 295, 271, 272, 273, 274, 275, -1, -1, -1,
< 281, 123, -1, 124, 125, -1, 310, 286, 312, 290,
< 317, 41, 293, -1, 44, -1, 297, -1, -1, -1,
< 317, -1, -1, 306, 40, -1, -1, -1, 58, 59,
< 309, -1, 125, -1, 317, 316, 261, 262, 263, 264,
---
> 51, 9, 41, 0, 59, 41, 42, 58, 0, 41,
> 41, 44, 69, 44, 61, 40, 59, 61, 61, 61,
> 95, 95, 30, 31, 40, 95, 77, 7, 41, 93,
> 83, 44, 41, 40, 41, 42, 41, 44, 44, 44,
> 93, 158, 41, 51, 293, 124, 59, 125, 110, 59,
> 58, 45, 9, 40, 59, 255, 59, 59, 46, 59,
> 111, 59, 61, 61, 59, 258, 74, 75, 317, 77,
> 48, 317, 318, 61, 31, 59, 123, 40, 61, 123,
> 93, 123, 90, 145, 59, 63, 61, 67, 93, 61,
> 61, 93, 61, 52, 88, 58, 41, 59, 93, 44,
> 153, 258, 110, 111, 91, 113, 42, 224, 95, 93,
> 161, 42, 125, 41, 165, 61, 44, 41, 42, 41,
> 125, 101, 125, 258, 123, 123, 85, 41, 125, 180,
> 44, 93, 183, 40, 334, 214, 123, 145, 258, 339,
> 123, 40, 0, 123, 40, 59, 203, 61, 123, 46,
> 130, 123, 123, 161, 123, 290, 14, 165, 14, 58,
> 140, 114, 58, 123, 40, 244, 146, 258, 259, 122,
> 290, 222, 180, 95, 32, 183, 32, 157, 158, 42,
> 258, 95, 59, 258, 258, 40, 41, 42, 258, 44,
> 170, 308, 40, 41, 42, 41, 44, 95, 44, 290,
> 258, 42, 40, 58, 59, 123, 61, 318, 319, 123,
> 58, 59, 124, 125, 222, 91, 290, 93, 123, 95,
> 290, 272, 202, 297, 275, 261, 262, 263, 264, 265,
> 266, 267, 310, 297, 242, 123, 91, 281, 93, 281,
> 95, 298, 123, 259, 224, 93, 293, 123, 61, 293,
> 301, 293, 123, 304, 261, 262, 263, 264, 265, 266,
> 267, 42, 317, 243, 272, 124, 125, 275, 123, 124,
> 125, 258, 41, 42, 317, 44, 124, 125, 317, 287,
> 288, 289, 279, 319, 59, 317, 319, 279, 319, 58,
> 59, 316, 289, 301, 291, 292, 304, 289, 295, 291,
> 292, 41, 42, 295, 44, 318, 319, 317, 317, 316,
> 293, 317, 319, 318, 365, 312, 125, 317, 58, 59,
> 312, 74, 75, 281, 93, 261, 262, 263, 308, 259,
> 261, 262, 263, 264, 342, 343, 258, 261, 262, 263,
> 264, 265, 266, 267, 258, 41, 397, 124, 44, 272,
> 41, 258, 259, 93, 362, 124, 125, 365, 40, 44,
> 258, 369, 58, 59, 293, 373, 125, 281, 290, 125,
> 41, 42, 294, 44, 125, 297, 290, 260, 285, 293,
> 40, 288, 258, 297, 124, 125, 42, 58, 59, 397,
> 125, 399, 290, 294, 402, 319, 303, 93, 261, 262,
> 263, 264, 265, 258, 318, 123, 261, 262, 263, 264,
1908,1968c1949,2009
< 41, -1, -1, 44, 261, 262, 263, 264, 265, 266,
< 267, 41, -1, 93, 44, -1, 41, 58, 59, 44,
< -1, -1, -1, -1, -1, 91, -1, -1, 58, 59,
< -1, -1, -1, 58, 59, -1, -1, -1, 279, -1,
< -1, -1, 317, -1, 124, 125, -1, -1, 289, 317,
< 291, 292, 93, -1, 295, -1, 282, 123, 124, 125,
< 317, -1, -1, 93, -1, 279, -1, -1, 93, -1,
< -1, 312, 40, -1, 300, 289, -1, 291, 292, -1,
< 306, 295, -1, 124, 125, -1, 258, 313, 40, -1,
< -1, -1, -1, -1, 124, 125, -1, -1, 312, 124,
< 125, -1, 261, 262, 263, 264, 265, 266, -1, 281,
< -1, 282, -1, -1, -1, 258, 259, -1, 290, -1,
< -1, 293, -1, 91, -1, 297, -1, -1, 61, 300,
< 266, 267, 268, -1, -1, 306, 279, -1, -1, 91,
< -1, -1, 313, -1, -1, -1, 289, 290, 291, 292,
< -1, -1, 295, 40, -1, 123, -1, -1, -1, -1,
< -1, -1, 95, -1, -1, 40, 41, 310, -1, 312,
< -1, 123, -1, -1, -1, -1, -1, -1, -1, -1,
< -1, -1, -1, 319, 320, -1, -1, -1, -1, -1,
< 123, 257, 258, 259, 260, 261, 262, 263, 264, 265,
< 266, 267, 282, -1, 91, -1, -1, -1, 344, -1,
< -1, -1, 348, -1, -1, -1, 91, -1, 284, -1,
< 300, 287, -1, -1, 290, -1, 306, -1, -1, -1,
< -1, 297, -1, 313, -1, 301, 123, -1, 304, -1,
< 376, 282, 308, -1, 310, 311, -1, -1, 123, -1,
< -1, 40, 282, -1, -1, -1, -1, 282, -1, 300,
< -1, -1, -1, -1, -1, 306, -1, 40, 41, -1,
< 300, -1, 313, -1, -1, 300, 306, -1, -1, -1,
< -1, 306, -1, 313, -1, -1, -1, -1, 313, 257,
< 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
< -1, -1, 91, -1, 93, 257, 258, 259, 260, 261,
< 262, 263, 264, 265, 266, 267, 284, -1, 91, 287,
< -1, -1, 290, -1, -1, 258, -1, -1, -1, 297,
< 40, -1, 284, 301, 123, 287, 304, -1, 290, -1,
< 308, -1, 310, 311, -1, 297, -1, -1, 281, 301,
< 123, -1, 304, -1, -1, -1, 308, 290, 310, 311,
< 293, -1, -1, -1, 297, -1, -1, -1, -1, -1,
< 257, 258, 259, 260, 261, 262, 263, 264, 265, 266,
< 267, 91, 257, 258, 259, 260, 261, 262, 263, 264,
< 265, 266, 267, -1, -1, -1, 40, 284, -1, -1,
< 287, -1, -1, 290, 258, 259, -1, -1, -1, 284,
< -1, -1, 287, 123, 301, 290, -1, 304, -1, -1,
< -1, 308, 297, 310, 311, 279, 301, -1, -1, 304,
< -1, -1, -1, 308, -1, 289, 290, 291, 292, -1,
< -1, 295, -1, -1, -1, -1, -1, 91, -1, -1,
< -1, -1, -1, -1, -1, -1, 310, -1, 312, -1,
< -1, -1, -1, -1, -1, -1, -1, -1, 257, 258,
< 259, 260, 261, 262, 263, 264, 265, 266, 267, 123,
< -1, -1, -1, -1, 257, 258, 259, 260, 261, 262,
< 263, 264, 265, 266, 267, 284, -1, -1, 287, -1,
< 268, 290, -1, 271, 272, 273, 274, 275, -1, 277,
< -1, 284, 301, -1, 287, 304, -1, 290, 286, 308,
< -1, -1, -1, -1, -1, -1, -1, -1, 301, -1,
< -1, 304, -1, -1, 302, 308, -1, -1, -1, -1,
< -1, 309, -1, -1, -1, -1, -1, 257, 258, 259,
< 260, 261, 262, 263, 264, 265, 266, 267, -1, -1,
< -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
< -1, -1, -1, -1, 284, -1, -1, 287, -1, -1,
< 290, -1, -1, -1, -1, -1, -1, -1, -1, -1,
< -1, 301, -1, -1, 304, -1, -1, -1, 308, -1,
< -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
---
> 261, 262, 93, 317, 40, 310, 281, 282, 124, 125,
> 41, 42, 125, 44, 282, 290, 124, 59, 293, 59,
> 259, 40, 297, 40, 44, 300, 41, 58, 315, 270,
> 42, 306, 300, 124, 125, 125, 41, 42, 306, 44,
> 315, 316, 317, 318, 319, 260, 125, 315, 316, 58,
> 125, 319, 41, 58, 59, 91, 44, 41, 59, 95,
> 261, 262, 263, 264, 265, 266, 267, 23, 24, 25,
> 26, 27, 261, 262, 263, 264, 265, 266, 267, 41,
> 40, 282, 44, 69, 123, 40, 123, 123, 93, 297,
> 123, 58, 46, 282, 58, 316, 58, 59, 61, 300,
> 298, 41, 262, 263, 264, 265, 266, 267, 42, 95,
> 59, 300, 40, 125, 288, 258, 270, 306, 319, 124,
> 125, 258, 282, 258, 41, 59, 315, 42, 114, 61,
> 319, 93, 93, 261, 125, 41, 122, 41, 44, 44,
> 300, 260, 58, 123, 42, 59, 306, 263, 264, 265,
> 266, 267, 58, 59, 61, 315, 258, 259, 319, 319,
> 59, 41, 124, 125, 44, 41, 282, 59, 270, 42,
> 93, 262, 263, 264, 265, 266, 267, 125, 58, 59,
> 58, 44, 125, 285, 300, 124, 288, 93, 258, 41,
> 306, 282, 44, 258, 41, 42, 125, 44, 41, 315,
> 297, 303, 41, 319, 93, 61, 58, 59, 41, 300,
> 125, 41, 59, 93, 61, 306, 125, 203, 124, 125,
> 41, 93, 258, 125, 315, 243, 123, 411, 319, 203,
> 261, 262, 263, 264, 265, 266, 267, 42, 103, 44,
> 227, 93, 71, 130, 124, 125, 399, 155, 95, 261,
> 262, 263, 264, 265, 266, 267, 113, 262, 263, 264,
> 265, 266, 267, 41, 360, 42, 44, 258, 259, 162,
> 298, 410, 124, 125, 42, 343, 123, 282, 302, 85,
> 279, 59, 59, 61, 315, 42, 367, 370, 319, -1,
> 289, 59, 291, 292, -1, 300, 295, -1, -1, 290,
> -1, 306, 264, 265, 266, 267, 42, 319, -1, -1,
> 315, 310, 298, 312, 319, -1, -1, 95, -1, 44,
> 282, -1, 41, 59, -1, 44, -1, 261, 262, 263,
> 264, 265, 266, 267, -1, -1, 61, 61, 300, 58,
> 59, -1, -1, -1, 306, 123, 261, 262, 263, 264,
> 265, 266, 267, 315, -1, -1, -1, 319, -1, 265,
> 266, 267, -1, 261, 262, 263, 264, 265, 266, 267,
> 95, 95, -1, -1, 93, -1, 282, -1, -1, -1,
> -1, 40, -1, 125, -1, 319, 266, 267, 261, 262,
> 263, 264, 265, 266, 300, -1, 40, -1, 123, 123,
> 306, -1, 282, -1, 319, 124, 125, -1, 306, 315,
> 125, 258, 279, 319, -1, 267, -1, -1, -1, -1,
> 300, 319, 289, -1, 291, 292, 306, -1, 295, -1,
> 282, -1, 91, -1, 281, 315, -1, -1, -1, 319,
> -1, -1, -1, 290, -1, 312, 293, 91, 300, -1,
> 297, -1, -1, -1, 306, -1, 261, 262, 263, 264,
> 265, 266, 267, 315, 123, 124, 125, 319, -1, 40,
> 317, 318, -1, -1, -1, -1, -1, -1, -1, 123,
> 258, -1, -1, -1, 261, 262, 263, 264, 265, 266,
> 267, -1, -1, 261, 262, 263, 264, 265, 266, 267,
> -1, -1, -1, 281, 261, 262, 263, 264, 265, 266,
> 267, -1, 290, -1, 319, 293, -1, -1, -1, 297,
> 91, -1, -1, -1, -1, 261, 262, 263, 264, 265,
> 266, 267, -1, 258, 258, -1, -1, 279, -1, 317,
> 318, 40, 319, 258, 259, -1, -1, 289, -1, 291,
> 292, 319, 123, 295, -1, -1, 281, 281, -1, -1,
> -1, -1, 319, 282, 279, 290, 290, -1, 293, 293,
> 312, -1, 297, 297, 289, 290, 291, 292, -1, -1,
> 295, 300, -1, 319, -1, -1, -1, 306, -1, -1,
> -1, -1, 91, -1, 309, 310, 315, 312, 257, 258,
> 259, 260, 261, 262, 263, 264, 265, 266, 267, -1,
1970,1985c2011,2070
< 264, 265, 266, 267, -1, -1, 175, 176, 177, 178,
< 179, 180, 181, -1, 183, -1, 185, -1, -1, -1,
< 284, 190, 191, 287, -1, -1, 290, -1, -1, -1,
< -1, -1, -1, -1, -1, -1, -1, 301, -1, -1,
< 304, -1, -1, -1, 308, -1, -1, -1, -1, -1,
< -1, -1, -1, -1, 223, 224, -1, -1, -1, -1,
< -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
< 239, 240, 241, 242, 243, 244, 245, 246, 247, -1,
< -1, 250, -1, -1, -1, -1, -1, -1, -1, -1,
< 259, -1, -1, -1, 263, -1, -1, -1, -1, -1,
< -1, -1, -1, -1, -1, -1, -1, 276, -1, -1,
< 279, -1, -1, -1, 283, -1, -1, -1, -1, -1,
< -1, -1, -1, -1, -1, -1, -1, -1, 297, -1,
< -1, -1, -1, -1, -1, -1, -1, -1, 307, -1,
< -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
< -1, -1, -1, 322, -1, -1, -1, -1, -1, -1,
---
> 264, 265, 266, 267, 123, 284, 40, 41, 287, 268,
> -1, 290, 271, 272, 273, 274, 275, -1, 297, -1,
> 284, -1, 301, 287, -1, 304, 290, 286, -1, 308,
> -1, 310, 311, 297, 313, 314, -1, 301, -1, -1,
> 304, -1, -1, -1, 308, -1, 310, 311, -1, 313,
> 314, -1, -1, -1, -1, -1, -1, 91, -1, -1,
> -1, -1, -1, -1, -1, -1, 257, 258, 259, 260,
> 261, 262, 263, 264, 265, 266, 267, 40, 41, 15,
> -1, 125, -1, -1, -1, -1, -1, -1, -1, 123,
> -1, -1, -1, 284, -1, -1, 287, -1, -1, 290,
> -1, 287, 288, 289, -1, -1, 297, -1, -1, -1,
> 301, 47, 48, 304, -1, -1, 52, 308, -1, 310,
> 311, -1, 313, 314, -1, -1, -1, 63, 91, -1,
> -1, -1, -1, -1, -1, 40, -1, -1, 257, 258,
> 259, 260, 261, 262, 263, 264, 265, 266, 267, 85,
> -1, 40, -1, -1, -1, -1, 342, 343, -1, -1,
> 123, -1, -1, -1, -1, 284, -1, -1, 287, -1,
> -1, 290, -1, -1, -1, -1, -1, -1, -1, -1,
> -1, -1, 301, 369, -1, 304, 91, 373, 93, 308,
> 126, 310, 311, -1, 313, 314, -1, -1, -1, -1,
> -1, -1, 91, -1, -1, -1, -1, -1, -1, 40,
> -1, -1, -1, -1, 258, 259, 402, -1, 123, 155,
> -1, -1, -1, 257, 258, 259, 260, 261, 262, 263,
> 264, 265, 266, 267, 123, 279, -1, -1, -1, -1,
> -1, -1, -1, -1, -1, 289, 290, 291, 292, -1,
> 284, 295, -1, 287, 258, 259, 290, -1, -1, 41,
> 91, -1, 44, 297, -1, -1, 310, 301, 312, -1,
> 304, -1, -1, -1, 308, 279, 58, 59, -1, 313,
> 314, -1, -1, -1, -1, 289, 290, 291, 292, -1,
> -1, 295, 123, -1, 257, 258, 259, 260, 261, 262,
> 263, 264, 265, 266, 267, 309, 310, -1, 312, -1,
> 268, 93, -1, 271, 272, 273, 274, 275, -1, 277,
> -1, 284, -1, -1, 287, -1, -1, 290, 286, -1,
> -1, -1, -1, -1, -1, -1, -1, -1, 301, -1,
> -1, 304, 124, 125, 302, 308, -1, -1, -1, -1,
> 313, 314, 257, 258, 259, 260, 261, 262, 263, 264,
> 265, 266, 267, -1, -1, -1, -1, -1, 257, 258,
> 259, 260, 261, 262, 263, 264, 265, 266, 267, 284,
> -1, -1, 287, -1, -1, 290, -1, -1, 41, -1,
> -1, 44, -1, -1, -1, 284, 301, -1, 287, 304,
> -1, 290, -1, 308, -1, 58, 59, -1, 313, 314,
> -1, -1, 301, -1, -1, 304, -1, -1, -1, 308,
> -1, -1, -1, -1, 313, 314, 257, 258, 259, 260,
> 261, 262, 263, 264, 265, 266, 267, -1, -1, -1,
> 93, -1, -1, 41, -1, 41, 44, 41, 44, -1,
> 44, -1, -1, 284, -1, -1, 287, -1, -1, 290,
> 58, 59, 58, 59, 58, 59, -1, -1, -1, -1,
> 301, 124, 125, 304, -1, -1, -1, 308, -1, -1,
> -1, -1, 313, 314, -1, -1, -1, -1, -1, -1,
> -1, -1, -1, -1, -1, 93, -1, 93, -1, 93,
> 282, -1, -1, 189, 190, 191, 192, 193, 194, 195,
> -1, 197, -1, 199, -1, -1, -1, -1, 300, -1,
> 206, 207, -1, -1, 306, 279, 124, 125, 124, 125,
> 124, 125, -1, 315, -1, 289, -1, 291, 292, -1,
> -1, 295, -1, -1, -1, -1, -1, -1, -1, -1,
> -1, -1, -1, 239, 240, 309, 310, -1, 312, -1,
> -1, -1, 248, 249, -1, -1, -1, -1, -1, -1,
> -1, 257, 258, 259, 260, 261, 262, 263, 264, 265,
> -1, -1, 268, -1, -1, -1, -1, -1, -1, -1,
> -1, -1, -1, -1, 280, -1, -1, -1, 284, -1,
1986a2072,2077
> -1, 297, -1, -1, -1, -1, 302, -1, -1, -1,
> 306, -1, -1, -1, -1, -1, -1, -1, -1, 282,
> -1, -1, -1, -1, 320, -1, -1, -1, -1, -1,
> -1, -1, -1, -1, 330, -1, -1, 300, -1, -1,
> -1, -1, -1, 306, -1, -1, -1, -1, -1, 345,
> -1, -1, 315, -1, -1, -1, -1, -1, -1, -1,
1988,1990c2079,2083
< -1, -1, -1, -1, -1, -1, -1, -1, -1, 358,
< -1, -1, -1, -1, 363, -1, -1, -1, -1, -1,
< -1, -1, -1, -1, -1, 374,
---
> -1, -1, -1, -1, 282, -1, 282, -1, 282, -1,
> -1, -1, -1, -1, -1, -1, -1, 383, -1, -1,
> -1, -1, 300, 389, 300, -1, 300, -1, 306, -1,
> 306, -1, 306, -1, 400, -1, -1, 315, -1, 315,
> -1, 315,
1993c2086
< #line 809 "parser.jay"
---
> #line 863 "parser.jay"
2129,2135c2222,2230
< public const int COLON_MORE = 313;
< public const int LESS_MINUS = 314;
< public const int MINUS_MORE = 315;
< public const int EQ_MORE = 316;
< public const int COLON_COLON = 317;
< public const int ERROR = 318;
< public const int UNARY = 319;
---
> public const int KW_ENSURE = 313;
> public const int KW_REQUIRE = 314;
> public const int COLON_MORE = 315;
> public const int LESS_MINUS = 316;
> public const int MINUS_MORE = 317;
> public const int EQ_MORE = 318;
> public const int COLON_COLON = 319;
> public const int ERROR = 320;
> public const int UNARY = 321;
diff -r nemerle-420/ncc/parser.jay nemerle/ncc/parser.jay
183a184
> %token KW_ENSURE KW_REQUIRE
223c224
< %type <list> comma_sep_patterns comma_sep_exprs list_exprs list_patterns
---
> %type <list> comma_sep_patterns comma_sep_exprs module_members list_exprs list_patterns
310c311
< | attrs KW_MODULE type_header '{' type_members '}'
---
> | attrs KW_MODULE type_header '{' module_members '}'
312c313
< $$ = new Type_decl.TD_module($5);
---
> $$ = new Type_decl.TD_class($5);
423a425,428
> module_members:
> /* */ { $$ = nil(); }
> | module_member module_members { $$ = cons($1, $2); }
>
436d440
< | KW_STATIC { $$ = new Modifier.Mod_static(); }
453c457
< $$ = new Class_member.M_field($5, $2, new Val_kind.Val_normal());
---
> $$ = new Class_member.M_field($5, $2);
475c479
< attrs maybe_mutable ftyparms located_id ':' ty maybe_extern
---
> attrs maybe_mutable ftyparms located_id ':' ty ';'
479c483
< $$ = new Class_member.M_field($6, $2, $7);
---
> $$ = new Class_member.M_field($6, $2);
481a486,492
> | attrs KW_STATIC maybe_mutable ftyparms located_id ':' ty maybe_extern
> {
> if (!is_empty_typarms($4))
> Message.error($5.loc, "static fields cannot have type parameters");
> $$ = new Class_member.M_value($7, $3, $8);
> fixup_decl($$, $1, $5);
> }
488a500,537
> | attrs KW_STATIC maybe_mutable fun_def
> {
> if ($3)
> Message.error($4.loc, "static methods cannot have 'ref' attribute");
> $4.modifiers = $1;
> if ($4.kind is Fun_kind.FK_ctor)
> $4.kind = new Fun_kind.FK_static_ctor();
> else if ($4.kind is Fun_kind.FK_method) {
> if (!(((Fun_kind.FK_method)$4.kind).f_implements is list.Nil))
> Message.error($4.loc, "functions cannot implement anything");
> $4.kind = new Fun_kind.FK_function();
> }
> $$ = $4;
> }
> | type_as_type_member
>
> module_member:
> attrs maybe_mutable ftyparms located_id ':' ty maybe_extern
> {
> if (!is_empty_typarms($3))
> Message.error($4.loc, "static fields cannot have type parameters");
> $$ = new Class_member.M_value($6, $2, $7);
> fixup_decl($$, $1, $4);
> }
> | attrs maybe_mutable fun_def
> {
> if ($2)
> Message.error($3.loc, "static methods cannot have 'ref' attribute");
> $3.modifiers = $1;
> if ($3.kind is Fun_kind.FK_ctor)
> $3.kind = new Fun_kind.FK_static_ctor();
> else if ($3.kind is Fun_kind.FK_method) {
> if (!(((Fun_kind.FK_method)$3.kind).f_implements is list.Nil))
> Message.error($3.loc, "functions cannot implement anything");
> $3.kind = new Fun_kind.FK_function();
> }
> $$ = $3;
> }
511c560
< h.ret_type = new Type.T_void();
---
> h.ret_type = new Nemerle.Compiler.Parsetree.Type.T_void();
572,574c621,623
< qid { $$ = new Type.T_app($1, nil()); }
< | qid '(' comma_sep_types ')' { $$ = new Type.T_app($1, $3); }
< | TYVAR { $$ = new Type.T_var($1); }
---
> qid { $$ = new Nemerle.Compiler.Parsetree.Type.T_app($1, nil()); }
> | qid '(' comma_sep_types ')' { $$ = new Nemerle.Compiler.Parsetree.Type.T_app($1, $3); }
> | TYVAR { $$ = new Nemerle.Compiler.Parsetree.Type.T_var($1); }
576,578c625,627
< | KW_VOID { $$ = new Type.T_void(); }
< | KW_REF prim_ty { $$ = new Type.T_ref($2); }
< | KW_OUT prim_ty { $$ = new Type.T_out($2); }
---
> | KW_VOID { $$ = new Nemerle.Compiler.Parsetree.Type.T_void(); }
> | KW_REF prim_ty { $$ = new Nemerle.Compiler.Parsetree.Type.T_ref($2); }
> | KW_OUT prim_ty { $$ = new Nemerle.Compiler.Parsetree.Type.T_out($2); }
591c640
< $$ = new Type.T_prod(c);
---
> $$ = new Nemerle.Compiler.Parsetree.Type.T_prod(c);
596c645
< | ty MINUS_MORE ty { $$ = new Type.T_fun($1, $3); }
---
> | ty MINUS_MORE ty { $$ = new Nemerle.Compiler.Parsetree.Type.T_fun($1, $3); }
684a734,738
> | KW_REQUIRE '{' expr '}'
> { $$ = new Expr.E_require($3); }
> | KW_ENSURE '{' expr '}'
> { $$ = new Expr.E_ensure($3); }
>
diff -r nemerle-420/ncc/parsetree.n nemerle/ncc/parsetree.n
81,82c81
< | TD_class { decls : list (Class_member); }
< | TD_module { decls : list (Class_member); }
---
> | TD_class { mutable decls : list (Class_member); }
87c86
< | TD_variant_option { decls : list (Class_member); }
---
> | TD_variant_option { mutable decls : list (Class_member); }
93c92,93
< | M_field { ty : Type; is_ref : bool; kind : Val_kind; }
---
> | M_value { ty : Type; is_ref : bool; kind : Val_kind; }
> | M_field { ty : Type; is_ref : bool; }
189a190,191
> | E_require { assertions : Expr; }
> | E_ensure { assertions : Expr; }
More information about the devel-pl
mailing list