1\ Test case of a branch going over too large a range 2\ Body generated by script. 3\ (Numeric values, argument of 232 just exceeds the inner branches.) 4\ (Numeric values, argument of N >= 233 exceeds them all.) 5\ (Verbal argument of 179 just exceeds the inner branches.) 6\ (Verbal argument of N >= 180 exceeds them all.) 7\ Command-line definition of 'fld_cmd' should be of the form 'fload <filename>' 8\ and can be used to load variable-sized bodies. 9 10\ Default will be TooLargeBranch_off16_body.fth 11 12fcode-version2 \ Sixteen-bit offsets. 13 14headers 15 16: too-large-case ( n -- ) 17 18 ." Let's give it a large back-reference too." 19 begin ." We've just begun" 20 ." 1 0 do " cr 1 0 do 21 dup ." if " cr 22 if 23 dup ." case" 24 case 25 0 of ." Just a short case" cr endof 26 ." default. The Big One!" cr 27 28[ifndef] fld_cmd 29 fload TooLargeBranch_off16_body.fth 30[else] 31 [defined] fld_cmd 32[endif] 33 34 endcase 35 ." then" 36 then 37 ." Loop back and forward" cr loop 38 39 ." And here we are!" 40 exit 41 ." Well, we needed some way out!" 42 43 again ." Back to the fuchsia." 44; 45 46\ Let's make a small jump, just to see what normal looks like 47: control-example 48 ." Small non-loop" 49 begin ." Here's the beguine" 50 51 dup ." if " 52 if 53 dup ." case" 54 case 55 0 of ." Just a short case" cr endof 56 ." default. Normal one!" cr 57 endcase 58 ." then" 59 then 60 61 ." and the way out" 62 exit 63 ." and the jump back" 64 again ." Never do this" cr 65; 66 67fcode-end 68