Changeset 22501
- Timestamp:
- 10/04/08 03:05:21 (7 weeks ago)
- Location:
- misc/elf
- Files:
-
- 5 modified
-
elf_h (modified) (106 diffs)
-
elf_h_src/Compiler.pm (modified) (1 diff)
-
elf_h_src/EmitSimpleP5.pm (modified) (4 diffs)
-
elf_h_src/IRx1_Nodes.pm (modified) (2 diffs)
-
elf_h_src/IRx1_nodes_create.pl (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
misc/elf/elf_h
r22467 r22501 282 282 sub file_exists{-e $_[0]} 283 283 sub system{CORE::system(@_)} 284 sub eval_ perl5{284 sub eval_runtime_code{ 285 285 my($p5,$env)=@_; 286 286 if($env) { $env->($p5) } … … 408 408 409 409 { package Bit; 410 use base "Any";BEGIN{ push(@Bit::ISA,'Any');}410 use base "Any";BEGIN{unshift(@Bit::ISA,'Any');} 411 411 (do{}) 412 412 } … … 414 414 415 415 { package Int; 416 use base "Any";BEGIN{ push(@Int::ISA,'Any');}416 use base "Any";BEGIN{unshift(@Int::ISA,'Any');} 417 417 (do{}) 418 418 } … … 420 420 421 421 { package Str; 422 use base "Any";BEGIN{ push(@Str::ISA,'Any');}422 use base "Any";BEGIN{unshift(@Str::ISA,'Any');} 423 423 (do{}) 424 424 } … … 426 426 427 427 { package Num; 428 use base "Any";BEGIN{ push(@Num::ISA,'Any');}428 use base "Any";BEGIN{unshift(@Num::ISA,'Any');} 429 429 (do{}) 430 430 } … … 432 432 433 433 { package Complex; 434 use base "Any";BEGIN{ push(@Complex::ISA,'Any');}434 use base "Any";BEGIN{unshift(@Complex::ISA,'Any');} 435 435 (do{}) 436 436 } … … 438 438 439 439 { package Bool; 440 use base "Any";BEGIN{ push(@Bool::ISA,'Any');}440 use base "Any";BEGIN{unshift(@Bool::ISA,'Any');} 441 441 (do{}) 442 442 } … … 444 444 445 445 { package Code; 446 use base "Any";BEGIN{ push(@Code::ISA,'Any');}446 use base "Any";BEGIN{unshift(@Code::ISA,'Any');} 447 447 (do{}) 448 448 } … … 450 450 451 451 { package Block; 452 use base "Any";BEGIN{ push(@Block::ISA,'Code');}452 use base "Any";BEGIN{unshift(@Block::ISA,'Code');} 453 453 (do{}) 454 454 } … … 456 456 457 457 { package List; 458 use base "Any";BEGIN{ push(@List::ISA,'Any');}458 use base "Any";BEGIN{unshift(@List::ISA,'Any');} 459 459 (do{}) 460 460 } … … 462 462 463 463 { package Seq; 464 use base "Any";BEGIN{ push(@Seq::ISA,'Any');}464 use base "Any";BEGIN{unshift(@Seq::ISA,'Any');} 465 465 (do{}) 466 466 } … … 468 468 469 469 { package Range; 470 use base "Any";BEGIN{ push(@Range::ISA,'Any');}470 use base "Any";BEGIN{unshift(@Range::ISA,'Any');} 471 471 (do{}) 472 472 } … … 474 474 475 475 { package Set; 476 use base "Any";BEGIN{ push(@Set::ISA,'Any');}476 use base "Any";BEGIN{unshift(@Set::ISA,'Any');} 477 477 (do{}) 478 478 } … … 480 480 481 481 { package Bag; 482 use base "Any";BEGIN{ push(@Bag::ISA,'Any');}482 use base "Any";BEGIN{unshift(@Bag::ISA,'Any');} 483 483 (do{}) 484 484 } … … 486 486 487 487 { package Junction; 488 BEGIN{ push(@Junction::ISA,'Object');}488 BEGIN{unshift(@Junction::ISA,'Object');} 489 489 (do{}) 490 490 } … … 492 492 493 493 { package Pair; 494 use base "Any";BEGIN{ push(@Pair::ISA,'Any');}494 use base "Any";BEGIN{unshift(@Pair::ISA,'Any');} 495 495 (do{}) 496 496 } … … 498 498 499 499 { package Mapping; 500 use base "Any";BEGIN{ push(@Mapping::ISA,'Any');}500 use base "Any";BEGIN{unshift(@Mapping::ISA,'Any');} 501 501 (do{}) 502 502 } … … 504 504 505 505 { package Signature; 506 use base "Any";BEGIN{ push(@Signature::ISA,'Any');}506 use base "Any";BEGIN{unshift(@Signature::ISA,'Any');} 507 507 (do{}) 508 508 } … … 510 510 511 511 { package Capture; 512 use base "Any";BEGIN{ push(@Capture::ISA,'Any');}512 use base "Any";BEGIN{unshift(@Capture::ISA,'Any');} 513 513 (do{}) 514 514 } … … 516 516 517 517 { package Blob; 518 use base "Any";BEGIN{ push(@Blob::ISA,'Any');}518 use base "Any";BEGIN{unshift(@Blob::ISA,'Any');} 519 519 (do{}) 520 520 } … … 522 522 523 523 { package Scalar; 524 use base "Any";BEGIN{ push(@Scalar::ISA,'Any');}524 use base "Any";BEGIN{unshift(@Scalar::ISA,'Any');} 525 525 (do{}) 526 526 } … … 528 528 529 529 { package Array; 530 use base "Any";BEGIN{ push(@Array::ISA,'List');}530 use base "Any";BEGIN{unshift(@Array::ISA,'List');} 531 531 (do{}) 532 532 } … … 534 534 535 535 { package Hash; 536 use base "Any";BEGIN{ push(@Hash::ISA,'Any');}536 use base "Any";BEGIN{unshift(@Hash::ISA,'Any');} 537 537 (do{}) 538 538 } … … 540 540 541 541 { package KeyHash; 542 use base "Any";BEGIN{ push(@KeyHash::ISA,'Any');}542 use base "Any";BEGIN{unshift(@KeyHash::ISA,'Any');} 543 543 (do{}) 544 544 } … … 546 546 547 547 { package KeySet; 548 use base "Any";BEGIN{ push(@KeySet::ISA,'Any');}548 use base "Any";BEGIN{unshift(@KeySet::ISA,'Any');} 549 549 (do{}) 550 550 } … … 552 552 553 553 { package KeyBag; 554 use base "Any";BEGIN{ push(@KeyBag::ISA,'Any');}554 use base "Any";BEGIN{unshift(@KeyBag::ISA,'Any');} 555 555 (do{}) 556 556 } … … 558 558 559 559 { package Buf; 560 use base "Any";BEGIN{ push(@Buf::ISA,'Any');}560 use base "Any";BEGIN{unshift(@Buf::ISA,'Any');} 561 561 (do{}) 562 562 } … … 564 564 565 565 { package IO; 566 use base "Any";BEGIN{ push(@IO::ISA,'Any');}566 use base "Any";BEGIN{unshift(@IO::ISA,'Any');} 567 567 (do{}) 568 568 } … … 570 570 571 571 { package Routine; 572 use base "Any";BEGIN{ push(@Routine::ISA,'Code');}572 use base "Any";BEGIN{unshift(@Routine::ISA,'Code');} 573 573 (do{}) 574 574 } … … 576 576 577 577 { package Sub; 578 use base "Any";BEGIN{ push(@Sub::ISA,'Routine');}578 use base "Any";BEGIN{unshift(@Sub::ISA,'Routine');} 579 579 (do{}) 580 580 } … … 582 582 583 583 { package Method; 584 use base "Any";BEGIN{ push(@Method::ISA,'Routine');}584 use base "Any";BEGIN{unshift(@Method::ISA,'Routine');} 585 585 (do{}) 586 586 } … … 588 588 589 589 { package Subethod; 590 use base "Any";BEGIN{ push(@Subethod::ISA,'Routine');}590 use base "Any";BEGIN{unshift(@Subethod::ISA,'Routine');} 591 591 (do{}) 592 592 } … … 594 594 595 595 { package Macro; 596 use base "Any";BEGIN{ push(@Macro::ISA,'Routine');}596 use base "Any";BEGIN{unshift(@Macro::ISA,'Routine');} 597 597 (do{}) 598 598 } … … 600 600 601 601 { package Regex; 602 use base "Any";BEGIN{ push(@Regex::ISA,'Routine');}602 use base "Any";BEGIN{unshift(@Regex::ISA,'Routine');} 603 603 (do{}) 604 604 } … … 606 606 607 607 { package Match; 608 use base "Any";BEGIN{ push(@Match::ISA,'Any');}608 use base "Any";BEGIN{unshift(@Match::ISA,'Any');} 609 609 (do{}) 610 610 } … … 612 612 613 613 { package Package; 614 use base "Any";BEGIN{ push(@Package::ISA,'Any');}614 use base "Any";BEGIN{unshift(@Package::ISA,'Any');} 615 615 (do{}) 616 616 } … … 618 618 619 619 { package Module; 620 use base "Any";BEGIN{ push(@Module::ISA,'Package');}620 use base "Any";BEGIN{unshift(@Module::ISA,'Package');} 621 621 (do{}) 622 622 } … … 624 624 625 625 { package Class; 626 use base "Any";BEGIN{ push(@Class::ISA,'Module');}626 use base "Any";BEGIN{unshift(@Class::ISA,'Module');} 627 627 (do{}) 628 628 } … … 630 630 631 631 { package Role; 632 use base "Any";BEGIN{ push(@Role::ISA,'Module');}632 use base "Any";BEGIN{unshift(@Role::ISA,'Module');} 633 633 (do{}) 634 634 } … … 636 636 637 637 { package Grammar; 638 use base "Any";BEGIN{ push(@Grammar::ISA,'Module');}638 use base "Any";BEGIN{unshift(@Grammar::ISA,'Module');} 639 639 (do{}) 640 640 } … … 642 642 643 643 { package Any; 644 BEGIN{ push(@Any::ISA,'Object');}644 BEGIN{unshift(@Any::ISA,'Object');} 645 645 (do{}) 646 646 } … … 877 877 ; 878 878 879 { package IRx1::CompUnit_and_Block;880 use base "Any";(do{})881 }882 ;883 884 879 { package IRx1::CompUnit; 885 use base "Any";BEGIN{push(@IRx1::CompUnit::ISA,'IRx1::CompUnit_and_Block');} 886 (do{}) 887 } 888 ; 889 890 { package IRx1::Block; 891 use base "Any";BEGIN{push(@IRx1::Block::ISA,'IRx1::CompUnit_and_Block');} 892 (do{}) 893 } 894 ; 895 896 { package IRx1::CompUnit; 897 use base "Any";BEGIN{push(@IRx1::CompUnit::ISA,'IRx1::Base');} 880 use base "Any";BEGIN{unshift(@IRx1::CompUnit::ISA,'IRx1::Base');} 898 881 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 899 882 sub statements { if(@_==2){$_[0]{'statements'}=$_[1]}else{$_[0]{'statements'}}}; … … 912 895 913 896 { package IRx1::Block; 914 use base "Any";BEGIN{ push(@IRx1::Block::ISA,'IRx1::Base');}897 use base "Any";BEGIN{unshift(@IRx1::Block::ISA,'IRx1::Base');} 915 898 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 916 899 sub statements { if(@_==2){$_[0]{'statements'}=$_[1]}else{$_[0]{'statements'}}}; … … 928 911 929 912 { package IRx1::Use; 930 use base "Any";BEGIN{ push(@IRx1::Use::ISA,'IRx1::Base');}913 use base "Any";BEGIN{unshift(@IRx1::Use::ISA,'IRx1::Base');} 931 914 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 932 915 sub kind { if(@_==2){$_[0]{'kind'}=$_[1]}else{$_[0]{'kind'}}}; … … 946 929 947 930 { package IRx1::PackageDecl; 948 use base "Any";BEGIN{ push(@IRx1::PackageDecl::ISA,'IRx1::Base');}931 use base "Any";BEGIN{unshift(@IRx1::PackageDecl::ISA,'IRx1::Base');} 949 932 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 950 933 sub scope { if(@_==2){$_[0]{'scope'}=$_[1]}else{$_[0]{'scope'}}}; … … 967 950 968 951 { package IRx1::MethodDecl; 969 use base "Any";BEGIN{ push(@IRx1::MethodDecl::ISA,'IRx1::Base');}952 use base "Any";BEGIN{unshift(@IRx1::MethodDecl::ISA,'IRx1::Base');} 970 953 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 971 954 sub scope { if(@_==2){$_[0]{'scope'}=$_[1]}else{$_[0]{'scope'}}}; … … 991 974 992 975 { package IRx1::SubDecl; 993 use base "Any";BEGIN{ push(@IRx1::SubDecl::ISA,'IRx1::Base');}976 use base "Any";BEGIN{unshift(@IRx1::SubDecl::ISA,'IRx1::Base');} 994 977 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 995 978 sub scope { if(@_==2){$_[0]{'scope'}=$_[1]}else{$_[0]{'scope'}}}; … … 1013 996 1014 997 { package IRx1::MacroDecl; 1015 use base "Any";BEGIN{ push(@IRx1::MacroDecl::ISA,'IRx1::Base');}998 use base "Any";BEGIN{unshift(@IRx1::MacroDecl::ISA,'IRx1::Base');} 1016 999 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1017 1000 sub scope { if(@_==2){$_[0]{'scope'}=$_[1]}else{$_[0]{'scope'}}}; … … 1035 1018 1036 1019 { package IRx1::VarDecl; 1037 use base "Any";BEGIN{ push(@IRx1::VarDecl::ISA,'IRx1::Base');}1020 use base "Any";BEGIN{unshift(@IRx1::VarDecl::ISA,'IRx1::Base');} 1038 1021 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1039 1022 sub scope { if(@_==2){$_[0]{'scope'}=$_[1]}else{$_[0]{'scope'}}}; … … 1058 1041 1059 1042 { package IRx1::Var; 1060 use base "Any";BEGIN{ push(@IRx1::Var::ISA,'IRx1::Base');}1043 use base "Any";BEGIN{unshift(@IRx1::Var::ISA,'IRx1::Base');} 1061 1044 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1062 1045 sub sigil { if(@_==2){$_[0]{'sigil'}=$_[1]}else{$_[0]{'sigil'}}}; … … 1076 1059 1077 1060 { package IRx1::Trait; 1078 use base "Any";BEGIN{ push(@IRx1::Trait::ISA,'IRx1::Base');}1061 use base "Any";BEGIN{unshift(@IRx1::Trait::ISA,'IRx1::Base');} 1079 1062 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1080 1063 sub verb { if(@_==2){$_[0]{'verb'}=$_[1]}else{$_[0]{'verb'}}}; … … 1093 1076 1094 1077 { package IRx1::ClosureTrait; 1095 use base "Any";BEGIN{ push(@IRx1::ClosureTrait::ISA,'IRx1::Base');}1078 use base "Any";BEGIN{unshift(@IRx1::ClosureTrait::ISA,'IRx1::Base');} 1096 1079 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1097 1080 sub kind { if(@_==2){$_[0]{'kind'}=$_[1]}else{$_[0]{'kind'}}}; … … 1110 1093 1111 1094 { package IRx1::ModuleName; 1112 use base "Any";BEGIN{ push(@IRx1::ModuleName::ISA,'IRx1::Base');}1095 use base "Any";BEGIN{unshift(@IRx1::ModuleName::ISA,'IRx1::Base');} 1113 1096 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1114 1097 sub name { if(@_==2){$_[0]{'name'}=$_[1]}else{$_[0]{'name'}}}; … … 1127 1110 1128 1111 { package IRx1::PathName; 1129 use base "Any";BEGIN{ push(@IRx1::PathName::ISA,'IRx1::Base');}1112 use base "Any";BEGIN{unshift(@IRx1::PathName::ISA,'IRx1::Base');} 1130 1113 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1131 1114 sub path { if(@_==2){$_[0]{'path'}=$_[1]}else{$_[0]{'path'}}}; … … 1143 1126 1144 1127 { package IRx1::SubName; 1145 use base "Any";BEGIN{ push(@IRx1::SubName::ISA,'IRx1::Base');}1128 use base "Any";BEGIN{unshift(@IRx1::SubName::ISA,'IRx1::Base');} 1146 1129 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1147 1130 sub category { if(@_==2){$_[0]{'category'}=$_[1]}else{$_[0]{'category'}}}; … … 1162 1145 1163 1146 { package IRx1::ShapedParamName; 1164 use base "Any";BEGIN{ push(@IRx1::ShapedParamName::ISA,'IRx1::Base');}1147 use base "Any";BEGIN{unshift(@IRx1::ShapedParamName::ISA,'IRx1::Base');} 1165 1148 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1166 1149 sub ident { if(@_==2){$_[0]{'ident'}=$_[1]}else{$_[0]{'ident'}}}; … … 1179 1162 1180 1163 { package IRx1::Call; 1181 use base "Any";BEGIN{ push(@IRx1::Call::ISA,'IRx1::Base');}1164 use base "Any";BEGIN{unshift(@IRx1::Call::ISA,'IRx1::Base');} 1182 1165 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1183 1166 sub invocant { if(@_==2){$_[0]{'invocant'}=$_[1]}else{$_[0]{'invocant'}}}; … … 1197 1180 1198 1181 { package IRx1::Apply; 1199 use base "Any";BEGIN{ push(@IRx1::Apply::ISA,'IRx1::Base');}1182 use base "Any";BEGIN{unshift(@IRx1::Apply::ISA,'IRx1::Base');} 1200 1183 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1201 1184 sub function { if(@_==2){$_[0]{'function'}=$_[1]}else{$_[0]{'function'}}}; … … 1214 1197 1215 1198 { package IRx1::Hyper; 1216 use base "Any";BEGIN{ push(@IRx1::Hyper::ISA,'IRx1::Base');}1199 use base "Any";BEGIN{unshift(@IRx1::Hyper::ISA,'IRx1::Base');} 1217 1200 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1218 1201 sub operator { if(@_==2){$_[0]{'operator'}=$_[1]}else{$_[0]{'operator'}}}; … … 1231 1214 1232 1215 { package IRx1::Capture; 1233 use base "Any";BEGIN{ push(@IRx1::Capture::ISA,'IRx1::Base');}1216 use base "Any";BEGIN{unshift(@IRx1::Capture::ISA,'IRx1::Base');} 1234 1217 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1235 1218 sub arguments { if(@_==2){$_[0]{'arguments'}=$_[1]}else{$_[0]{'arguments'}}}; … … 1248 1231 1249 1232 { package IRx1::MultiSig; 1250 use base "Any";BEGIN{ push(@IRx1::MultiSig::ISA,'IRx1::Base');}1233 use base "Any";BEGIN{unshift(@IRx1::MultiSig::ISA,'IRx1::Base');} 1251 1234 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1252 1235 sub signatures { if(@_==2){$_[0]{'signatures'}=$_[1]}else{$_[0]{'signatures'}}}; … … 1264 1247 1265 1248 { package IRx1::Signature; 1266 use base "Any";BEGIN{ push(@IRx1::Signature::ISA,'IRx1::Base');}1249 use base "Any";BEGIN{unshift(@IRx1::Signature::ISA,'IRx1::Base');} 1267 1250 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1268 1251 sub parameters { if(@_==2){$_[0]{'parameters'}=$_[1]}else{$_[0]{'parameters'}}}; … … 1281 1264 1282 1265 { package IRx1::Parameter; 1283 use base "Any";BEGIN{ push(@IRx1::Parameter::ISA,'IRx1::Base');}1266 use base "Any";BEGIN{unshift(@IRx1::Parameter::ISA,'IRx1::Base');} 1284 1267 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1285 1268 sub type_constraints { if(@_==2){$_[0]{'type_constraints'}=$_[1]}else{$_[0]{'type_constraints'}}}; … … 1303 1286 1304 1287 { package IRx1::TypeConstraint; 1305 use base "Any";BEGIN{ push(@IRx1::TypeConstraint::ISA,'IRx1::Base');}1288 use base "Any";BEGIN{unshift(@IRx1::TypeConstraint::ISA,'IRx1::Base');} 1306 1289 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1307 1290 sub value { if(@_==2){$_[0]{'value'}=$_[1]}else{$_[0]{'value'}}}; … … 1320 1303 1321 1304 { package IRx1::PostConstraint; 1322 use base "Any";BEGIN{ push(@IRx1::PostConstraint::ISA,'IRx1::Base');}1305 use base "Any";BEGIN{unshift(@IRx1::PostConstraint::ISA,'IRx1::Base');} 1323 1306 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1324 1307 sub multisig { if(@_==2){$_[0]{'multisig'}=$_[1]}else{$_[0]{'multisig'}}}; … … 1337 1320 1338 1321 { package IRx1::ParamVar; 1339 use base "Any";BEGIN{ push(@IRx1::ParamVar::ISA,'IRx1::Base');}1322 use base "Any";BEGIN{unshift(@IRx1::ParamVar::ISA,'IRx1::Base');} 1340 1323 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1341 1324 sub sigil { if(@_==2){$_[0]{'sigil'}=$_[1]}else{$_[0]{'sigil'}}}; … … 1355 1338 1356 1339 { package IRx1::Undef; 1357 use base "Any";BEGIN{ push(@IRx1::Undef::ISA,'IRx1::Base');}1340 use base "Any";BEGIN{unshift(@IRx1::Undef::ISA,'IRx1::Base');} 1358 1341 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1359 1342 sub notes { if(@_==2){$_[0]{'notes'}=$_[1]}else{$_[0]{'notes'}}}; … … 1370 1353 1371 1354 { package IRx1::NumInt; 1372 use base "Any";BEGIN{ push(@IRx1::NumInt::ISA,'IRx1::Base');}1355 use base "Any";BEGIN{unshift(@IRx1::NumInt::ISA,'IRx1::Base');} 1373 1356 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1374 1357 sub text { if(@_==2){$_[0]{'text'}=$_[1]}else{$_[0]{'text'}}}; … … 1387 1370 1388 1371 { package IRx1::NumDec; 1389 use base "Any";BEGIN{ push(@IRx1::NumDec::ISA,'IRx1::Base');}1372 use base "Any";BEGIN{unshift(@IRx1::NumDec::ISA,'IRx1::Base');} 1390 1373 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1391 1374 sub intpart { if(@_==2){$_[0]{'intpart'}=$_[1]}else{$_[0]{'intpart'}}}; … … 1405 1388 1406 1389 { package IRx1::NumRad; 1407 use base "Any";BEGIN{ push(@IRx1::NumRad::ISA,'IRx1::Base');}1390 use base "Any";BEGIN{unshift(@IRx1::NumRad::ISA,'IRx1::Base');} 1408 1391 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1409 1392 sub radix { if(@_==2){$_[0]{'radix'}=$_[1]}else{$_[0]{'radix'}}}; … … 1425 1408 1426 1409 { package IRx1::Array; 1427 use base "Any";BEGIN{ push(@IRx1::Array::ISA,'IRx1::Base');}1410 use base "Any";BEGIN{unshift(@IRx1::Array::ISA,'IRx1::Base');} 1428 1411 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1429 1412 sub array { if(@_==2){$_[0]{'array'}=$_[1]}else{$_[0]{'array'}}}; … … 1441 1424 1442 1425 { package IRx1::Hash; 1443 use base "Any";BEGIN{ push(@IRx1::Hash::ISA,'IRx1::Base');}1426 use base "Any";BEGIN{unshift(@IRx1::Hash::ISA,'IRx1::Base');} 1444 1427 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1445 1428 sub hash { if(@_==2){$_[0]{'hash'}=$_[1]}else{$_[0]{'hash'}}}; … … 1457 1440 1458 1441 { package IRx1::Pair; 1459 use base "Any";BEGIN{ push(@IRx1::Pair::ISA,'IRx1::Base');}1442 use base "Any";BEGIN{unshift(@IRx1::Pair::ISA,'IRx1::Base');} 1460 1443 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1461 1444 sub key { if(@_==2){$_[0]{'key'}=$_[1]}else{$_[0]{'key'}}}; … … 1474 1457 1475 1458 { package IRx1::Type; 1476 use base "Any";BEGIN{ push(@IRx1::Type::ISA,'IRx1::Base');}1459 use base "Any";BEGIN{unshift(@IRx1::Type::ISA,'IRx1::Base');} 1477 1460 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1478 1461 sub typename { if(@_==2){$_[0]{'typename'}=$_[1]}else{$_[0]{'typename'}}}; … … 1490 1473 1491 1474 { package IRx1::Rx; 1492 use base "Any";BEGIN{ push(@IRx1::Rx::ISA,'IRx1::Base');}1475 use base "Any";BEGIN{unshift(@IRx1::Rx::ISA,'IRx1::Base');} 1493 1476 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1494 1477 sub pat { if(@_==2){$_[0]{'pat'}=$_[1]}else{$_[0]{'pat'}}}; … … 1507 1490 1508 1491 { package IRx1::Buf; 1509 use base "Any";BEGIN{ push(@IRx1::Buf::ISA,'IRx1::Base');}1492 use base "Any";BEGIN{unshift(@IRx1::Buf::ISA,'IRx1::Base');} 1510 1493 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1511 1494 sub buf { if(@_==2){$_[0]{'buf'}=$_[1]}else{$_[0]{'buf'}}}; … … 1523 1506 1524 1507 { package IRx1::For; 1525 use base "Any";BEGIN{ push(@IRx1::For::ISA,'IRx1::Base');}1508 use base "Any";BEGIN{unshift(@IRx1::For::ISA,'IRx1::Base');} 1526 1509 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1527 1510 sub expr { if(@_==2){$_[0]{'expr'}=$_[1]}else{$_[0]{'expr'}}}; … … 1540 1523 1541 1524 { package IRx1::Cond; 1542 use base "Any";BEGIN{ push(@IRx1::Cond::ISA,'IRx1::Base');}1525 use base "Any";BEGIN{unshift(@IRx1::Cond::ISA,'IRx1::Base');} 1543 1526 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1544 1527 sub clauses { if(@_==2){$_[0]{'clauses'}=$_[1]}else{$_[0]{'clauses'}}}; … … 1558 1541 1559 1542 { package IRx1::Loop; 1560 use base "Any";BEGIN{ push(@IRx1::Loop::ISA,'IRx1::Base');}1543 use base "Any";BEGIN{unshift(@IRx1::Loop::ISA,'IRx1::Base');} 1561 1544 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1562 1545 sub pretest { if(@_==2){$_[0]{'pretest'}=$_[1]}else{$_[0]{'pretest'}}}; … … 1577 1560 1578 1561 { package IRx1::Given; 1579 use base "Any";BEGIN{ push(@IRx1::Given::ISA,'IRx1::Base');}1562 use base "Any";BEGIN{unshift(@IRx1::Given::ISA,'IRx1::Base');} 1580 1563 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1581 1564 sub expr { if(@_==2){$_[0]{'expr'}=$_[1]}else{$_[0]{'expr'}}}; … … 1594 1577 1595 1578 { package IRx1::When; 1596 use base "Any";BEGIN{ push(@IRx1::When::ISA,'IRx1::Base');}1579 use base "Any";BEGIN{unshift(@IRx1::When::ISA,'IRx1::Base');} 1597 1580 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1598 1581 sub expr { if(@_==2){$_[0]{'expr'}=$_[1]}else{$_[0]{'expr'}}}; … … 1611 1594 1612 1595 { package IRx1::Label; 1613 use base "Any";BEGIN{ push(@IRx1::Label::ISA,'IRx1::Base');}1596 use base "Any";BEGIN{unshift(@IRx1::Label::ISA,'IRx1::Base');} 1614 1597 (do{sub match { if(@_==2){$_[0]{'match'}=$_[1]}else{$_[0]{'match'}}}; 1615 1598 sub labels { if(@_==2){$_[0]{'labels'}=$_[1]}else{$_[0]{'labels'}}}; … …
