
     1  %begin
     2  
503 @ 4405:         LINE   1 "regression-compile-tmp/casterr.imp"
504 @ 4443:         BEGIN  _lev0id0 {lev=0 --> 1}

     3  %integerfunction hash addr(%string (31) name)
505 @ 4444:            LINE   3 "regression-compile-tmp/casterr.imp"
506 @ 4482:            DEF    HASHADDR (_lev0id0_HASHADDR) p1=V_0081 a/tf=18 b/format=1 c/ostate=10  type=1 (integer) form=8 (function) special=0 (<special:0>) linkage=0 (auto) spec=0 indirect=1 unass=0
507 @ 4502:               START  ( FORMAL PARAMETERS  {lev=2 --> 3, nested=0 --> 1}
508 @ 4503:                  DEF    NAME p1=V_0082 a/tf=31 b/format=1f c/ostate=0  type=3 (string) form=1 (simple) special=0 (<special:0>) linkage=0 (auto) spec=0 indirect=0 unass=0
509 @ 4519:               FINISH ) {lev=2}

     4    %constinteger hash table size = 1023
510 @ 4520:               LINE   4 "regression-compile-tmp/casterr.imp"

     5    %integer hash index = 0; %integer char
511 @ 4558:               LINE   5 "regression-compile-tmp/casterr.imp"
512 @ 4596:               DEF    HASHINDEX p1=V_0083 a/tf=11 b/format=1 c/ostate=0  type=1 (integer) form=1 (simple) special=0 (<special:0>) linkage=0 (auto) spec=0 indirect=0 unass=0
513 @ 4617:               PUSH   HASHINDEX
514 @ 4620:               PUSHI  #0x00000000
515 @ 4625:               ASSVAL
516 @ 4626:               LINE   5 "regression-compile-tmp/casterr.imp"
517 @ 4664:               DEF    CHAR p1=V_0084 a/tf=11 b/format=1 c/ostate=0  type=1 (integer) form=1 (simple) special=0 (<special:0>) linkage=0 (auto) spec=0 indirect=0 unass=0

     6    %for char = 1,1,LENGTH (name) %cycle
518 @ 4680:               LINE   6 "regression-compile-tmp/casterr.imp"
519 @ 4718:               PUSH   CHAR
520 @ 4721:               PUSHI  #0x00000001
521 @ 4726:               PUSH   LENGTH
522 @ 4729:               PUSH   NAME
523 @ 4732:               ASSPAR
524 @ 4733:               CALL  
525 @ 4734:               PUSHI  #0x00000001
526 @ 4739:               FOR    L_0003

     7      hash index =  hash index<<1 !! CHARNO(name,char)
527 @ 4742:               LINE   7 "regression-compile-tmp/casterr.imp"
528 @ 4780:               PUSH   HASHINDEX
529 @ 4783:               PUSH   HASHINDEX
530 @ 4786:               PUSHI  #0x00000001
531 @ 4791:               LSH   
532 @ 4792:               PUSH   CHARNO
533 @ 4795:               PUSH   NAME
534 @ 4798:               ASSPAR
535 @ 4799:               PUSH   CHAR
536 @ 4802:               ASSPAR
537 @ 4803:               CALL  
538 @ 4804:               XOR   
539 @ 4805:               ASSVAL

     8    %repeat
540 @ 4806:               LINE   8 "regression-compile-tmp/casterr.imp"
541 @ 4844:               REPEAT L_0003
542 @ 4847:               LOCATE L_0004

     9    %result =  hash index & hash table size
543 @ 4850:               LINE   9 "regression-compile-tmp/casterr.imp"
544 @ 4888:               PUSH   HASHINDEX
545 @ 4891:               PUSHI  #0x000003ff
546 @ 4896:               AND   
547 @ 4897:               RESULT

    10  %end  {of  hash code generated from string}
    11  
548 @ 4898:               LINE   10 "regression-compile-tmp/casterr.imp"
549 @ 4936:            END    _lev0id0_HASHADDR {lev=2 --> 1}

    12  %endofprogram
550 @ 4937:            LINE   12 "regression-compile-tmp/casterr.imp"
551 @ 4975:         END    _lev0id0 {lev=1 --> 0}
552 @ 4976:         END     {lev=0 --> -1}
553 @ 4977: 

