ofs | hex dump | ascii |
---|
0000 | 03 00 21 2b 2b 00 43 00 21 20 20 20 42 75 69 6c 64 20 61 20 70 61 74 74 65 72 6e 20 66 6f 72 20 | ..!++.C.!...Build.a.pattern.for. |
0020 | 70 61 74 74 65 72 6e 20 73 65 61 72 63 68 69 6e 67 2e 20 20 50 61 74 74 65 72 6e 20 63 68 61 72 | pattern.searching...Pattern.char |
0040 | 61 63 74 65 72 73 20 61 72 65 3a 00 01 00 21 00 20 00 21 20 20 20 25 09 09 73 69 6e 67 6c 65 2d | acters.are:...!...!...%..single- |
0060 | 63 68 61 72 61 63 74 65 72 20 77 69 6c 64 63 61 72 64 3f 00 21 20 20 20 2a 09 09 6d 75 6c 74 69 | character.wildcard?.!...*..multi |
0080 | 2d 63 68 61 72 61 63 74 65 72 20 77 69 6c 64 63 61 72 64 2c 20 64 6f 20 6e 6f 74 20 63 72 6f 73 | -character.wildcard,.do.not.cros |
00a0 | 73 20 72 65 63 6f 72 64 20 62 6f 75 6e 64 61 72 69 65 73 00 39 00 21 20 20 20 2a 2a 09 09 6d 75 | s.record.boundaries.9.!...**..mu |
00c0 | 6c 74 69 2d 63 68 61 72 61 63 74 65 72 20 77 69 6c 64 63 61 72 64 2c 20 63 72 6f 73 73 20 72 65 | lti-character.wildcard,.cross.re |
00e0 | 63 6f 72 64 20 62 6f 75 6e 64 61 72 69 65 73 00 14 00 21 20 20 20 5c 2a 09 09 6c 69 74 65 72 61 | cord.boundaries...!...\*..litera |
0100 | 6c 20 73 74 61 72 17 00 21 20 20 20 5c 25 09 09 6c 69 74 65 72 61 6c 20 70 65 72 63 65 6e 74 00 | l.star..!...\%..literal.percent. |
0120 | 1a 00 21 20 20 20 5c 5c 09 09 6c 69 74 65 72 61 6c 20 62 61 63 6b 2d 73 6c 61 73 68 19 00 21 20 | ..!...\\..literal.back-slash..!. |
0140 | 20 20 5c 3c 09 09 42 65 67 69 6e 6e 69 6e 67 20 6f 66 20 6c 69 6e 65 00 13 00 21 20 20 20 5c 3e | ..\<..Beginning.of.line...!...\> |
0160 | 09 09 45 6e 64 20 6f 66 20 6c 69 6e 65 00 33 00 21 20 20 20 5c 57 09 09 77 68 69 74 65 73 70 61 | ..End.of.line.3.!...\W..whitespa |
0180 | 63 65 20 28 69 6e 63 6c 75 64 69 6e 67 20 75 70 20 74 6f 20 6f 6e 65 20 6c 69 6e 65 2d 62 72 65 | ce.(including.up.to.one.line-bre |
01a0 | 61 6b 29 00 01 00 21 00 46 00 21 09 41 6e 64 20 6e 6f 77 20 6d 61 6e 79 20 6f 74 68 65 72 73 2c | ak)...!.F.!.And.now.many.others, |
01c0 | 20 6c 69 73 74 65 64 20 69 6e 20 74 68 65 20 74 61 62 6c 65 20 62 65 6c 6f 77 20 28 69 6e 20 74 | .listed.in.the.table.below.(in.t |
01e0 | 68 65 20 70 61 63 6b 61 67 65 20 69 6e 69 74 29 04 00 21 20 20 20 4e 00 21 20 20 20 4c 53 49 5f | he.package.init)..!...N.!...LSI_ |
0200 | 42 55 49 4c 44 5f 50 41 54 54 45 52 4e 20 74 61 6b 65 73 20 61 20 73 65 61 72 63 68 20 73 74 72 | BUILD_PATTERN.takes.a.search.str |
0220 | 69 6e 67 20 69 6e 20 49 4e 50 55 54 5f 53 54 52 49 4e 47 20 61 6e 64 20 72 65 74 75 72 6e 73 20 | ing.in.INPUT_STRING.and.returns. |
0240 | 65 69 74 68 65 72 4b 00 21 20 20 20 61 20 73 65 61 72 63 68 20 73 74 72 69 6e 67 20 6f 72 20 61 | eitherK.!...a.search.string.or.a |
0260 | 20 70 61 74 74 65 72 6e 20 73 74 72 69 6e 67 20 69 6e 20 52 45 53 55 4c 54 5f 53 54 52 49 4e 47 | .pattern.string.in.RESULT_STRING |
0280 | 2e 20 20 49 66 20 52 45 53 55 4c 54 5f 53 54 52 49 4e 47 00 4c 00 21 20 20 20 69 73 20 61 20 73 | ...If.RESULT_STRING.L.!...is.a.s |
02a0 | 65 61 72 63 68 20 73 74 72 69 6e 67 2c 20 4c 53 49 5f 42 55 49 4c 44 5f 50 41 54 54 45 52 4e 20 | earch.string,.LSI_BUILD_PATTERN. |
02c0 | 72 65 74 75 72 6e 73 20 74 68 65 20 6b 65 79 77 6f 72 64 20 53 54 52 49 4e 47 2e 20 20 49 66 20 | returns.the.keyword.STRING...If. |
02e0 | 69 74 47 00 21 20 20 20 69 73 20 61 20 70 61 74 74 65 72 6e 20 73 74 72 69 6e 67 2c 20 4c 53 49 | itG.!...is.a.pattern.string,.LSI |
0300 | 5f 42 55 49 4c 44 5f 50 41 54 54 45 52 4e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6b 65 79 77 6f | _BUILD_PATTERN.returns.the.keywo |
0320 | 72 64 20 50 41 54 54 45 52 4e 2e 00 02 00 21 2d 3b 00 70 72 6f 63 65 64 75 72 65 20 6c 73 69 5f | rd.PATTERN....!-;.procedure.lsi_ |
0340 | 62 75 69 6c 64 5f 70 61 74 74 65 72 6e 09 09 21 20 42 75 69 6c 64 20 61 20 70 61 74 74 65 72 6e | build_pattern..!.Build.a.pattern |
0360 | 20 66 6f 72 20 77 69 6c 64 63 61 72 64 00 37 00 20 20 20 20 28 69 6e 70 75 74 5f 73 74 72 69 6e | .for.wildcard.7.....(input_strin |
0380 | 67 2c 20 72 65 73 75 6c 74 5f 73 74 72 69 6e 67 29 21 2c 20 6c 65 61 64 69 6e 67 5f 77 68 69 74 | g,.result_string)!,.leading_whit |
03a0 | 65 73 70 61 63 65 29 00 00 00 17 00 6c 6f 63 61 6c 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 | espace).....local...pattern_stri |
03c0 | 6e 67 2c 00 0c 00 09 74 68 65 5f 73 74 72 69 6e 67 2c 03 00 09 69 2c 00 03 00 09 6a 2c 00 0a 00 | ng,....the_string,...i,....j,... |
03e0 | 09 74 68 65 5f 63 68 61 72 2c 0c 00 09 73 74 61 72 74 5f 63 68 61 72 2c 0a 00 09 65 6e 64 5f 63 | .the_char,...start_char,...end_c |
0400 | 68 61 72 2c 0a 00 09 74 68 65 5f 63 6f 64 65 2c 0b 00 09 70 75 73 68 5f 62 61 63 6b 2c 00 0e 00 | har,...the_code,...push_back,... |
0420 | 09 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 0d 00 09 74 68 65 5f 70 61 74 74 65 72 6e 2c 00 0d 00 | .the_function,...the_pattern,... |
0440 | 09 73 75 62 5f 70 61 74 74 65 72 6e 2c 00 0b 00 09 69 73 5f 64 6f 75 62 6c 65 2c 00 06 00 09 74 | .sub_pattern,....is_double,....t |
0460 | 65 6d 70 2c 08 00 09 73 74 61 74 75 73 2c 0c 00 09 63 6f 64 65 5f 71 75 6f 74 65 2c 0c 00 09 63 | emp,...status,...code_quote,...c |
0480 | 6f 64 65 5f 63 6c 6f 73 65 3b 00 00 1d 00 21 6c 65 61 64 69 6e 67 5f 77 68 69 74 65 73 70 61 63 | ode_close;....!leading_whitespac |
04a0 | 65 20 3a 3d 20 46 41 4c 53 45 3b 00 34 00 49 46 20 47 45 54 5f 49 4e 46 4f 20 28 4c 53 49 5f 58 | e.:=.FALSE;.4.IF.GET_INFO.(LSI_X |
04c0 | 5f 57 49 4c 44 5f 46 55 4e 43 54 49 4f 4e 53 2c 20 27 74 79 70 65 27 29 20 3c 3e 20 53 54 52 49 | _WILD_FUNCTIONS,.'type').<>.STRI |
04e0 | 4e 47 04 00 54 48 45 4e 1c 00 20 20 20 6c 73 69 5f 77 69 6c 64 63 61 72 64 5f 6d 6f 64 75 6c 65 | NG..THEN.....lsi_wildcard_module |
0500 | 5f 69 6e 69 74 3b 0d 00 20 20 20 54 52 55 45 20 3a 3d 20 31 3b 00 0d 00 20 20 20 46 41 4c 53 45 | _init;.....TRUE.:=.1;......FALSE |
0520 | 20 3a 3d 20 30 00 06 00 45 4e 44 49 46 3b 20 00 63 6f 64 65 5f 71 75 6f 74 65 20 3a 3d 20 6c 73 | .:=.0...ENDIF;..code_quote.:=.ls |
0540 | 69 5f 77 69 6c 64 5f 63 6f 64 65 20 28 31 29 3b 20 00 63 6f 64 65 5f 63 6c 6f 73 65 20 3a 3d 20 | i_wild_code.(1);..code_close.:=. |
0560 | 6c 73 69 5f 77 69 6c 64 5f 63 6f 64 65 20 28 38 29 3b 00 00 15 00 70 61 74 74 65 72 6e 5f 73 74 | lsi_wild_code.(8);....pattern_st |
0580 | 72 69 6e 67 20 3a 3d 20 22 22 3b 00 11 00 74 68 65 5f 73 74 72 69 6e 67 20 3a 3d 20 22 22 3b 00 | ring.:=."";...the_string.:=."";. |
05a0 | 07 00 69 20 3a 3d 20 31 3b 00 13 00 74 68 65 5f 66 75 6e 63 74 69 6f 6e 20 3a 3d 20 22 22 3b 00 | ..i.:=.1;...the_function.:=."";. |
05c0 | 12 00 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 22 22 3b 12 00 73 75 62 5f 70 61 74 74 65 72 | ..the_pattern.:=."";..sub_patter |
05e0 | 6e 20 3a 3d 20 22 22 3b 02 00 21 2b 2e 00 21 20 20 20 50 72 6f 63 65 73 73 20 65 61 63 68 20 63 | n.:=."";..!+..!...Process.each.c |
0600 | 68 61 72 61 63 74 65 72 20 69 6e 20 74 68 65 20 69 6e 70 75 74 20 73 74 72 69 6e 67 02 00 21 2d | haracter.in.the.input.string..!- |
0620 | 04 00 6c 6f 6f 70 14 00 20 20 20 20 69 66 20 70 75 73 68 5f 62 61 63 6b 20 3e 20 31 08 00 20 20 | ..loop......if.push_back.>.1.... |
0640 | 20 20 74 68 65 6e 17 00 09 74 68 65 5f 63 6f 64 65 20 3a 3d 20 70 75 73 68 5f 62 61 63 6b 3b 00 | ..then...the_code.:=.push_back;. |
0660 | 10 00 09 70 75 73 68 5f 62 61 63 6b 20 3a 3d 20 30 3b 08 00 20 20 20 20 65 6c 73 65 3c 00 09 74 | ...push_back.:=.0;......else<..t |
0680 | 68 65 5f 63 6f 64 65 20 3a 3d 20 6c 73 69 5f 67 65 74 5f 77 69 6c 64 5f 74 6f 6b 65 6e 20 28 74 | he_code.:=.lsi_get_wild_token.(t |
06a0 | 68 65 5f 63 68 61 72 2c 20 69 6e 70 75 74 5f 73 74 72 69 6e 67 2c 20 69 29 3b 0a 00 20 20 20 20 | he_char,.input_string,.i);...... |
06c0 | 65 6e 64 69 66 3b 18 00 20 20 20 20 65 78 69 74 69 66 20 74 68 65 5f 63 6f 64 65 20 3c 20 30 3b | endif;......exitif.the_code.<.0; |
06e0 | 1e 00 20 20 20 20 63 61 73 65 20 74 68 65 5f 63 6f 64 65 20 66 72 6f 6d 20 30 20 54 4f 20 32 39 | ......case.the_code.from.0.TO.29 |
0700 | 1e 00 09 5b 30 5d 3a 09 09 09 09 09 21 20 4f 72 64 69 6e 61 72 79 20 63 68 61 72 61 63 74 65 72 | ...[0]:.....!.Ordinary.character |
0720 | 16 00 09 20 20 20 20 69 66 20 74 68 65 5f 63 68 61 72 20 3d 20 22 27 22 09 00 09 20 20 20 20 74 | .......if.the_char.=."'".......t |
0740 | 68 65 6e 00 29 00 09 09 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 3a 3d 20 70 61 74 74 65 72 | hen.)...pattern_string.:=.patter |
0760 | 6e 5f 73 74 72 69 6e 67 20 2b 20 22 27 22 3b 00 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 31 00 | n_string.+."'";........endif;.1. |
0780 | 09 20 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 3a 3d 20 70 61 74 74 65 72 6e 5f 73 | .....pattern_string.:=.pattern_s |
07a0 | 74 72 69 6e 67 20 2b 20 74 68 65 5f 63 68 61 72 3b 00 29 00 09 20 20 20 20 74 68 65 5f 73 74 72 | tring.+.the_char;.)......the_str |
07c0 | 69 6e 67 20 3a 3d 20 74 68 65 5f 73 74 72 69 6e 67 20 2b 20 74 68 65 5f 63 68 61 72 3b 00 1e 00 | ing.:=.the_string.+.the_char;... |
07e0 | 09 5b 31 5d 3a 09 09 09 09 09 21 20 45 73 63 61 70 65 20 28 61 6e 64 20 71 75 6f 74 65 29 3d 00 | .[1]:.....!.Escape.(and.quote)=. |
0800 | 09 20 20 20 20 6d 65 73 73 61 67 65 20 28 66 61 6f 20 28 22 55 6e 72 65 63 6f 67 6e 69 7a 65 64 | .....message.(fao.("Unrecognized |
0820 | 20 77 69 6c 64 2d 63 61 72 64 20 66 75 6e 63 74 69 6f 6e 3a 20 21 41 53 21 41 53 22 2c 00 1f 00 | .wild-card.function:.!AS!AS",... |
0840 | 09 20 20 20 20 20 20 20 63 6f 64 65 5f 71 75 6f 74 65 2c 20 74 68 65 5f 63 68 61 72 29 29 3b 00 | ........code_quote,.the_char));. |
0860 | 12 00 09 20 20 20 20 72 65 74 75 72 6e 20 46 41 4c 53 45 3b 1b 00 09 5b 32 5d 3a 09 09 09 09 09 | .......return.FALSE;...[2]:..... |
0880 | 21 20 53 74 61 72 20 2d 20 57 69 6c 64 63 61 72 64 00 04 00 09 09 21 2b 36 00 09 09 21 20 20 20 | !.Star.-.Wildcard.....!+6...!... |
08a0 | 47 65 6e 65 72 61 6c 20 77 69 6c 64 63 61 72 64 2c 20 6e 6f 74 20 63 72 6f 73 73 69 6e 67 20 72 | General.wildcard,.not.crossing.r |
08c0 | 65 63 6f 72 64 20 62 6f 75 6e 64 61 72 69 65 73 03 00 09 09 21 00 1b 00 09 09 21 20 20 20 45 61 | ecord.boundaries....!.....!...Ea |
08e0 | 74 20 66 6f 6c 6c 6f 77 69 6e 67 20 2a 20 61 6e 64 20 25 00 04 00 09 09 21 2d 3d 00 09 20 20 20 | t.following.*.and.%.....!-=..... |
0900 | 20 73 74 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 | .status.:=.lsi_do_sub_pattern.(s |
0920 | 75 62 5f 70 61 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 | ub_pattern,.the_function,....... |
0940 | 09 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 09 09 09 09 09 20 20 20 74 68 | ....pattern_string,...........th |
0960 | 65 5f 63 6f 64 65 29 3b 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 | e_code);+......if.get_info.(stat |
0980 | 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 | us,."type").=.KEYWORD........the |
09a0 | 6e 00 10 00 09 09 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 | n.....return.status;.......endif |
09c0 | 3b 00 00 00 2e 00 09 20 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 | ;..........the_pattern.:=.the_pa |
09e0 | 74 74 65 72 6e 20 2b 20 73 75 62 5f 70 61 74 74 65 72 6e 3b 17 00 09 20 20 20 20 73 75 62 5f 70 | ttern.+.sub_pattern;.......sub_p |
0a00 | 61 74 74 65 72 6e 20 3a 3d 20 22 22 3b 00 39 00 09 20 20 20 20 69 73 5f 64 6f 75 62 6c 65 20 3a | attern.:=."";.9......is_double.: |
0a20 | 3d 20 6c 73 69 5f 65 61 74 5f 77 69 6c 64 5f 63 6f 64 65 20 28 32 2c 20 69 6e 70 75 74 5f 73 74 | =.lsi_eat_wild_code.(2,.input_st |
0a40 | 72 69 6e 67 2c 20 69 29 3b 00 04 00 09 09 21 2b 2a 00 09 09 21 20 20 20 55 73 65 20 52 45 4d 41 | ring,.i);.....!+*...!...Use.REMA |
0a60 | 49 4e 20 69 66 20 61 74 20 65 6e 64 20 6f 66 20 69 6e 70 75 74 5f 73 74 72 69 6e 67 04 00 09 09 | IN.if.at.end.of.input_string.... |
0a80 | 21 2d 21 00 09 20 20 20 20 69 66 20 69 20 3e 20 6c 65 6e 67 74 68 20 28 69 6e 70 75 74 5f 73 74 | !-!......if.i.>.length.(input_st |
0aa0 | 72 69 6e 67 29 00 09 00 09 20 20 20 20 74 68 65 6e 00 29 00 09 09 74 68 65 5f 70 61 74 74 65 72 | ring)........then.)...the_patter |
0ac0 | 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 22 26 20 72 65 6d 61 69 6e 22 00 09 00 | n.:=.the_pattern.+."&.remain"... |
0ae0 | 09 20 20 20 20 65 6c 73 65 00 2e 00 09 09 69 66 20 6c 73 69 5f 65 61 74 5f 77 69 6c 64 5f 63 6f | .....else.....if.lsi_eat_wild_co |
0b00 | 64 65 20 28 35 2c 20 69 6e 70 75 74 5f 73 74 72 69 6e 67 2c 20 69 29 20 6f 72 2c 00 09 09 20 20 | de.(5,.input_string,.i).or,..... |
0b20 | 20 20 6c 73 69 5f 65 61 74 5f 77 69 6c 64 5f 63 6f 64 65 20 28 36 2c 20 69 6e 70 75 74 5f 73 74 | ..lsi_eat_wild_code.(6,.input_st |
0b40 | 72 69 6e 67 2c 20 69 29 06 00 09 09 74 68 65 6e 2c 00 09 09 20 20 20 74 68 65 5f 70 61 74 74 65 | ring,.i)....then,......the_patte |
0b60 | 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 22 26 20 72 65 6d 61 69 6e 22 06 00 | rn.:=.the_pattern.+."&.remain".. |
0b80 | 09 09 65 6c 73 65 09 00 09 09 09 20 20 20 20 21 2b 00 36 00 09 09 09 20 20 20 20 21 20 20 20 55 | ..else.........!+.6........!...U |
0ba0 | 73 65 20 74 68 65 20 4d 41 54 43 48 20 62 75 69 6c 74 2d 69 6e 2e 20 20 57 65 20 77 69 6c 6c 20 | se.the.MATCH.built-in...We.will. |
0bc0 | 61 63 63 75 6d 75 6c 61 74 65 38 00 09 09 09 20 20 20 20 21 20 20 20 4d 41 54 43 48 20 63 68 61 | accumulate8........!...MATCH.cha |
0be0 | 72 61 63 74 65 72 73 20 75 6e 74 69 6c 20 61 6e 6f 74 68 65 72 20 73 70 65 63 69 61 6c 20 6d 61 | racters.until.another.special.ma |
0c00 | 72 6b 65 72 1a 00 09 09 09 20 20 20 20 21 20 20 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 2e | rker.........!...is.encountered. |
0c20 | 09 00 09 09 09 20 20 20 20 21 2d 00 12 00 09 09 20 20 20 20 69 66 20 69 73 5f 64 6f 75 62 6c 65 | .........!-.........if.is_double |
0c40 | 0a 00 09 09 20 20 20 20 74 68 65 6e 1c 00 09 09 09 74 68 65 5f 66 75 6e 63 74 69 6f 6e 20 3a 3d | ........then.....the_function.:= |
0c60 | 20 22 6d 61 74 63 68 6c 22 3b 0a 00 09 09 20 20 20 20 65 6c 73 65 1b 00 09 09 09 74 68 65 5f 66 | ."matchl";........else.....the_f |
0c80 | 75 6e 63 74 69 6f 6e 20 3a 3d 20 22 6d 61 74 63 68 22 3b 00 0c 00 09 09 20 20 20 20 65 6e 64 69 | unction.:=."match";.........endi |
0ca0 | 66 3b 08 00 09 09 65 6e 64 69 66 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 19 00 09 5b 33 5d | f;....endif;.......endif;....[3] |
0cc0 | 3a 09 09 09 09 21 20 50 65 72 63 65 6e 74 20 2d 2d 20 61 72 62 00 04 00 09 09 21 2b 20 00 09 09 | :....!.Percent.--.arb.....!+.... |
0ce0 | 21 20 20 20 53 69 6e 67 6c 65 2d 63 68 61 72 61 63 74 65 72 20 77 69 6c 64 63 61 72 64 2e 03 00 | !...Single-character.wildcard... |
0d00 | 09 09 21 00 26 00 09 09 21 20 20 20 53 74 61 72 74 20 62 79 20 63 6f 75 6e 74 69 6e 67 20 63 6f | ..!.&...!...Start.by.counting.co |
0d20 | 6e 73 65 63 75 74 69 76 65 20 25 73 04 00 09 09 21 2d 3d 00 09 20 20 20 20 73 74 61 74 75 73 20 | nsecutive.%s....!-=......status. |
0d40 | 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 | :=.lsi_do_sub_pattern.(sub_patte |
0d60 | 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 09 20 20 20 70 61 74 74 | rn,.the_function,...........patt |
0d80 | 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 09 09 09 09 09 20 20 20 74 68 65 5f 63 6f 64 65 29 3b | ern_string,...........the_code); |
0da0 | 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 | +......if.get_info.(status,."typ |
0dc0 | 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 6e 00 10 00 09 09 72 65 | e").=.KEYWORD........then.....re |
0de0 | 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 2e 00 09 20 | turn.status;.......endif;....... |
0e00 | 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 | ...the_pattern.:=.the_pattern.+. |
0e20 | 73 75 62 5f 70 61 74 74 65 72 6e 3b 0c 00 09 20 20 20 20 6a 20 3a 3d 20 31 3b 09 00 09 20 20 20 | sub_pattern;.......j.:=.1;...... |
0e40 | 20 6c 6f 6f 70 00 34 00 09 09 65 78 69 74 69 66 20 6e 6f 74 20 6c 73 69 5f 65 61 74 5f 77 69 6c | .loop.4...exitif.not.lsi_eat_wil |
0e60 | 64 5f 63 6f 64 65 20 28 33 2c 20 69 6e 70 75 74 5f 73 74 72 69 6e 67 2c 20 69 29 3b 0d 00 09 09 | d_code.(3,.input_string,.i);.... |
0e80 | 6a 20 3a 3d 20 6a 20 2b 20 31 3b 00 0d 00 09 20 20 20 20 65 6e 64 6c 6f 6f 70 3b 00 04 00 09 09 | j.:=.j.+.1;........endloop;..... |
0ea0 | 21 2b 1b 00 09 09 21 20 20 20 50 75 74 20 69 74 20 69 6e 20 74 68 65 20 70 61 74 74 65 72 6e 00 | !+....!...Put.it.in.the.pattern. |
0ec0 | 04 00 09 09 21 2d 2d 00 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 22 26 20 61 | ....!--......sub_pattern.:=."&.a |
0ee0 | 72 62 28 22 20 2b 20 73 74 72 20 28 6a 29 20 2b 20 22 29 22 3b 00 11 00 09 5b 34 5d 3a 09 09 09 | rb(".+.str.(j).+.")";....[4]:... |
0f00 | 09 09 21 20 53 70 61 63 65 00 3d 00 09 20 20 20 20 73 74 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 | ..!.Space.=......status.:=.lsi_d |
0f20 | 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 74 68 65 5f | o_sub_pattern.(sub_pattern,.the_ |
0f40 | 66 75 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 09 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 | function,...........pattern_stri |
0f60 | 6e 67 2c 00 12 00 09 09 09 09 09 20 20 20 74 68 65 5f 63 6f 64 65 29 3b 2b 00 09 20 20 20 20 69 | ng,...........the_code);+......i |
0f80 | 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 | f.get_info.(status,."type").=.KE |
0fa0 | 59 57 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 6e 00 10 00 09 09 72 65 74 75 72 6e 20 73 74 61 | YWORD........then.....return.sta |
0fc0 | 74 75 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 2e 00 09 20 20 20 20 74 68 65 5f 70 | tus;.......endif;..........the_p |
0fe0 | 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 73 75 62 5f 70 61 74 74 | attern.:=.the_pattern.+.sub_patt |
1000 | 65 72 6e 3b 20 00 09 20 20 20 20 6c 65 61 64 69 6e 67 5f 77 68 69 74 65 73 70 61 63 65 20 3a 3d | ern;.......leading_whitespace.:= |
1020 | 20 54 52 55 45 3b 25 00 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 22 26 20 6c | .TRUE;%......sub_pattern.:=."&.l |
1040 | 73 69 5f 78 5f 77 73 5f 70 61 74 22 3b 00 09 00 09 20 20 20 20 6c 6f 6f 70 00 34 00 09 09 65 78 | si_x_ws_pat";........loop.4...ex |
1060 | 69 74 69 66 20 6e 6f 74 20 6c 73 69 5f 65 61 74 5f 77 69 6c 64 5f 63 6f 64 65 20 28 34 2c 20 69 | itif.not.lsi_eat_wild_code.(4,.i |
1080 | 6e 70 75 74 5f 73 74 72 69 6e 67 2c 20 69 29 3b 0d 00 09 20 20 20 20 65 6e 64 6c 6f 6f 70 3b 00 | nput_string,.i);.......endloop;. |
10a0 | 1e 00 09 5b 35 5d 3a 09 09 09 21 20 5c 3c 20 42 65 67 69 6e 6e 69 6e 67 20 6f 66 20 6c 69 6e 65 | ...[5]:...!.\<.Beginning.of.line |
10c0 | 3d 00 09 20 20 20 20 73 74 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 | =......status.:=.lsi_do_sub_patt |
10e0 | 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 | ern.(sub_pattern,.the_function,. |
1100 | 17 00 09 09 09 09 09 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 09 09 09 09 | ..........pattern_string,....... |
1120 | 09 20 20 20 74 68 65 5f 63 6f 64 65 29 3b 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f | ....the_code);+......if.get_info |
1140 | 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 09 20 | .(status,."type").=.KEYWORD..... |
1160 | 20 20 20 74 68 65 6e 00 10 00 09 09 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 20 20 | ...then.....return.status;...... |
1180 | 20 65 6e 64 69 66 3b 00 00 00 2e 00 09 20 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 | .endif;..........the_pattern.:=. |
11a0 | 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 73 75 62 5f 70 61 74 74 65 72 6e 3b 23 00 09 20 20 20 | the_pattern.+.sub_pattern;#..... |
11c0 | 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 22 26 20 6c 69 6e 65 5f 62 65 67 69 6e 22 3b 00 | .sub_pattern.:=."&.line_begin";. |
11e0 | 18 00 09 5b 36 5d 3a 09 09 09 21 20 5c 3e 20 45 6e 64 20 6f 66 20 6c 69 6e 65 3d 00 09 20 20 20 | ...[6]:...!.\>.End.of.line=..... |
1200 | 20 73 74 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 | .status.:=.lsi_do_sub_pattern.(s |
1220 | 75 62 5f 70 61 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 | ub_pattern,.the_function,....... |
1240 | 09 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 09 09 09 09 09 20 20 20 74 68 | ....pattern_string,...........th |
1260 | 65 5f 63 6f 64 65 29 3b 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 | e_code);+......if.get_info.(stat |
1280 | 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 | us,."type").=.KEYWORD........the |
12a0 | 6e 00 10 00 09 09 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 | n.....return.status;.......endif |
12c0 | 3b 00 00 00 2e 00 09 20 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 | ;..........the_pattern.:=.the_pa |
12e0 | 74 74 65 72 6e 20 2b 20 73 75 62 5f 70 61 74 74 65 72 6e 3b 21 00 09 20 20 20 20 73 75 62 5f 70 | ttern.+.sub_pattern;!......sub_p |
1300 | 61 74 74 65 72 6e 20 3a 3d 20 22 26 20 6c 69 6e 65 5f 65 6e 64 22 3b 00 19 00 09 5b 37 5d 3a 09 | attern.:=."&.line_end";....[7]:. |
1320 | 09 09 21 20 5c 5b 20 53 74 61 72 74 20 6f 66 20 61 6e 79 00 3d 00 09 20 20 20 20 73 74 61 74 75 | ..!.\[.Start.of.any.=......statu |
1340 | 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 | s.:=.lsi_do_sub_pattern.(sub_pat |
1360 | 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 09 20 20 20 70 61 | tern,.the_function,...........pa |
1380 | 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 09 09 09 09 09 20 20 20 74 68 65 5f 63 6f 64 65 | ttern_string,...........the_code |
13a0 | 29 3b 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 | );+......if.get_info.(status,."t |
13c0 | 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 6e 00 10 00 09 09 | ype").=.KEYWORD........then..... |
13e0 | 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 2e 00 | return.status;.......endif;..... |
1400 | 09 20 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 | .....the_pattern.:=.the_pattern. |
1420 | 2b 20 73 75 62 5f 70 61 74 74 65 72 6e 3b 17 00 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e | +.sub_pattern;.......sub_pattern |
1440 | 20 3a 3d 20 22 22 3b 00 1b 00 09 20 20 20 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 20 3a 3d 20 22 | .:=."";........the_function.:=." |
1460 | 61 6e 79 22 3b 00 2f 00 09 20 20 20 20 69 66 20 6c 73 69 5f 65 61 74 5f 77 69 6c 64 5f 63 6f 64 | any";./......if.lsi_eat_wild_cod |
1480 | 65 20 28 32 39 2c 20 69 6e 70 75 74 5f 73 74 72 69 6e 67 2c 20 69 29 00 09 00 09 20 20 20 20 74 | e.(29,.input_string,.i)........t |
14a0 | 68 65 6e 00 1b 00 09 09 74 68 65 5f 66 75 6e 63 74 69 6f 6e 20 3a 3d 20 22 6e 6f 74 61 6e 79 22 | hen.....the_function.:=."notany" |
14c0 | 3b 00 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 0c 00 09 20 20 20 20 6a 20 3a 3d 20 30 3b 09 00 | ;........endif;........j.:=.0;.. |
14e0 | 09 20 20 20 20 6c 6f 6f 70 00 23 00 09 09 65 78 69 74 69 66 20 69 20 3e 20 6c 65 6e 67 74 68 20 | .....loop.#...exitif.i.>.length. |
1500 | 28 69 6e 70 75 74 5f 73 74 72 69 6e 67 29 3b 00 30 00 09 09 65 78 69 74 69 66 20 6c 73 69 5f 65 | (input_string);.0...exitif.lsi_e |
1520 | 61 74 5f 77 69 6c 64 5f 63 6f 64 65 20 28 38 2c 20 69 6e 70 75 74 5f 73 74 72 69 6e 67 2c 20 69 | at_wild_code.(8,.input_string,.i |
1540 | 29 3b 2a 00 09 09 74 68 65 5f 63 68 61 72 20 3a 3d 20 73 75 62 73 74 72 20 28 69 6e 70 75 74 5f | );*...the_char.:=.substr.(input_ |
1560 | 73 74 72 69 6e 67 2c 20 69 2c 20 31 29 3b 0d 00 09 09 69 20 3a 3d 20 69 20 2b 20 31 3b 00 0d 00 | string,.i,.1);....i.:=.i.+.1;... |
1580 | 09 09 6a 20 3a 3d 20 6a 20 2b 20 31 3b 00 1a 00 09 09 69 66 20 74 68 65 5f 63 68 61 72 20 3d 20 | ..j.:=.j.+.1;.....if.the_char.=. |
15a0 | 63 6f 64 65 5f 71 75 6f 74 65 06 00 09 09 74 68 65 6e 2e 00 09 09 20 20 20 20 74 68 65 5f 63 68 | code_quote....then........the_ch |
15c0 | 61 72 20 3a 3d 20 73 75 62 73 74 72 20 28 69 6e 70 75 74 5f 73 74 72 69 6e 67 2c 20 69 2c 20 31 | ar.:=.substr.(input_string,.i,.1 |
15e0 | 29 3b 11 00 09 09 20 20 20 20 69 20 3a 3d 20 69 20 2b 20 31 3b 00 08 00 09 09 65 6e 64 69 66 3b | );........i.:=.i.+.1;.....endif; |
1600 | 21 00 09 09 69 66 20 28 74 68 65 5f 63 68 61 72 20 3d 20 22 2d 22 29 20 61 6e 64 20 28 6a 20 3e | !...if.(the_char.=."-").and.(j.> |
1620 | 20 31 29 00 06 00 09 09 74 68 65 6e 2f 00 09 09 20 20 20 20 69 66 20 6c 73 69 5f 65 61 74 5f 77 | .1).....then/.......if.lsi_eat_w |
1640 | 69 6c 64 5f 63 6f 64 65 20 28 38 2c 20 69 6e 70 75 74 5f 73 74 72 69 6e 67 2c 20 69 29 00 0a 00 | ild_code.(8,.input_string,.i)... |
1660 | 09 09 20 20 20 20 74 68 65 6e 2f 00 09 09 09 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 3a 3d | ......then/....pattern_string.:= |
1680 | 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 2b 20 74 68 65 5f 63 68 61 72 3b 00 0c 00 09 09 | .pattern_string.+.the_char;..... |
16a0 | 09 65 78 69 74 69 66 20 31 3b 0c 00 09 09 20 20 20 20 65 6e 64 69 66 3b 2d 00 09 09 20 20 20 20 | .exitif.1;........endif;-....... |
16c0 | 6c 73 69 5f 65 61 74 5f 77 69 6c 64 5f 63 6f 64 65 20 28 31 2c 20 69 6e 70 75 74 5f 73 74 72 69 | lsi_eat_wild_code.(1,.input_stri |
16e0 | 6e 67 2c 20 69 29 3b 00 2b 00 09 09 20 20 20 20 73 74 61 72 74 5f 63 68 61 72 20 3a 3d 20 73 75 | ng,.i);.+.......start_char.:=.su |
1700 | 62 73 74 72 20 28 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 23 00 09 09 09 09 09 20 20 6c | bstr.(pattern_string,.#........l |
1720 | 65 6e 67 74 68 20 28 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 29 2c 20 31 29 3b 00 32 00 09 09 | ength.(pattern_string),.1);.2... |
1740 | 20 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 3a 3d 20 73 75 62 73 74 72 20 28 70 61 | ....pattern_string.:=.substr.(pa |
1760 | 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 20 31 2c 28 00 09 09 09 09 09 20 20 20 20 20 20 6c 65 6e | ttern_string,.1,(............len |
1780 | 67 74 68 20 28 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 29 20 2d 20 31 29 3b 2e 00 09 09 20 20 | gth.(pattern_string).-.1);...... |
17a0 | 20 20 65 6e 64 5f 63 68 61 72 20 3a 3d 20 73 75 62 73 74 72 20 28 69 6e 70 75 74 5f 73 74 72 69 | ..end_char.:=.substr.(input_stri |
17c0 | 6e 67 2c 20 69 2c 20 31 29 3b 11 00 09 09 20 20 20 20 69 20 3a 3d 20 69 20 2b 20 31 3b 00 1e 00 | ng,.i,.1);........i.:=.i.+.1;... |
17e0 | 09 09 20 20 20 20 69 66 20 65 6e 64 5f 63 68 61 72 20 3d 20 63 6f 64 65 5f 71 75 6f 74 65 0a 00 | ......if.end_char.=.code_quote.. |
1800 | 09 09 20 20 20 20 74 68 65 6e 2b 00 09 09 09 65 6e 64 5f 63 68 61 72 20 3a 3d 20 73 75 62 73 74 | ......then+....end_char.:=.subst |
1820 | 72 20 28 69 6e 70 75 74 5f 73 74 72 69 6e 67 2c 20 69 2c 20 31 29 3b 00 0e 00 09 09 09 69 20 3a | r.(input_string,.i,.1);......i.: |
1840 | 3d 20 69 20 2b 20 31 3b 0c 00 09 09 20 20 20 20 65 6e 64 69 66 3b 00 00 3d 00 09 09 20 20 20 20 | =.i.+.1;........endif;..=....... |
1860 | 73 74 61 72 74 5f 63 68 61 72 20 3a 3d 20 69 6e 64 65 78 20 28 6c 73 69 5f 78 5f 61 6c 6c 5f 63 | start_char.:=.index.(lsi_x_all_c |
1880 | 68 61 72 61 63 74 65 72 73 2c 20 73 74 61 72 74 5f 63 68 61 72 29 3b 00 39 00 09 09 20 20 20 20 | haracters,.start_char);.9....... |
18a0 | 65 6e 64 5f 63 68 61 72 20 3a 3d 20 69 6e 64 65 78 20 28 6c 73 69 5f 78 5f 61 6c 6c 5f 63 68 61 | end_char.:=.index.(lsi_x_all_cha |
18c0 | 72 61 63 74 65 72 73 2c 20 65 6e 64 5f 63 68 61 72 29 3b 00 1e 00 09 09 20 20 20 20 69 66 20 73 | racters,.end_char);.........if.s |
18e0 | 74 61 72 74 5f 63 68 61 72 20 3c 20 65 6e 64 5f 63 68 61 72 0a 00 09 09 20 20 20 20 74 68 65 6e | tart_char.<.end_char........then |
1900 | 25 00 09 09 09 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 3a 3d 20 70 61 74 74 65 72 6e 5f 73 | %....pattern_string.:=.pattern_s |
1920 | 74 72 69 6e 67 20 2b 00 24 00 09 09 09 09 09 20 20 73 75 62 73 74 72 20 28 6c 73 69 5f 78 5f 61 | tring.+.$........substr.(lsi_x_a |
1940 | 6c 6c 5f 63 68 61 72 61 63 74 65 72 73 2c 13 00 09 09 09 09 09 09 20 20 73 74 61 72 74 5f 63 68 | ll_characters,..........start_ch |
1960 | 61 72 2c 00 25 00 09 09 09 09 09 09 20 20 28 65 6e 64 5f 63 68 61 72 20 2d 20 73 74 61 72 74 5f | ar,.%.........(end_char.-.start_ |
1980 | 63 68 61 72 29 20 2b 20 31 29 3b 00 0a 00 09 09 20 20 20 20 65 6c 73 65 25 00 09 09 09 70 61 74 | char).+.1);.........else%....pat |
19a0 | 74 65 72 6e 5f 73 74 72 69 6e 67 20 3a 3d 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 2b 00 | tern_string.:=.pattern_string.+. |
19c0 | 24 00 09 09 09 09 09 20 20 73 75 62 73 74 72 20 28 6c 73 69 5f 78 5f 61 6c 6c 5f 63 68 61 72 61 | $........substr.(lsi_x_all_chara |
19e0 | 63 74 65 72 73 2c 11 00 09 09 09 09 09 09 20 20 65 6e 64 5f 63 68 61 72 2c 00 25 00 09 09 09 09 | cters,..........end_char,.%..... |
1a00 | 09 09 20 20 28 73 74 61 72 74 5f 63 68 61 72 20 2d 20 65 6e 64 5f 63 68 61 72 29 20 2b 20 31 29 | ....(start_char.-.end_char).+.1) |
1a20 | 3b 00 0c 00 09 09 20 20 20 20 65 6e 64 69 66 3b 0d 00 09 09 20 20 20 20 6a 20 3a 3d 20 30 3b 00 | ;.........endif;........j.:=.0;. |
1a40 | 06 00 09 09 65 6c 73 65 32 00 09 09 20 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 3a | ....else2.......pattern_string.: |
1a60 | 3d 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 2b 20 74 68 65 5f 63 68 61 72 3b 08 00 09 09 | =.pattern_string.+.the_char;.... |
1a80 | 65 6e 64 69 66 3b 0d 00 09 20 20 20 20 65 6e 64 6c 6f 6f 70 3b 00 3d 00 09 20 20 20 20 73 74 61 | endif;.......endloop;.=......sta |
1aa0 | 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 | tus.:=.lsi_do_sub_pattern.(sub_p |
1ac0 | 61 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 09 20 20 20 | attern,.the_function,........... |
1ae0 | 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 0b 00 09 09 09 09 09 20 20 20 38 29 3b 00 2b 00 | pattern_string,...........8);.+. |
1b00 | 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 65 22 | .....if.get_info.(status,."type" |
1b20 | 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 6e 00 10 00 09 09 72 65 74 75 | ).=.KEYWORD........then.....retu |
1b40 | 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 19 00 09 5b 38 5d | rn.status;.......endif;......[8] |
1b60 | 3a 09 09 09 21 20 5c 5d 20 63 6c 6f 73 65 20 6f 66 20 61 6e 79 00 33 00 09 20 20 20 20 70 61 74 | :...!.\].close.of.any.3......pat |
1b80 | 74 65 72 6e 5f 73 74 72 69 6e 67 20 3a 3d 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 2b 20 | tern_string.:=.pattern_string.+. |
1ba0 | 63 6f 64 65 5f 63 6c 6f 73 65 3b 00 2b 00 09 20 20 20 20 74 68 65 5f 73 74 72 69 6e 67 20 3a 3d | code_close;.+......the_string.:= |
1bc0 | 20 74 68 65 5f 73 74 72 69 6e 67 20 2b 20 63 6f 64 65 5f 63 6c 6f 73 65 3b 00 22 00 09 5b 39 5d | .the_string.+.code_close;."..[9] |
1be0 | 3a 09 09 09 21 20 5c 3a 20 52 65 70 65 61 74 20 28 6d 69 6e 69 6d 75 6d 20 6f 66 20 31 29 19 00 | :...!.\:.Repeat.(minimum.of.1).. |
1c00 | 09 20 20 20 20 69 66 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 20 3d 20 22 22 00 09 00 09 20 20 20 | .....if.the_function.=.""....... |
1c20 | 20 74 68 65 6e 00 19 00 09 09 69 66 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 3c 3e 20 22 | .then.....if.pattern_string.<>." |
1c40 | 22 00 06 00 09 09 74 68 65 6e 25 00 09 09 20 20 20 20 74 65 6d 70 20 3a 3d 20 73 75 62 73 74 72 | ".....then%.......temp.:=.substr |
1c60 | 20 28 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 24 00 09 09 09 09 20 20 20 20 6c 65 6e 67 | .(pattern_string,.$.........leng |
1c80 | 74 68 20 28 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 29 2c 20 31 29 3b 32 00 09 09 20 20 20 20 | th.(pattern_string),.1);2....... |
1ca0 | 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 3a 3d 20 73 75 62 73 74 72 20 28 70 61 74 74 65 72 | pattern_string.:=.substr.(patter |
1cc0 | 6e 5f 73 74 72 69 6e 67 2c 20 31 2c 28 00 09 09 09 09 09 20 20 20 20 20 20 6c 65 6e 67 74 68 20 | n_string,.1,(............length. |
1ce0 | 28 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 29 20 2d 20 31 29 3b 3e 00 09 09 20 20 20 20 73 74 | (pattern_string).-.1);>.......st |
1d00 | 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f | atus.:=.lsi_do_sub_pattern.(sub_ |
1d20 | 70 61 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 23 00 09 09 09 09 09 09 20 20 | pattern,.the_function,#......... |
1d40 | 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 20 74 68 65 5f 63 6f 64 65 29 3b 00 2c 00 09 09 | .pattern_string,.the_code);.,... |
1d60 | 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 65 22 29 | ....if.get_info.(status,."type") |
1d80 | 20 3d 20 4b 45 59 57 4f 52 44 0a 00 09 09 20 20 20 20 74 68 65 6e 11 00 09 09 09 72 65 74 75 72 | .=.KEYWORD........then.....retur |
1da0 | 6e 20 73 74 61 74 75 73 3b 00 0c 00 09 09 20 20 20 20 65 6e 64 69 66 3b 00 00 2f 00 09 09 20 20 | n.status;.........endif;../..... |
1dc0 | 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 73 | ..the_pattern.:=.the_pattern.+.s |
1de0 | 75 62 5f 70 61 74 74 65 72 6e 3b 00 2e 00 09 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 | ub_pattern;.........sub_pattern. |
1e00 | 3a 3d 20 22 26 20 73 70 61 6e 28 27 22 20 2b 20 74 65 6d 70 20 2b 20 22 27 29 22 3b 06 00 09 09 | :=."&.span('".+.temp.+."')";.... |
1e20 | 65 6c 73 65 2c 00 09 09 20 20 20 20 69 66 20 73 75 62 73 74 72 20 28 73 75 62 5f 70 61 74 74 65 | else,.......if.substr.(sub_patte |
1e40 | 72 6e 2c 20 33 2c 20 34 29 20 3d 20 22 61 6e 79 28 22 0a 00 09 09 20 20 20 20 74 68 65 6e 2e 00 | rn,.3,.4).=."any("........then.. |
1e60 | 09 09 09 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 73 75 62 73 74 72 20 28 73 75 62 5f 70 61 | ...sub_pattern.:=.substr.(sub_pa |
1e80 | 74 74 65 72 6e 2c 20 31 2c 20 32 29 20 2b 14 00 09 09 09 09 20 20 20 20 20 20 20 22 73 70 61 6e | ttern,.1,.2).+............."span |
1ea0 | 28 22 20 2b 22 00 09 09 09 09 20 20 20 20 20 20 20 73 75 62 73 74 72 20 28 73 75 62 5f 70 61 74 | (".+"............substr.(sub_pat |
1ec0 | 74 65 72 6e 2c 20 37 2c 22 00 09 09 09 09 09 20 20 20 20 20 20 20 6c 65 6e 67 74 68 20 28 73 75 | tern,.7,".............length.(su |
1ee0 | 62 5f 70 61 74 74 65 72 6e 29 29 3b 0a 00 09 09 20 20 20 20 65 6c 73 65 29 00 09 09 09 69 66 20 | b_pattern));........else)....if. |
1f00 | 73 75 62 73 74 72 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 33 2c 20 34 29 20 3d 20 22 61 72 | substr.(sub_pattern,.3,.4).=."ar |
1f20 | 62 28 22 00 07 00 09 09 09 74 68 65 6e 00 16 00 09 09 09 20 20 20 20 70 75 73 68 5f 62 61 63 6b | b("......then..........push_back |
1f40 | 20 3a 3d 20 32 3b 12 00 09 09 09 20 20 20 20 69 20 3a 3d 20 69 20 2d 20 31 3b 07 00 09 09 09 65 | .:=.2;.........i.:=.i.-.1;.....e |
1f60 | 6c 73 65 00 30 00 09 09 09 20 20 20 20 69 66 20 73 75 62 73 74 72 20 28 73 75 62 5f 70 61 74 74 | lse.0........if.substr.(sub_patt |
1f80 | 65 72 6e 2c 20 33 2c 20 37 29 20 3d 20 22 6e 6f 74 61 6e 79 28 22 0b 00 09 09 09 20 20 20 20 74 | ern,.3,.7).=."notany(".........t |
1fa0 | 68 65 6e 00 2f 00 09 09 09 09 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 73 75 62 73 74 72 20 | hen./.....sub_pattern.:=.substr. |
1fc0 | 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 31 2c 20 32 29 20 2b 00 15 00 09 09 09 09 09 20 20 20 | (sub_pattern,.1,.2).+........... |
1fe0 | 20 20 20 20 22 73 63 61 6e 28 22 20 2b 00 24 00 09 09 09 09 09 20 20 20 20 20 20 20 73 75 62 73 | ...."scan(".+.$.............subs |
2000 | 74 72 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 31 30 2c 23 00 09 09 09 09 09 09 20 20 20 20 | tr.(sub_pattern,.10,#........... |
2020 | 20 20 20 6c 65 6e 67 74 68 20 28 73 75 62 5f 70 61 74 74 65 72 6e 29 29 3b 00 0b 00 09 09 09 20 | ...length.(sub_pattern));....... |
2040 | 20 20 20 65 6c 73 65 00 2e 00 09 09 09 09 6d 65 73 73 61 67 65 20 28 22 49 6d 70 72 6f 70 65 72 | ...else.......message.("Improper |
2060 | 20 72 65 70 65 61 74 20 70 61 74 74 65 72 6e 20 75 73 61 67 65 22 29 3b 11 00 09 09 09 09 72 65 | .repeat.pattern.usage");......re |
2080 | 74 75 72 6e 20 46 41 4c 53 45 3b 00 0d 00 09 09 09 20 20 20 20 65 6e 64 69 66 3b 00 09 00 09 09 | turn.FALSE;..........endif;..... |
20a0 | 09 65 6e 64 69 66 3b 00 0c 00 09 09 20 20 20 20 65 6e 64 69 66 3b 08 00 09 09 65 6e 64 69 66 3b | .endif;.........endif;....endif; |
20c0 | 09 00 09 20 20 20 20 65 6c 73 65 00 1b 00 09 09 69 66 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 20 | .......else.....if.the_function. |
20e0 | 3d 20 22 6d 61 74 63 68 22 00 06 00 09 09 74 68 65 6e 24 00 09 09 20 20 20 20 69 66 20 6c 65 6e | =."match".....then$.......if.len |
2100 | 67 74 68 20 28 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 29 20 3e 20 31 0a 00 09 09 20 20 20 20 | gth.(pattern_string).>.1........ |
2120 | 74 68 65 6e 22 00 09 09 09 74 65 6d 70 20 3a 3d 20 73 75 62 73 74 72 20 28 70 61 74 74 65 72 6e | then"....temp.:=.substr.(pattern |
2140 | 5f 73 74 72 69 6e 67 2c 21 00 09 09 09 09 09 6c 65 6e 67 74 68 20 28 70 61 74 74 65 72 6e 5f 73 | _string,!......length.(pattern_s |
2160 | 74 72 69 6e 67 29 2c 20 31 29 3b 00 2f 00 09 09 09 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 | tring),.1);./....pattern_string. |
2180 | 3a 3d 20 73 75 62 73 74 72 20 28 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 20 31 2c 00 25 00 | :=.substr.(pattern_string,.1,.%. |
21a0 | 09 09 09 09 09 09 20 20 6c 65 6e 67 74 68 20 28 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 29 20 | ........length.(pattern_string). |
21c0 | 2d 20 31 29 3b 00 2d 00 09 09 09 73 74 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f | -.1);.-....status.:=.lsi_do_sub_ |
21e0 | 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 00 1a 00 09 09 09 09 09 09 20 20 | pattern.(sub_pattern,........... |
2200 | 20 20 20 20 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 1c 00 09 09 09 09 09 09 20 20 20 20 20 20 | .....the_function,.............. |
2220 | 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 17 00 09 09 09 09 09 09 20 20 20 20 20 20 20 74 | .pattern_string,...............t |
2240 | 68 65 5f 63 6f 64 65 29 3b 00 29 00 09 09 09 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 | he_code);.)....if.get_info.(stat |
2260 | 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 07 00 09 09 09 74 68 65 6e 00 | us,."type").=.KEYWORD......then. |
2280 | 15 00 09 09 09 20 20 20 20 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 00 09 00 09 09 09 65 6e 64 | .........return.status;......end |
22a0 | 69 66 3b 00 00 00 2c 00 09 09 09 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 | if;...,....the_pattern.:=.the_pa |
22c0 | 74 74 65 72 6e 20 2b 20 73 75 62 5f 70 61 74 74 65 72 6e 3b 2b 00 09 09 09 73 75 62 5f 70 61 74 | ttern.+.sub_pattern;+....sub_pat |
22e0 | 74 65 72 6e 20 3a 3d 20 22 26 20 73 70 61 6e 28 27 22 20 2b 20 74 65 6d 70 20 2b 20 22 27 29 22 | tern.:=."&.span('".+.temp.+."')" |
2300 | 3b 00 0a 00 09 09 20 20 20 20 65 6c 73 65 21 00 09 09 09 69 66 20 6c 65 6e 67 74 68 20 28 70 61 | ;.........else!....if.length.(pa |
2320 | 74 74 65 72 6e 5f 73 74 72 69 6e 67 29 20 3d 20 31 00 07 00 09 09 09 74 68 65 6e 00 26 00 09 09 | ttern_string).=.1......then.&... |
2340 | 09 20 20 20 20 74 65 6d 70 20 3a 3d 20 73 75 62 73 74 72 20 28 70 61 74 74 65 72 6e 5f 73 74 72 | .....temp.:=.substr.(pattern_str |
2360 | 69 6e 67 2c 25 00 09 09 09 09 09 20 20 20 20 6c 65 6e 67 74 68 20 28 70 61 74 74 65 72 6e 5f 73 | ing,%..........length.(pattern_s |
2380 | 74 72 69 6e 67 29 2c 20 31 29 3b 00 31 00 09 09 09 20 20 20 20 73 74 61 74 75 73 20 3a 3d 20 6c | tring),.1);.1........status.:=.l |
23a0 | 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 00 | si_do_sub_pattern.(sub_pattern,. |
23c0 | 17 00 09 09 09 09 09 09 09 20 20 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 19 00 09 09 09 09 | ............the_function,....... |
23e0 | 09 09 09 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 14 00 09 09 09 09 09 09 09 20 | ......pattern_string,........... |
2400 | 20 20 74 68 65 5f 63 6f 64 65 29 3b 2d 00 09 09 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f | ..the_code);-........if.get_info |
2420 | 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 0b 00 09 09 | .(status,."type").=.KEYWORD..... |
2440 | 09 20 20 20 20 74 68 65 6e 00 12 00 09 09 09 09 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 0d 00 | .....then.......return.status;.. |
2460 | 09 09 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 30 00 09 09 09 20 20 20 20 74 68 65 5f 70 61 74 | .......endif;...0........the_pat |
2480 | 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 73 75 62 5f 70 61 74 74 65 72 | tern.:=.the_pattern.+.sub_patter |
24a0 | 6e 3b 36 00 09 09 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 22 26 20 28 73 70 | n;6........sub_pattern.:=."&.(sp |
24c0 | 61 6e 28 27 22 20 2b 20 74 65 6d 70 20 2b 20 22 27 29 20 7c 20 27 27 29 22 3b 07 00 09 09 09 65 | an('".+.temp.+."').|.'')";.....e |
24e0 | 6c 73 65 00 34 00 09 09 09 20 20 20 20 6d 65 73 73 61 67 65 20 28 22 43 61 6e 6e 6f 74 20 72 65 | lse.4........message.("Cannot.re |
2500 | 70 65 61 74 20 61 20 77 69 6c 64 63 61 72 64 20 70 61 74 74 65 72 6e 22 29 3b 14 00 09 09 09 20 | peat.a.wildcard.pattern");...... |
2520 | 20 20 20 72 65 74 75 72 6e 20 46 41 4c 53 45 3b 09 00 09 09 09 65 6e 64 69 66 3b 00 0c 00 09 09 | ...return.FALSE;.....endif;..... |
2540 | 20 20 20 20 65 6e 64 69 66 3b 06 00 09 09 65 6c 73 65 33 00 09 09 20 20 20 20 6d 65 73 73 61 67 | ....endif;....else3.......messag |
2560 | 65 20 28 22 43 61 6e 6e 6f 74 20 72 65 70 65 61 74 20 61 20 77 69 6c 64 63 61 72 64 20 70 61 74 | e.("Cannot.repeat.a.wildcard.pat |
2580 | 74 65 72 6e 22 29 3b 00 13 00 09 09 20 20 20 20 72 65 74 75 72 6e 20 46 41 4c 53 45 3b 00 08 00 | tern");.........return.FALSE;... |
25a0 | 09 09 65 6e 64 69 66 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 23 00 09 5b 31 30 5d 3a 09 09 | ..endif;.......endif;.#..[10]:.. |
25c0 | 09 21 20 5c 2e 20 52 65 70 65 61 74 20 28 6d 69 6e 69 6d 75 6d 20 6f 66 20 30 29 00 19 00 09 20 | .!.\..Repeat.(minimum.of.0)..... |
25e0 | 20 20 20 69 66 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 20 3d 20 22 22 00 09 00 09 20 20 20 20 74 | ...if.the_function.=.""........t |
2600 | 68 65 6e 00 19 00 09 09 69 66 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 3c 3e 20 22 22 00 | hen.....if.pattern_string.<>."". |
2620 | 06 00 09 09 74 68 65 6e 25 00 09 09 20 20 20 20 74 65 6d 70 20 3a 3d 20 73 75 62 73 74 72 20 28 | ....then%.......temp.:=.substr.( |
2640 | 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 24 00 09 09 09 09 20 20 20 20 6c 65 6e 67 74 68 | pattern_string,.$.........length |
2660 | 20 28 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 29 2c 20 31 29 3b 32 00 09 09 20 20 20 20 70 61 | .(pattern_string),.1);2.......pa |
2680 | 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 3a 3d 20 73 75 62 73 74 72 20 28 70 61 74 74 65 72 6e 5f | ttern_string.:=.substr.(pattern_ |
26a0 | 73 74 72 69 6e 67 2c 20 31 2c 28 00 09 09 09 09 09 20 20 20 20 20 20 6c 65 6e 67 74 68 20 28 70 | string,.1,(............length.(p |
26c0 | 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 29 20 2d 20 31 29 3b 3e 00 09 09 20 20 20 20 73 74 61 74 | attern_string).-.1);>.......stat |
26e0 | 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 | us.:=.lsi_do_sub_pattern.(sub_pa |
2700 | 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 23 00 09 09 09 09 09 09 20 20 20 70 | ttern,.the_function,#..........p |
2720 | 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 20 74 68 65 5f 63 6f 64 65 29 3b 00 2c 00 09 09 20 20 | attern_string,.the_code);.,..... |
2740 | 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 65 22 29 20 3d | ..if.get_info.(status,."type").= |
2760 | 20 4b 45 59 57 4f 52 44 0a 00 09 09 20 20 20 20 74 68 65 6e 11 00 09 09 09 72 65 74 75 72 6e 20 | .KEYWORD........then.....return. |
2780 | 73 74 61 74 75 73 3b 00 0c 00 09 09 20 20 20 20 65 6e 64 69 66 3b 00 00 2f 00 09 09 20 20 20 20 | status;.........endif;../....... |
27a0 | 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 73 75 62 | the_pattern.:=.the_pattern.+.sub |
27c0 | 5f 70 61 74 74 65 72 6e 3b 00 35 00 09 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d | _pattern;.5.......sub_pattern.:= |
27e0 | 20 22 26 20 28 73 70 61 6e 28 27 22 20 2b 20 74 65 6d 70 20 2b 20 22 27 29 20 7c 20 27 27 29 22 | ."&.(span('".+.temp.+."').|.'')" |
2800 | 3b 00 06 00 09 09 65 6c 73 65 2c 00 09 09 20 20 20 20 69 66 20 73 75 62 73 74 72 20 28 73 75 62 | ;.....else,.......if.substr.(sub |
2820 | 5f 70 61 74 74 65 72 6e 2c 20 33 2c 20 34 29 20 3d 20 22 61 6e 79 28 22 0a 00 09 09 20 20 20 20 | _pattern,.3,.4).=."any("........ |
2840 | 74 68 65 6e 2e 00 09 09 09 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 73 75 62 73 74 72 20 28 | then.....sub_pattern.:=.substr.( |
2860 | 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 31 2c 20 32 29 20 2b 15 00 09 09 09 09 20 20 20 20 20 20 | sub_pattern,.1,.2).+............ |
2880 | 20 22 28 73 70 61 6e 28 22 20 2b 00 22 00 09 09 09 09 20 20 20 20 20 20 20 73 75 62 73 74 72 20 | ."(span(".+."............substr. |
28a0 | 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 37 2c 23 00 09 09 09 09 09 20 20 20 20 20 20 20 6c 65 | (sub_pattern,.7,#.............le |
28c0 | 6e 67 74 68 20 28 73 75 62 5f 70 61 74 74 65 72 6e 29 29 20 2b 00 14 00 09 09 09 09 20 20 20 20 | ngth.(sub_pattern)).+........... |
28e0 | 20 20 20 22 20 7c 20 27 27 29 22 3b 0a 00 09 09 20 20 20 20 65 6c 73 65 29 00 09 09 09 69 66 20 | ...".|.'')";........else)....if. |
2900 | 73 75 62 73 74 72 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 33 2c 20 34 29 20 3d 20 22 61 72 | substr.(sub_pattern,.3,.4).=."ar |
2920 | 62 28 22 00 07 00 09 09 09 74 68 65 6e 00 19 00 09 09 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 | b("......then..........sub_patte |
2940 | 72 6e 20 3a 3d 20 22 22 3b 00 16 00 09 09 09 20 20 20 20 70 75 73 68 5f 62 61 63 6b 20 3a 3d 20 | rn.:=."";..........push_back.:=. |
2960 | 32 3b 12 00 09 09 09 20 20 20 20 69 20 3a 3d 20 69 20 2d 20 31 3b 07 00 09 09 09 65 6c 73 65 00 | 2;.........i.:=.i.-.1;.....else. |
2980 | 30 00 09 09 09 20 20 20 20 69 66 20 73 75 62 73 74 72 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c | 0........if.substr.(sub_pattern, |
29a0 | 20 33 2c 20 37 29 20 3d 20 22 6e 6f 74 61 6e 79 28 22 0b 00 09 09 09 20 20 20 20 74 68 65 6e 00 | .3,.7).=."notany(".........then. |
29c0 | 2f 00 09 09 09 09 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 73 75 62 73 74 72 20 28 73 75 62 | /.....sub_pattern.:=.substr.(sub |
29e0 | 5f 70 61 74 74 65 72 6e 2c 20 31 2c 20 32 29 20 2b 00 16 00 09 09 09 09 09 20 20 20 20 20 20 20 | _pattern,.1,.2).+............... |
2a00 | 22 28 73 63 61 6e 28 22 20 2b 24 00 09 09 09 09 09 20 20 20 20 20 20 20 73 75 62 73 74 72 20 28 | "(scan(".+$.............substr.( |
2a20 | 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 31 30 2c 24 00 09 09 09 09 09 09 20 20 20 20 20 20 20 6c | sub_pattern,.10,$..............l |
2a40 | 65 6e 67 74 68 20 28 73 75 62 5f 70 61 74 74 65 72 6e 29 29 20 2b 15 00 09 09 09 09 09 20 20 20 | ength.(sub_pattern)).+.......... |
2a60 | 20 20 20 20 22 20 7c 20 27 27 29 22 3b 00 0b 00 09 09 09 20 20 20 20 65 6c 73 65 00 31 00 09 09 | ....".|.'')";..........else.1... |
2a80 | 09 09 6d 65 73 73 61 67 65 20 28 22 43 61 6e 6e 6f 74 20 72 65 70 65 61 74 20 61 20 77 69 6c 64 | ..message.("Cannot.repeat.a.wild |
2aa0 | 63 61 72 64 20 70 61 74 74 65 72 6e 22 29 3b 00 11 00 09 09 09 09 72 65 74 75 72 6e 20 46 41 4c | card.pattern");.......return.FAL |
2ac0 | 53 45 3b 00 0d 00 09 09 09 20 20 20 20 65 6e 64 69 66 3b 00 09 00 09 09 09 65 6e 64 69 66 3b 00 | SE;..........endif;......endif;. |
2ae0 | 0c 00 09 09 20 20 20 20 65 6e 64 69 66 3b 08 00 09 09 65 6e 64 69 66 3b 09 00 09 20 20 20 20 65 | ........endif;....endif;.......e |
2b00 | 6c 73 65 00 1b 00 09 09 69 66 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 20 3d 20 22 6d 61 74 63 68 | lse.....if.the_function.=."match |
2b20 | 22 00 06 00 09 09 74 68 65 6e 24 00 09 09 20 20 20 20 69 66 20 6c 65 6e 67 74 68 20 28 70 61 74 | ".....then$.......if.length.(pat |
2b40 | 74 65 72 6e 5f 73 74 72 69 6e 67 29 20 3e 20 31 0a 00 09 09 20 20 20 20 74 68 65 6e 22 00 09 09 | tern_string).>.1........then"... |
2b60 | 09 74 65 6d 70 20 3a 3d 20 73 75 62 73 74 72 20 28 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c | .temp.:=.substr.(pattern_string, |
2b80 | 21 00 09 09 09 09 09 6c 65 6e 67 74 68 20 28 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 29 2c 20 | !......length.(pattern_string),. |
2ba0 | 31 29 3b 00 2f 00 09 09 09 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 3a 3d 20 73 75 62 73 74 | 1);./....pattern_string.:=.subst |
2bc0 | 72 20 28 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 20 31 2c 00 25 00 09 09 09 09 09 09 20 20 | r.(pattern_string,.1,.%......... |
2be0 | 6c 65 6e 67 74 68 20 28 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 29 20 2d 20 31 29 3b 00 2d 00 | length.(pattern_string).-.1);.-. |
2c00 | 09 09 09 73 74 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 | ...status.:=.lsi_do_sub_pattern. |
2c20 | 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 00 1a 00 09 09 09 09 09 09 20 20 20 20 20 20 20 74 68 65 | (sub_pattern,................the |
2c40 | 5f 66 75 6e 63 74 69 6f 6e 2c 1c 00 09 09 09 09 09 09 20 20 20 20 20 20 20 70 61 74 74 65 72 6e | _function,...............pattern |
2c60 | 5f 73 74 72 69 6e 67 2c 17 00 09 09 09 09 09 09 20 20 20 20 20 20 20 74 68 65 5f 63 6f 64 65 29 | _string,...............the_code) |
2c80 | 3b 00 29 00 09 09 09 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 | ;.)....if.get_info.(status,."typ |
2ca0 | 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 07 00 09 09 09 74 68 65 6e 00 15 00 09 09 09 20 20 20 | e").=.KEYWORD......then......... |
2cc0 | 20 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 00 09 00 09 09 09 65 6e 64 69 66 3b 00 00 00 2c 00 | .return.status;......endif;...,. |
2ce0 | 09 09 09 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 | ...the_pattern.:=.the_pattern.+. |
2d00 | 73 75 62 5f 70 61 74 74 65 72 6e 3b 32 00 09 09 09 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 | sub_pattern;2....sub_pattern.:=. |
2d20 | 22 26 20 28 73 70 61 6e 28 27 22 20 2b 20 74 65 6d 70 20 2b 20 22 27 29 20 7c 20 27 27 29 22 3b | "&.(span('".+.temp.+."').|.'')"; |
2d40 | 0a 00 09 09 20 20 20 20 65 6c 73 65 21 00 09 09 09 69 66 20 6c 65 6e 67 74 68 20 28 70 61 74 74 | ........else!....if.length.(patt |
2d60 | 65 72 6e 5f 73 74 72 69 6e 67 29 20 3d 20 31 00 07 00 09 09 09 74 68 65 6e 00 2a 00 09 09 09 20 | ern_string).=.1......then.*..... |
2d80 | 20 20 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 20 3a 3d 20 22 28 22 20 2b 20 74 68 65 5f 66 75 6e | ...the_function.:=."(".+.the_fun |
2da0 | 63 74 69 6f 6e 3b 31 00 09 09 09 20 20 20 20 73 74 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f | ction;1........status.:=.lsi_do_ |
2dc0 | 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 00 17 00 09 09 09 09 | sub_pattern.(sub_pattern,....... |
2de0 | 09 09 09 20 20 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 19 00 09 09 09 09 09 09 09 20 20 20 | ......the_function,............. |
2e00 | 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 14 00 09 09 09 09 09 09 09 20 20 20 74 68 65 5f | pattern_string,.............the_ |
2e20 | 63 6f 64 65 29 3b 2d 00 09 09 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 | code);-........if.get_info.(stat |
2e40 | 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 0b 00 09 09 09 20 20 20 20 74 | us,."type").=.KEYWORD..........t |
2e60 | 68 65 6e 00 12 00 09 09 09 09 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 0d 00 09 09 09 20 20 20 | hen.......return.status;........ |
2e80 | 20 65 6e 64 69 66 3b 00 00 00 30 00 09 09 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a | .endif;...0........sub_pattern.: |
2ea0 | 3d 20 73 75 62 5f 70 61 74 74 65 72 6e 20 2b 20 22 7c 20 72 65 6d 61 69 6e 29 22 3b 07 00 09 09 | =.sub_pattern.+."|.remain)";.... |
2ec0 | 09 65 6c 73 65 00 34 00 09 09 09 20 20 20 20 6d 65 73 73 61 67 65 20 28 22 43 61 6e 6e 6f 74 20 | .else.4........message.("Cannot. |
2ee0 | 72 65 70 65 61 74 20 61 20 77 69 6c 64 63 61 72 64 20 70 61 74 74 65 72 6e 22 29 3b 14 00 09 09 | repeat.a.wildcard.pattern");.... |
2f00 | 09 20 20 20 20 72 65 74 75 72 6e 20 46 41 4c 53 45 3b 09 00 09 09 09 65 6e 64 69 66 3b 00 0c 00 | .....return.FALSE;.....endif;... |
2f20 | 09 09 20 20 20 20 65 6e 64 69 66 3b 06 00 09 09 65 6c 73 65 30 00 09 09 20 20 20 20 6d 65 73 73 | ......endif;....else0.......mess |
2f40 | 61 67 65 20 28 22 49 6d 70 72 6f 70 65 72 20 72 65 70 65 61 74 20 70 61 74 74 65 72 6e 20 75 73 | age.("Improper.repeat.pattern.us |
2f60 | 61 67 65 22 29 3b 13 00 09 09 20 20 20 20 72 65 74 75 72 6e 20 46 41 4c 53 45 3b 00 08 00 09 09 | age");........return.FALSE;..... |
2f80 | 65 6e 64 69 66 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 1c 00 09 5b 31 31 5d 3a 09 09 09 09 | endif;.......endif;....[11]:.... |
2fa0 | 21 20 5c 64 20 44 65 63 69 6d 61 6c 20 64 69 67 69 74 3d 00 09 20 20 20 20 73 74 61 74 75 73 20 | !.\d.Decimal.digit=......status. |
2fc0 | 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 | :=.lsi_do_sub_pattern.(sub_patte |
2fe0 | 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 09 20 20 20 70 61 74 74 | rn,.the_function,...........patt |
3000 | 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 09 09 09 09 09 20 20 20 74 68 65 5f 63 6f 64 65 29 3b | ern_string,...........the_code); |
3020 | 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 | +......if.get_info.(status,."typ |
3040 | 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 6e 00 10 00 09 09 72 65 | e").=.KEYWORD........then.....re |
3060 | 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 2e 00 09 20 | turn.status;.......endif;....... |
3080 | 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 | ...the_pattern.:=.the_pattern.+. |
30a0 | 73 75 62 5f 70 61 74 74 65 72 6e 3b 2a 00 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a | sub_pattern;*......sub_pattern.: |
30c0 | 3d 20 22 26 20 61 6e 79 28 27 31 32 33 34 35 36 37 38 39 30 27 29 22 3b 1a 00 09 5b 31 32 5d 3a | =."&.any('1234567890')";...[12]: |
30e0 | 09 09 09 09 21 20 5c 6f 20 4f 63 74 61 6c 20 64 69 67 69 74 3d 00 09 20 20 20 20 73 74 61 74 75 | ....!.\o.Octal.digit=......statu |
3100 | 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 | s.:=.lsi_do_sub_pattern.(sub_pat |
3120 | 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 09 20 20 20 70 61 | tern,.the_function,...........pa |
3140 | 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 09 09 09 09 09 20 20 20 74 68 65 5f 63 6f 64 65 | ttern_string,...........the_code |
3160 | 29 3b 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 | );+......if.get_info.(status,."t |
3180 | 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 6e 00 10 00 09 09 | ype").=.KEYWORD........then..... |
31a0 | 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 2e 00 | return.status;.......endif;..... |
31c0 | 09 20 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 | .....the_pattern.:=.the_pattern. |
31e0 | 2b 20 73 75 62 5f 70 61 74 74 65 72 6e 3b 28 00 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e | +.sub_pattern;(......sub_pattern |
3200 | 20 3a 3d 20 22 26 20 61 6e 79 28 27 30 31 32 33 34 35 36 37 27 29 22 3b 18 00 09 5b 31 33 5d 3a | .:=."&.any('01234567')";...[13]: |
3220 | 09 09 09 09 21 20 5c 78 20 48 65 78 20 64 69 67 69 74 3d 00 09 20 20 20 20 73 74 61 74 75 73 20 | ....!.\x.Hex.digit=......status. |
3240 | 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 | :=.lsi_do_sub_pattern.(sub_patte |
3260 | 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 09 20 20 20 70 61 74 74 | rn,.the_function,...........patt |
3280 | 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 09 09 09 09 09 20 20 20 74 68 65 5f 63 6f 64 65 29 3b | ern_string,...........the_code); |
32a0 | 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 | +......if.get_info.(status,."typ |
32c0 | 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 6e 00 10 00 09 09 72 65 | e").=.KEYWORD........then.....re |
32e0 | 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 2e 00 09 20 | turn.status;.......endif;....... |
3300 | 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 | ...the_pattern.:=.the_pattern.+. |
3320 | 73 75 62 5f 70 61 74 74 65 72 6e 3b 36 00 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a | sub_pattern;6......sub_pattern.: |
3340 | 3d 20 22 26 20 61 6e 79 28 27 31 32 33 34 35 36 37 38 39 30 61 62 63 64 65 66 41 42 43 44 45 46 | =."&.any('1234567890abcdefABCDEF |
3360 | 27 29 22 3b 1e 00 09 5b 31 34 5d 3a 09 09 09 09 21 20 5c 61 20 41 6c 70 68 61 62 65 74 69 63 20 | ')";...[14]:....!.\a.Alphabetic. |
3380 | 63 68 61 72 3d 00 09 20 20 20 20 73 74 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f | char=......status.:=.lsi_do_sub_ |
33a0 | 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 | pattern.(sub_pattern,.the_functi |
33c0 | 6f 6e 2c 00 17 00 09 09 09 09 09 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 | on,...........pattern_string,... |
33e0 | 09 09 09 09 09 20 20 20 74 68 65 5f 63 6f 64 65 29 3b 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f | ........the_code);+......if.get_ |
3400 | 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 | info.(status,."type").=.KEYWORD. |
3420 | 09 00 09 20 20 20 20 74 68 65 6e 00 10 00 09 09 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 | .......then.....return.status;.. |
3440 | 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 2e 00 09 20 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e | .....endif;..........the_pattern |
3460 | 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 73 75 62 5f 70 61 74 74 65 72 6e 3b 2a 00 | .:=.the_pattern.+.sub_pattern;*. |
3480 | 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 22 26 20 61 6e 79 28 6c 73 69 5f 78 | .....sub_pattern.:=."&.any(lsi_x |
34a0 | 5f 77 69 6c 64 5f 61 29 22 3b 1b 00 09 5b 31 35 5d 3a 09 09 09 09 21 20 5c 6e 20 41 6c 70 68 61 | _wild_a)";...[15]:....!.\n.Alpha |
34c0 | 6e 75 6d 65 72 69 63 00 3d 00 09 20 20 20 20 73 74 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f | numeric.=......status.:=.lsi_do_ |
34e0 | 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 | sub_pattern.(sub_pattern,.the_fu |
3500 | 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 09 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 | nction,...........pattern_string |
3520 | 2c 00 12 00 09 09 09 09 09 20 20 20 74 68 65 5f 63 6f 64 65 29 3b 2b 00 09 20 20 20 20 69 66 20 | ,...........the_code);+......if. |
3540 | 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 59 57 | get_info.(status,."type").=.KEYW |
3560 | 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 6e 00 10 00 09 09 72 65 74 75 72 6e 20 73 74 61 74 75 | ORD........then.....return.statu |
3580 | 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 2e 00 09 20 20 20 20 74 68 65 5f 70 61 74 | s;.......endif;..........the_pat |
35a0 | 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 73 75 62 5f 70 61 74 74 65 72 | tern.:=.the_pattern.+.sub_patter |
35c0 | 6e 3b 2a 00 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 22 26 20 61 6e 79 28 6c | n;*......sub_pattern.:=."&.any(l |
35e0 | 73 69 5f 78 5f 77 69 6c 64 5f 6e 29 22 3b 21 00 09 5b 31 36 5d 3a 09 09 09 09 21 20 5c 73 20 53 | si_x_wild_n)";!..[16]:....!.\s.S |
3600 | 79 6d 62 6f 6c 20 63 6f 6e 73 74 69 74 75 65 6e 74 00 3d 00 09 20 20 20 20 73 74 61 74 75 73 20 | ymbol.constituent.=......status. |
3620 | 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 | :=.lsi_do_sub_pattern.(sub_patte |
3640 | 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 09 20 20 20 70 61 74 74 | rn,.the_function,...........patt |
3660 | 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 09 09 09 09 09 20 20 20 74 68 65 5f 63 6f 64 65 29 3b | ern_string,...........the_code); |
3680 | 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 | +......if.get_info.(status,."typ |
36a0 | 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 6e 00 10 00 09 09 72 65 | e").=.KEYWORD........then.....re |
36c0 | 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 2e 00 09 20 | turn.status;.......endif;....... |
36e0 | 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 | ...the_pattern.:=.the_pattern.+. |
3700 | 73 75 62 5f 70 61 74 74 65 72 6e 3b 2a 00 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a | sub_pattern;*......sub_pattern.: |
3720 | 3d 20 22 26 20 61 6e 79 28 6c 73 69 5f 78 5f 77 69 6c 64 5f 73 29 22 3b 20 00 09 5b 31 37 5d 3a | =."&.any(lsi_x_wild_s)";...[17]: |
3740 | 09 09 09 09 21 20 5c 6c 20 4c 6f 77 65 72 20 63 61 73 65 20 6c 65 74 74 65 72 3d 00 09 20 20 20 | ....!.\l.Lower.case.letter=..... |
3760 | 20 73 74 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 | .status.:=.lsi_do_sub_pattern.(s |
3780 | 75 62 5f 70 61 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 | ub_pattern,.the_function,....... |
37a0 | 09 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 09 09 09 09 09 20 20 20 74 68 | ....pattern_string,...........th |
37c0 | 65 5f 63 6f 64 65 29 3b 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 | e_code);+......if.get_info.(stat |
37e0 | 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 | us,."type").=.KEYWORD........the |
3800 | 6e 00 10 00 09 09 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 | n.....return.status;.......endif |
3820 | 3b 00 00 00 2e 00 09 20 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 | ;..........the_pattern.:=.the_pa |
3840 | 74 74 65 72 6e 20 2b 20 73 75 62 5f 70 61 74 74 65 72 6e 3b 2a 00 09 20 20 20 20 73 75 62 5f 70 | ttern.+.sub_pattern;*......sub_p |
3860 | 61 74 74 65 72 6e 20 3a 3d 20 22 26 20 61 6e 79 28 6c 73 69 5f 58 5f 57 49 4c 44 5f 4c 29 22 3b | attern.:=."&.any(lsi_X_WILD_L)"; |
3880 | 20 00 09 5b 31 38 5d 3a 09 09 09 09 21 20 5c 75 20 55 70 70 65 72 20 63 61 73 65 20 6c 65 74 74 | ...[18]:....!.\u.Upper.case.lett |
38a0 | 65 72 3d 00 09 20 20 20 20 73 74 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 | er=......status.:=.lsi_do_sub_pa |
38c0 | 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e | ttern.(sub_pattern,.the_function |
38e0 | 2c 00 17 00 09 09 09 09 09 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 09 09 | ,...........pattern_string,..... |
3900 | 09 09 09 20 20 20 74 68 65 5f 63 6f 64 65 29 3b 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e | ......the_code);+......if.get_in |
3920 | 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 | fo.(status,."type").=.KEYWORD... |
3940 | 09 20 20 20 20 74 68 65 6e 00 10 00 09 09 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 | .....then.....return.status;.... |
3960 | 20 20 20 65 6e 64 69 66 3b 00 00 00 2e 00 09 20 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a | ...endif;..........the_pattern.: |
3980 | 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 73 75 62 5f 70 61 74 74 65 72 6e 3b 2a 00 09 20 | =.the_pattern.+.sub_pattern;*... |
39a0 | 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 22 26 20 61 6e 79 28 6c 73 69 5f 58 5f 57 | ...sub_pattern.:=."&.any(lsi_X_W |
39c0 | 49 4c 44 5f 55 29 22 3b 1f 00 09 5b 31 39 5d 3a 09 09 09 09 21 20 5c 70 20 50 75 6e 63 74 75 61 | ILD_U)";...[19]:....!.\p.Punctua |
39e0 | 74 69 6f 6e 20 6d 61 72 6b 00 3d 00 09 20 20 20 20 73 74 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 | tion.mark.=......status.:=.lsi_d |
3a00 | 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 74 68 65 5f | o_sub_pattern.(sub_pattern,.the_ |
3a20 | 66 75 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 09 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 | function,...........pattern_stri |
3a40 | 6e 67 2c 00 12 00 09 09 09 09 09 20 20 20 74 68 65 5f 63 6f 64 65 29 3b 2b 00 09 20 20 20 20 69 | ng,...........the_code);+......i |
3a60 | 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 | f.get_info.(status,."type").=.KE |
3a80 | 59 57 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 6e 00 10 00 09 09 72 65 74 75 72 6e 20 73 74 61 | YWORD........then.....return.sta |
3aa0 | 74 75 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 2e 00 09 20 20 20 20 74 68 65 5f 70 | tus;.......endif;..........the_p |
3ac0 | 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 73 75 62 5f 70 61 74 74 | attern.:=.the_pattern.+.sub_patt |
3ae0 | 65 72 6e 3b 2a 00 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 22 26 20 61 6e 79 | ern;*......sub_pattern.:=."&.any |
3b00 | 28 6c 73 69 5f 78 5f 77 69 6c 64 5f 70 29 22 3b 23 00 09 5b 32 30 5d 3a 09 09 09 09 21 20 5c 66 | (lsi_x_wild_p)";#..[20]:....!.\f |
3b20 | 20 46 6f 72 6d 61 74 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 00 3d 00 09 20 20 20 20 73 74 61 | .Formatting.character.=......sta |
3b40 | 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 | tus.:=.lsi_do_sub_pattern.(sub_p |
3b60 | 61 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 09 20 20 20 | attern,.the_function,........... |
3b80 | 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 09 09 09 09 09 20 20 20 74 68 65 5f 63 6f | pattern_string,...........the_co |
3ba0 | 64 65 29 3b 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 | de);+......if.get_info.(status,. |
3bc0 | 22 74 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 6e 00 10 00 | "type").=.KEYWORD........then... |
3be0 | 09 09 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 | ..return.status;.......endif;... |
3c00 | 2e 00 09 20 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 | .......the_pattern.:=.the_patter |
3c20 | 6e 20 2b 20 73 75 62 5f 70 61 74 74 65 72 6e 3b 2a 00 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 | n.+.sub_pattern;*......sub_patte |
3c40 | 72 6e 20 3a 3d 20 22 26 20 61 6e 79 28 6c 73 69 5f 78 5f 77 69 6c 64 5f 66 29 22 3b 16 00 09 5b | rn.:=."&.any(lsi_x_wild_f)";...[ |
3c60 | 32 31 5d 3a 09 09 09 09 21 20 5c 5e 20 63 6f 6e 74 72 6f 6c 3d 00 09 20 20 20 20 73 74 61 74 75 | 21]:....!.\^.control=......statu |
3c80 | 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 | s.:=.lsi_do_sub_pattern.(sub_pat |
3ca0 | 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 17 00 09 09 09 09 09 20 20 20 70 61 | tern,.the_function,...........pa |
3cc0 | 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 09 09 09 09 09 20 20 20 74 68 65 5f 63 6f 64 65 | ttern_string,...........the_code |
3ce0 | 29 3b 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 | );+......if.get_info.(status,."t |
3d00 | 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 09 20 20 20 20 74 68 65 6e 00 10 00 09 09 | ype").=.KEYWORD........then..... |
3d20 | 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 2e 00 | return.status;.......endif;..... |
3d40 | 09 20 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 | .....the_pattern.:=.the_pattern. |
3d60 | 2b 20 73 75 62 5f 70 61 74 74 65 72 6e 3b 30 00 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e | +.sub_pattern;0......sub_pattern |
3d80 | 20 3a 3d 20 22 26 20 61 6e 79 28 6c 73 69 5f 78 5f 77 69 6c 64 5f 63 6f 6e 74 72 6f 6c 29 22 3b | .:=."&.any(lsi_x_wild_control)"; |
3da0 | 21 00 09 5b 32 32 5d 3a 09 09 09 09 21 20 5c 2b 20 43 68 61 72 61 63 74 65 72 73 20 31 32 38 2d | !..[22]:....!.\+.Characters.128- |
3dc0 | 32 35 35 00 3d 00 09 20 20 20 20 73 74 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f | 255.=......status.:=.lsi_do_sub_ |
3de0 | 70 61 74 74 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 | pattern.(sub_pattern,.the_functi |
3e00 | 6f 6e 2c 00 17 00 09 09 09 09 09 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 | on,...........pattern_string,... |
3e20 | 09 09 09 09 09 20 20 20 74 68 65 5f 63 6f 64 65 29 3b 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f | ........the_code);+......if.get_ |
3e40 | 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 | info.(status,."type").=.KEYWORD. |
3e60 | 09 00 09 20 20 20 20 74 68 65 6e 00 10 00 09 09 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 | .......then.....return.status;.. |
3e80 | 09 20 20 20 20 65 6e 64 69 66 3b 00 00 00 2e 00 09 20 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e | .....endif;..........the_pattern |
3ea0 | 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 73 75 62 5f 70 61 74 74 65 72 6e 3b 2e 00 | .:=.the_pattern.+.sub_pattern;.. |
3ec0 | 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 22 26 20 61 6e 79 28 6c 73 69 5f 78 | .....sub_pattern.:=."&.any(lsi_x |
3ee0 | 5f 77 69 6c 64 5f 62 69 74 5f 37 29 22 3b 2f 00 09 5b 32 36 5d 3a 09 09 09 09 21 20 5c 7c 20 50 | _wild_bit_7)";/..[26]:....!.\|.P |
3f00 | 72 65 76 69 6f 75 73 20 70 61 74 74 65 72 6e 20 6f 72 20 6e 65 78 74 20 70 61 74 74 65 72 6e 00 | revious.pattern.or.next.pattern. |
3f20 | 3d 00 09 20 20 20 20 73 74 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 | =......status.:=.lsi_do_sub_patt |
3f40 | 65 72 6e 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 00 | ern.(sub_pattern,.the_function,. |
3f60 | 17 00 09 09 09 09 09 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 00 12 00 09 09 09 09 | ..........pattern_string,....... |
3f80 | 09 20 20 20 74 68 65 5f 63 6f 64 65 29 3b 2b 00 09 20 20 20 20 69 66 20 67 65 74 5f 69 6e 66 6f | ....the_code);+......if.get_info |
3fa0 | 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 59 57 4f 52 44 00 09 00 09 20 | .(status,."type").=.KEYWORD..... |
3fc0 | 20 20 20 74 68 65 6e 00 10 00 09 09 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 0b 00 09 20 20 20 | ...then.....return.status;...... |
3fe0 | 20 65 6e 64 69 66 3b 00 00 00 2e 00 09 20 20 20 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 | .endif;..........the_pattern.:=. |
4000 | 74 68 65 5f 70 61 74 74 65 72 6e 20 2b 20 73 75 62 5f 70 61 74 74 65 72 6e 3b 17 00 09 20 20 20 | the_pattern.+.sub_pattern;...... |
4020 | 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 22 7c 22 20 1d 00 09 5b 32 39 5d 3a 09 09 09 09 | .sub_pattern.:=."|"....[29]:.... |
4040 | 21 20 7e 20 4e 6f 74 20 75 73 65 64 20 69 6e 20 5c 5b 5d 20 33 00 09 20 20 20 20 70 61 74 74 65 | !.~.Not.used.in.\[].3......patte |
4060 | 72 6e 5f 73 74 72 69 6e 67 20 3a 3d 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 20 2b 20 63 6f | rn_string.:=.pattern_string.+.co |
4080 | 64 65 5f 63 6c 6f 73 65 3b 72 2b 00 09 20 20 20 20 74 68 65 5f 73 74 72 69 6e 67 20 3a 3d 20 74 | de_close;r+......the_string.:=.t |
40a0 | 68 65 5f 73 74 72 69 6e 67 20 2b 20 63 6f 64 65 5f 63 6c 6f 73 65 3b 20 0c 00 09 5b 6f 75 74 72 | he_string.+.code_close;....[outr |
40c0 | 61 6e 67 65 5d 3a 45 00 09 20 20 20 20 6d 65 73 73 61 67 65 20 28 66 61 6f 28 22 55 6e 72 65 63 | ange]:E......message.(fao("Unrec |
40e0 | 6f 67 6e 69 7a 65 64 20 77 69 6c 64 2d 63 61 72 64 20 66 75 6e 63 74 69 6f 6e 3a 20 21 41 53 22 | ognized.wild-card.function:.!AS" |
4100 | 2c 20 74 68 65 5f 63 68 61 72 29 29 3b 25 12 00 09 20 20 20 20 72 65 74 75 72 6e 20 46 41 4c 53 | ,.the_char));%.......return.FALS |
4120 | 45 3b 0b 00 09 5b 69 6e 72 61 6e 67 65 5d 3a 61 46 00 09 20 20 20 20 6d 65 73 73 61 67 65 20 28 | E;...[inrange]:aF......message.( |
4140 | 66 61 6f 28 22 55 6e 69 6d 70 6c 69 6d 65 6e 74 65 64 20 77 69 6c 64 2d 63 61 72 64 20 66 75 6e | fao("Unimplimented.wild-card.fun |
4160 | 63 74 69 6f 6e 3a 20 21 41 53 22 2c 20 74 68 65 5f 63 68 61 72 29 29 3b 12 00 09 20 20 20 20 72 | ction:.!AS",.the_char));.......r |
4180 | 65 74 75 72 6e 20 46 41 4c 53 45 3b 0c 00 20 20 20 20 65 6e 64 63 61 73 65 3b 08 00 65 6e 64 6c | eturn.FALSE;......endcase;..endl |
41a0 | 6f 6f 70 3b 02 00 21 2b 2d 00 21 20 20 20 45 6d 70 74 79 20 6f 75 74 20 70 61 74 74 65 72 6e 5f | oop;..!+-.!...Empty.out.pattern_ |
41c0 | 73 74 72 69 6e 67 20 69 6e 74 6f 20 74 68 65 5f 70 61 74 74 65 72 6e 6c 02 00 21 2d 38 00 73 74 | string.into.the_patternl..!-8.st |
41e0 | 61 74 75 73 20 3a 3d 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e 20 28 73 75 62 5f | atus.:=.lsi_do_sub_pattern.(sub_ |
4200 | 70 61 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 2c 24 00 09 09 09 20 20 20 20 20 | pattern,.the_function,$......... |
4220 | 20 20 70 61 74 74 65 72 6e 5f 73 74 72 69 6e 67 2c 20 74 68 65 5f 63 6f 64 65 29 3b 26 00 69 66 | ..pattern_string,.the_code);&.if |
4240 | 20 67 65 74 5f 69 6e 66 6f 20 28 73 74 61 74 75 73 2c 20 22 74 79 70 65 22 29 20 3d 20 4b 45 59 | .get_info.(status,."type").=.KEY |
4260 | 57 4f 52 44 04 00 74 68 65 6e 12 00 20 20 20 20 72 65 74 75 72 6e 20 73 74 61 74 75 73 3b 06 00 | WORD..then......return.status;.. |
4280 | 65 6e 64 69 66 3b 00 00 29 00 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 74 68 65 5f 70 61 74 | endif;..).the_pattern.:=.the_pat |
42a0 | 74 65 72 6e 20 2b 20 73 75 62 5f 70 61 74 74 65 72 6e 3b 55 12 00 73 75 62 5f 70 61 74 74 65 72 | tern.+.sub_pattern;U..sub_patter |
42c0 | 6e 20 3a 3d 20 22 22 3b 41 00 74 68 65 5f 70 61 74 74 65 72 6e 20 3a 3d 20 73 75 62 73 74 72 20 | n.:=."";A.the_pattern.:=.substr. |
42e0 | 28 74 68 65 5f 70 61 74 74 65 72 6e 2c 20 33 2c 20 6c 65 6e 67 74 68 20 28 74 68 65 5f 70 61 74 | (the_pattern,.3,.length.(the_pat |
4300 | 74 65 72 6e 29 20 2d 20 32 29 3b 45 02 00 21 2b 2e 00 21 20 20 20 52 65 74 75 72 6e 20 65 69 74 | tern).-.2);E..!+..!...Return.eit |
4320 | 68 65 72 20 61 20 73 74 72 69 6e 67 20 6f 72 20 61 20 70 61 74 74 65 72 6e 20 73 74 72 69 6e 67 | her.a.string.or.a.pattern.string |
4340 | 02 00 21 2d 2d 00 21 6d 65 73 73 61 67 65 20 28 66 61 6f 20 28 22 50 61 74 74 65 72 6e 3a 20 21 | ..!--.!message.(fao.("Pattern:.! |
4360 | 41 53 22 2c 20 74 68 65 5f 70 61 74 74 65 72 6e 29 29 3b 20 07 00 21 61 62 6f 72 74 3b 72 28 00 | AS",.the_pattern));...!abort;r(. |
4380 | 69 66 20 74 68 65 5f 70 61 74 74 65 72 6e 20 3c 3e 20 22 27 22 20 2b 20 74 68 65 5f 73 74 72 69 | if.the_pattern.<>."'".+.the_stri |
43a0 | 6e 67 20 2b 20 22 27 22 04 00 74 68 65 6e 21 00 20 20 20 20 72 65 73 75 6c 74 5f 73 74 72 69 6e | ng.+."'"..then!.....result_strin |
43c0 | 67 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 72 6e 3b 2c 13 00 20 20 20 20 72 65 74 75 72 6e 20 50 | g.:=.the_pattern;,......return.P |
43e0 | 41 54 54 45 52 4e 3b 61 04 00 65 6c 73 65 20 00 20 20 20 20 72 65 73 75 6c 74 5f 73 74 72 69 6e | ATTERN;a..else......result_strin |
4400 | 67 20 3a 3d 20 74 68 65 5f 73 74 72 69 6e 67 3b 12 00 20 20 20 20 72 65 74 75 72 6e 20 53 54 52 | g.:=.the_string;......return.STR |
4420 | 49 4e 47 3b 06 00 65 6e 64 69 66 3b 00 00 20 00 65 6e 64 70 72 6f 63 65 64 75 72 65 20 21 20 6c | ING;..endif;....endprocedure.!.l |
4440 | 73 69 5f 62 75 69 6c 64 5f 70 61 74 74 65 72 6e 01 00 0c 5f 30 00 70 72 6f 63 65 64 75 72 65 20 | si_build_pattern..._0.procedure. |
4460 | 6c 73 69 5f 77 69 6c 64 63 61 72 64 5f 6d 6f 64 75 6c 65 5f 69 6e 69 74 09 21 20 4d 6f 64 75 6c | lsi_wildcard_module_init.!.Modul |
4480 | 65 20 49 6e 69 74 00 00 0d 00 6c 6f 63 61 6c 20 20 20 74 65 6d 70 3b 77 00 00 1e 00 77 68 69 74 | e.Init....local...temp;w....whit |
44a0 | 65 73 70 61 63 65 20 3a 3d 20 27 20 27 20 2b 20 41 53 43 49 49 20 28 39 29 3b 3d 00 6c 73 69 5f | espace.:=.'.'.+.ASCII.(9);=.lsi_ |
44c0 | 78 5f 77 73 5f 70 61 74 20 3a 3d 20 73 70 61 6e 20 28 77 68 69 74 65 73 70 61 63 65 29 20 7c 20 | x_ws_pat.:=.span.(whitespace).|. |
44e0 | 28 28 73 70 61 6e 20 28 77 68 69 74 65 73 70 61 63 65 29 20 7c 20 22 22 29 5f 14 00 09 09 09 09 | ((span.(whitespace).|."")_...... |
4500 | 09 20 20 20 20 20 26 20 6c 69 6e 65 5f 65 6e 64 26 00 09 09 09 09 09 20 20 20 20 20 26 20 28 73 | ......&.line_end&...........&.(s |
4520 | 70 61 6e 20 28 77 68 69 74 65 73 70 61 63 65 29 20 7c 20 22 22 29 29 3b 00 00 43 00 6c 73 69 5f | pan.(whitespace).|.""));..C.lsi_ |
4540 | 78 5f 77 69 6c 64 5f 66 75 6e 63 74 69 6f 6e 73 20 20 20 20 20 20 20 20 20 20 20 20 3a 3d 20 22 | x_wild_functions............:=." |
4560 | 5c 2a 25 5c 5c 5c 5c 5d 5c 5c 5c 5c 5c 5c 5c 5c 5c 5c 5c 5c 5c 5c 5c 5c 5c 5c 5c 5c 7e 22 3b 74 | \*%\\\\]\\\\\\\\\\\\\\\\\\\\~";t |
4580 | 43 00 6c 73 69 5f 78 5f 77 69 6c 64 5f 73 75 62 5f 66 75 6e 63 74 69 6f 6e 73 20 20 20 20 20 20 | C.lsi_x_wild_sub_functions...... |
45a0 | 20 20 3a 3d 20 22 5c 5c 5c 77 3c 3e 5b 5c 3a 2e 64 6f 78 61 6e 73 6c 75 70 66 5e 2b 3f 5c 5c 7c | ..:=."\\\w<>[\:.doxanslupf^+?\\| |
45c0 | 5c 5c 5c 22 3b 5f 26 00 21 09 09 09 09 20 20 20 20 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e | \\\";_&.!........^^^^^^^^^^^^^^^ |
45e0 | 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 5e 41 00 21 20 20 31 20 22 5c 22 20 20 49 6e 74 72 6f 64 | ^^^^^^^^^^^^^^A.!..1."\"..Introd |
4600 | 75 63 65 72 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c | ucer.---------------+||||||||||| |
4620 | 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 73 41 00 21 20 20 32 20 22 2a 22 20 20 57 69 | |||||||||||||||||sA.!..2."*"..Wi |
4640 | 6c 64 63 61 72 64 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c | ldcard.------------------+|||||| |
4660 | 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 20 41 00 21 20 20 33 20 22 25 22 | |||||||||||||||||||||.A.!..3."%" |
4680 | 20 20 41 52 42 20 28 70 6c 61 63 65 20 68 6f 6c 64 65 72 29 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c | ..ARB.(place.holder)----------+| |
46a0 | 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 3b 41 00 21 20 20 34 | |||||||||||||||||||||||||;A.!..4 |
46c0 | 20 22 5c 77 22 20 57 68 69 74 65 73 70 61 63 65 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ."\w".Whitespace.--------------- |
46e0 | 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 20 41 00 | ---+|||||||||||||||||||||||||.A. |
4700 | 21 20 20 35 20 22 5c 3c 22 20 42 4f 4c 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | !..5."\<".BOL.------------------ |
4720 | 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c | --------+||||||||||||||||||||||| |
4740 | 7c 65 41 00 21 20 20 36 20 22 5c 3e 22 20 45 4f 4c 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | |eA.!..6."\>".EOL.-------------- |
4760 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c | -------------+|||||||||||||||||| |
4780 | 7c 7c 7c 7c 7c 70 41 00 21 20 20 37 20 22 5c 5b 22 20 41 4e 59 20 28 73 65 74 20 6f 66 20 63 68 | |||||pA.!..7."\[".ANY.(set.of.ch |
47a0 | 61 72 61 63 74 65 72 73 29 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c | aracters)---------+||||||||||||| |
47c0 | 7c 7c 7c 7c 7c 7c 7c 7c 7c 65 41 00 21 20 20 38 20 22 5d 22 20 20 43 6c 6f 73 65 20 41 4e 59 20 | |||||||||eA.!..8."]"..Close.ANY. |
47e0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c | -----------------------+|||||||| |
4800 | 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 28 41 00 21 20 20 39 20 22 5c 3a 22 20 52 45 50 45 41 54 | |||||||||||||(A.!..9."\:".REPEAT |
4820 | 20 28 61 74 20 6c 65 61 73 74 20 31 29 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c | .(at.least.1).--------------+||| |
4840 | 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 65 41 00 21 20 31 30 20 22 5c 2e 22 20 52 45 | |||||||||||||||||eA.!.10."\.".RE |
4860 | 50 45 41 54 20 28 7a 65 72 6f 20 6f 72 20 6d 6f 72 65 29 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | PEAT.(zero.or.more).------------ |
4880 | 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 09 41 00 21 20 31 31 20 22 5c 64 | -+|||||||||||||||||||.A.!.11."\d |
48a0 | 22 20 44 65 63 69 6d 61 6c 20 64 69 67 69 74 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ".Decimal.digit.---------------- |
48c0 | 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 09 41 00 21 20 31 32 | ------+||||||||||||||||||.A.!.12 |
48e0 | 20 22 5c 6f 22 20 4f 63 74 61 6c 20 64 69 67 69 74 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ."\o".Octal.digit.-------------- |
4900 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 20 41 00 | -----------+|||||||||||||||||.A. |
4920 | 21 20 31 33 20 22 5c 68 22 20 48 65 78 20 64 69 67 69 74 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | !.13."\h".Hex.digit.------------ |
4940 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c | ----------------+||||||||||||||| |
4960 | 7c 5f 41 00 21 20 31 34 20 22 5c 61 22 20 41 6c 70 68 61 62 65 74 69 63 20 2d 2d 2d 2d 2d 2d 2d | |_A.!.14."\a".Alphabetic.------- |
4980 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c | ---------------------+|||||||||| |
49a0 | 7c 7c 7c 7c 7c 09 41 00 21 20 31 35 20 22 5c 6e 22 20 41 6c 70 68 61 6e 75 6d 65 72 69 63 20 2d | |||||.A.!.15."\n".Alphanumeric.- |
49c0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c | --------------------------+||||| |
49e0 | 7c 7c 7c 7c 7c 7c 7c 7c 7c 75 41 00 21 20 31 36 20 22 5c 73 22 20 53 79 6d 62 6f 6c 20 63 6f 6e | |||||||||uA.!.16."\s".Symbol.con |
4a00 | 73 74 69 74 75 65 6e 74 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b | stituent.----------------------+ |
4a20 | 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 64 41 00 21 20 31 37 20 22 5c 6c 22 20 4c 6f 77 65 72 20 | |||||||||||||dA.!.17."\l".Lower. |
4a40 | 63 61 73 65 20 6c 65 74 74 65 72 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | case.letter.-------------------- |
4a60 | 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 6e 41 00 21 20 31 38 20 22 5c 75 22 20 55 70 | ----+||||||||||||nA.!.18."\u".Up |
4a80 | 70 65 72 20 63 61 73 65 20 6c 65 74 74 65 72 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | per.case.letter.---------------- |
4aa0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 09 41 00 21 20 31 39 20 22 5c 70 | ---------+|||||||||||.A.!.19."\p |
4ac0 | 22 20 50 75 6e 63 74 75 61 74 69 6f 6e 20 63 68 61 72 61 63 74 65 72 2d 2d 2d 2d 2d 2d 2d 2d 2d | ".Punctuation.character--------- |
4ae0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c 7c 7c 77 41 00 21 20 32 30 | --------------+||||||||||wA.!.20 |
4b00 | 20 22 5c 66 22 20 46 6f 72 6d 61 74 74 69 6e 67 20 63 68 61 72 61 63 74 65 72 2d 2d 2d 2d 2d 2d | ."\f".Formatting.character------ |
4b20 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c 7c 7c 5f 41 00 | -------------------+|||||||||_A. |
4b40 | 21 20 32 31 20 22 5c 5e 22 20 43 6f 6e 74 72 6f 6c 20 28 43 30 20 6f 72 20 43 31 29 20 63 68 61 | !.21."\^".Control.(C0.or.C1).cha |
4b60 | 72 61 63 74 65 72 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 7c 7c | racter------------------+||||||| |
4b80 | 7c 09 41 00 21 20 32 32 20 22 5c 2b 22 20 41 6e 79 20 63 68 61 72 61 63 74 65 72 20 77 69 74 68 | |.A.!.22."\+".Any.character.with |
4ba0 | 20 62 69 74 20 37 20 73 65 74 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c | .bit.7.set-------------------+|| |
4bc0 | 7c 7c 7c 7c 7c 75 41 00 21 20 32 33 20 22 5c 3f 22 20 41 6e 79 20 63 68 61 72 61 63 74 65 72 20 | |||||uA.!.23."\?".Any.character. |
4be0 | 6f 72 20 42 4f 4c 2c 20 45 4f 4c 20 28 42 4f 46 2c 20 26 20 45 4f 46 29 2d 2d 2d 2d 2d 2d 2d 2d | or.BOL,.EOL.(BOF,.&.EOF)-------- |
4c00 | 2d 2d 2b 7c 7c 7c 7c 7c 7c 20 41 00 21 20 32 34 20 22 5c 28 22 20 4f 70 65 6e 20 50 61 72 65 6e | --+||||||.A.!.24."\(".Open.Paren |
4c20 | 74 68 65 73 69 73 20 66 6f 72 20 67 72 6f 75 70 69 6e 67 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | thesis.for.grouping.------------ |
4c40 | 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 7c 00 41 00 21 20 32 35 20 22 5c 29 22 20 43 6c 6f 73 65 20 | -------+|||||.A.!.25."\)".Close. |
4c60 | 50 61 72 65 6e 74 65 73 69 73 20 66 6f 72 20 67 72 6f 75 70 69 6e 67 20 2d 2d 2d 2d 2d 2d 2d 2d | Parentesis.for.grouping.-------- |
4c80 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 7c 22 41 00 21 20 32 36 20 22 5c 7c 22 20 50 72 | ------------+||||"A.!.26."\|".Pr |
4ca0 | 65 76 69 6f 75 73 20 70 61 74 74 65 72 6e 20 6f 72 20 6e 65 78 74 20 70 61 74 74 65 72 6e 20 2d | evious.pattern.or.next.pattern.- |
4cc0 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 7c 00 41 00 21 20 32 37 20 22 5c 62 | -----------------+|||.A.!.27."\b |
4ce0 | 22 20 42 6f 74 74 6f 6d 20 6f 66 20 66 69 6c 65 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ".Bottom.of.file.--------------- |
4d00 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 7c 74 41 00 21 20 32 38 | ----------------------+||tA.!.28 |
4d20 | 20 22 5c 74 22 20 54 6f 70 20 6f 66 20 66 69 6c 65 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | ."\t".Top.of.file.-------------- |
4d40 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2b 7c 74 41 00 | ---------------------------+|tA. |
4d60 | 21 20 32 39 20 22 7e 22 20 20 4e 6f 74 20 28 75 73 65 64 20 69 6e 20 5c 5b 2e 2e 2e 5d 29 20 2d | !.29."~"..Not.(used.in.\[...]).- |
4d80 | 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d | -------------------------------- |
4da0 | 2b 00 00 00 2c 00 6c 73 69 5f 78 5f 77 69 6c 64 5f 61 20 3a 3d 20 22 61 62 63 64 65 66 67 68 69 | +...,.lsi_x_wild_a.:=."abcdefghi |
4dc0 | 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 22 21 00 09 09 20 2b 20 22 41 42 43 44 45 46 | jklmnopqrstuvwxyz"!....+."ABCDEF |
4de0 | 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 22 64 1b 00 21 25 49 46 20 6e 6f 74 | GHIJKLMNOPQRSTUVWXYZ"d..!%IF.not |
4e00 | 20 65 76 65 24 78 5f 6f 70 74 69 6f 6e 5f 32 62 79 74 65 68 06 00 21 25 54 48 45 4e 24 00 09 09 | .eve$x_option_2byteh..!%THEN$... |
4e20 | 20 2b 20 22 e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 ea eb ec ed ee ef f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc | .+."............................ |
4e40 | fd 22 25 00 09 09 20 2b 20 22 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d1 d2 d3 d4 d5 d6 | ."%....+."...................... |
4e60 | d7 d8 d9 da db dc dd df 22 2c 07 00 21 25 45 4e 44 49 46 72 04 00 09 09 20 3b 2c 00 6c 73 69 5f | ........",..!%ENDIFr.....;,.lsi_ |
4e80 | 78 5f 77 69 6c 64 5f 6c 20 3a 3d 20 22 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 | x_wild_l.:=."abcdefghijklmnopqrs |
4ea0 | 74 75 76 77 78 79 7a 22 1b 00 21 25 49 46 20 6e 6f 74 20 65 76 65 24 78 5f 6f 70 74 69 6f 6e 5f | tuvwxyz"..!%IF.not.eve$x_option_ |
4ec0 | 32 62 79 74 65 2d 06 00 21 25 54 48 45 4e 25 00 09 09 20 2b 20 22 e0 e1 e2 e3 e4 e5 e6 e7 e8 e9 | 2byte-..!%THEN%....+.".......... |
4ee0 | ea eb ec ed ee ef f1 f2 f3 f4 f5 f6 f7 f8 f9 fa fb fc fd df 22 00 07 00 21 25 45 4e 44 49 46 09 | ...................."...!%ENDIF. |
4f00 | 04 00 09 09 20 3b 2c 00 6c 73 69 5f 78 5f 77 69 6c 64 5f 75 20 3a 3d 20 22 41 42 43 44 45 46 47 | .....;,.lsi_x_wild_u.:=."ABCDEFG |
4f20 | 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 22 1b 00 21 25 49 46 20 6e 6f 74 20 65 | HIJKLMNOPQRSTUVWXYZ"..!%IF.not.e |
4f40 | 76 65 24 78 5f 6f 70 74 69 6f 6e 5f 32 62 79 74 65 20 06 00 21 25 54 48 45 4e 24 00 09 09 20 2b | ve$x_option_2byte...!%THEN$....+ |
4f60 | 20 22 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 ca cb cc cd ce cf d1 d2 d3 d4 d5 d6 d7 d8 d9 da db dc dd 22 | ."............................." |
4f80 | 07 00 21 25 45 4e 44 49 46 6f 04 00 09 09 20 3b 2c 00 6c 73 69 5f 78 5f 77 69 6c 64 5f 73 20 3a | ..!%ENDIFo.....;,.lsi_x_wild_s.: |
4fa0 | 3d 20 22 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 22 2d 00 | =."abcdefghijklmnopqrstuvwxyz"-. |
4fc0 | 09 09 2b 20 22 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 31 | ..+."ABCDEFGHIJKLMNOPQRSTUVWXYZ1 |
4fe0 | 32 33 34 35 36 37 38 39 30 24 5f 22 3b 5f 2c 00 6c 73 69 5f 78 5f 77 69 6c 64 5f 6e 20 3a 3d 20 | 234567890$_";_,.lsi_x_wild_n.:=. |
5000 | 22 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 22 2b 00 09 09 | "abcdefghijklmnopqrstuvwxyz"+... |
5020 | 2b 20 22 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a 31 32 33 | +."ABCDEFGHIJKLMNOPQRSTUVWXYZ123 |
5040 | 34 35 36 37 38 39 30 22 3b 61 34 00 6c 73 69 5f 78 5f 77 69 6c 64 5f 70 20 3a 3d 20 22 20 21 22 | 4567890";a4.lsi_x_wild_p.:=.".!" |
5060 | 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 38 39 3a 3b 3c 3d 3e 3f 40 22 | "#$%&'()*+,-./0123456789:;<=>?@" |
5080 | 11 00 09 09 20 2b 20 22 5b 5c 5d 5e 5f 60 7b 7c 7d 7e 22 20 1b 00 21 25 49 46 20 6e 6f 74 20 65 | .....+."[\]^_`{|}~"...!%IF.not.e |
50a0 | 76 65 24 78 5f 6f 70 74 69 6f 6e 5f 32 62 79 74 65 67 06 00 21 25 54 48 45 4e 1d 00 09 09 20 2b | ve$x_option_2byteg..!%THEN.....+ |
50c0 | 20 22 a1 a2 a3 a5 a7 a8 a9 aa ab b0 b1 b2 b3 b5 b6 b7 b9 ba bb bc bd bf 22 75 07 00 21 25 45 4e | ."......................"u..!%EN |
50e0 | 44 49 46 20 04 00 09 09 20 3b 34 00 6c 73 69 5f 78 5f 77 69 6c 64 5f 66 20 3a 3d 20 61 73 63 69 | DIF......;4.lsi_x_wild_f.:=.asci |
5100 | 69 20 28 38 29 20 2b 20 61 73 63 69 69 20 28 39 29 20 2b 20 61 73 63 69 69 20 28 31 30 29 20 2b | i.(8).+.ascii.(9).+.ascii.(10).+ |
5120 | 28 00 09 09 20 61 73 63 69 69 20 28 31 31 29 20 2b 20 61 73 63 69 69 20 28 31 32 29 20 2b 20 61 | (....ascii.(11).+.ascii.(12).+.a |
5140 | 73 63 69 69 20 28 31 33 29 3b 00 00 1b 00 6c 73 69 5f 78 5f 61 6c 6c 5f 63 68 61 72 61 63 74 65 | scii.(13);....lsi_x_all_characte |
5160 | 72 73 20 3a 3d 20 22 22 3b 00 04 00 6c 6f 6f 70 1b 00 21 25 49 46 20 6e 6f 74 20 65 76 65 24 78 | rs.:=."";...loop..!%IF.not.eve$x |
5180 | 5f 6f 70 74 69 6f 6e 5f 32 62 79 74 65 20 06 00 21 25 54 48 45 4e 16 00 20 20 20 20 65 78 69 74 | _option_2byte...!%THEN......exit |
51a0 | 69 66 20 74 65 6d 70 20 3e 20 32 35 35 3b 06 00 21 25 45 4c 53 45 18 00 21 25 20 20 20 20 65 78 | if.temp.>.255;..!%ELSE..!%....ex |
51c0 | 69 74 69 66 20 74 65 6d 70 20 3e 20 31 36 30 3b 07 00 21 25 45 4e 44 49 46 65 40 00 20 20 20 20 | itif.temp.>.160;..!%ENDIFe@..... |
51e0 | 6c 73 69 5f 78 5f 61 6c 6c 5f 63 68 61 72 61 63 74 65 72 73 20 3a 3d 20 6c 73 69 5f 78 5f 61 6c | lsi_x_all_characters.:=.lsi_x_al |
5200 | 6c 5f 63 68 61 72 61 63 74 65 72 73 20 2b 20 61 73 63 69 69 20 28 74 65 6d 70 29 3b 15 00 20 20 | l_characters.+.ascii.(temp);.... |
5220 | 20 20 74 65 6d 70 20 3a 3d 20 74 65 6d 70 20 2b 20 31 3b 63 08 00 65 6e 64 6c 6f 6f 70 3b 00 00 | ..temp.:=.temp.+.1;c..endloop;.. |
5240 | 3c 00 6c 73 69 5f 78 5f 77 69 6c 64 5f 63 6f 6e 74 72 6f 6c 20 3a 3d 20 73 75 62 73 74 72 20 28 | <.lsi_x_wild_control.:=.substr.( |
5260 | 6c 73 69 5f 78 5f 61 6c 6c 5f 63 68 61 72 61 63 74 65 72 73 2c 20 31 2c 20 33 32 29 20 2b 30 00 | lsi_x_all_characters,.1,.32).+0. |
5280 | 09 09 20 20 20 20 20 20 20 73 75 62 73 74 72 20 28 6c 73 69 5f 78 5f 61 6c 6c 5f 63 68 61 72 61 | .........substr.(lsi_x_all_chara |
52a0 | 63 74 65 72 73 2c 20 31 32 39 2c 20 33 32 29 3b 1b 00 21 25 49 46 20 6e 6f 74 20 65 76 65 24 78 | cters,.129,.32);..!%IF.not.eve$x |
52c0 | 5f 6f 70 74 69 6f 6e 5f 32 62 79 74 65 65 06 00 21 25 54 48 45 4e 3c 00 6c 73 69 5f 78 5f 77 69 | _option_2bytee..!%THEN<.lsi_x_wi |
52e0 | 6c 64 5f 62 69 74 5f 37 20 3a 3d 20 73 75 62 73 74 72 20 28 6c 73 69 5f 78 5f 61 6c 6c 5f 63 68 | ld_bit_7.:=.substr.(lsi_x_all_ch |
5300 | 61 72 61 63 74 65 72 73 2c 20 31 32 39 2c 20 31 32 38 29 3b 07 00 21 25 45 4e 44 49 46 5d 00 00 | aracters,.129,.128);..!%ENDIF].. |
5320 | 28 00 65 6e 64 70 72 6f 63 65 64 75 72 65 20 20 21 20 6c 73 69 5f 77 69 6c 64 63 61 72 64 5f 6d | (.endprocedure..!.lsi_wildcard_m |
5340 | 6f 64 75 6c 65 5f 69 6e 69 74 01 00 0c 75 3d 00 70 72 6f 63 65 64 75 72 65 20 6c 73 69 5f 77 69 | odule_init...u=.procedure.lsi_wi |
5360 | 6c 64 5f 63 6f 64 65 20 28 74 68 65 5f 63 6f 64 65 29 09 21 20 49 4e 54 20 3d 3e 20 77 69 6c 64 | ld_code.(the_code).!.INT.=>.wild |
5380 | 63 61 72 64 20 66 75 6e 63 74 69 6f 6e 00 00 00 0d 00 6c 6f 63 61 6c 20 20 20 74 65 6d 70 3b 65 | card.function.....local...temp;e |
53a0 | 00 00 33 00 74 65 6d 70 20 3a 3d 20 73 75 62 73 74 72 20 28 6c 73 69 5f 78 5f 77 69 6c 64 5f 66 | ..3.temp.:=.substr.(lsi_x_wild_f |
53c0 | 75 6e 63 74 69 6f 6e 73 2c 20 74 68 65 5f 63 6f 64 65 2c 20 31 29 3b 74 10 00 69 66 20 74 68 65 | unctions,.the_code,.1);t..if.the |
53e0 | 5f 63 6f 64 65 20 3c 3e 20 31 04 00 74 68 65 6e 31 00 20 20 20 20 69 66 20 74 65 6d 70 20 3d 20 | _code.<>.1..then1.....if.temp.=. |
5400 | 73 75 62 73 74 72 20 28 6c 73 69 5f 78 5f 77 69 6c 64 5f 66 75 6e 63 74 69 6f 6e 73 2c 20 31 2c | substr.(lsi_x_wild_functions,.1, |
5420 | 20 31 29 75 08 00 20 20 20 20 74 68 65 6e 3f 00 09 74 65 6d 70 20 3a 3d 20 74 65 6d 70 20 2b 20 | .1)u......then?..temp.:=.temp.+. |
5440 | 73 75 62 73 74 72 20 28 6c 73 69 5f 78 5f 77 69 6c 64 5f 73 75 62 5f 66 75 6e 63 74 69 6f 6e 73 | substr.(lsi_x_wild_sub_functions |
5460 | 2c 20 74 68 65 5f 63 6f 64 65 2c 20 31 29 3b 20 0a 00 20 20 20 20 65 6e 64 69 66 3b 06 00 65 6e | ,.the_code,.1);.......endif;..en |
5480 | 64 69 66 3b 00 00 2f 00 69 66 20 74 65 6d 70 20 3d 20 73 75 62 73 74 72 20 28 6c 73 69 5f 78 5f | dif;../.if.temp.=.substr.(lsi_x_ |
54a0 | 77 69 6c 64 5f 66 75 6e 63 74 69 6f 6e 73 2c 20 31 2c 20 31 29 20 2b 20 27 00 20 20 20 20 73 75 | wild_functions,.1,.1).+.'.....su |
54c0 | 62 73 74 72 20 28 6c 73 69 5f 78 5f 77 69 6c 64 5f 66 75 6e 63 74 69 6f 6e 73 2c 20 31 2c 20 31 | bstr.(lsi_x_wild_functions,.1,.1 |
54e0 | 29 20 04 00 74 68 65 6e 0f 00 20 20 20 20 74 65 6d 70 20 3a 3d 20 22 22 3b 6c 06 00 65 6e 64 69 | )...then......temp.:=."";l..endi |
5500 | 66 3b 00 00 10 00 21 4d 45 53 53 41 47 45 20 28 74 65 6d 70 29 3b 0e 00 72 65 74 75 72 6e 20 28 | f;....!MESSAGE.(temp);..return.( |
5520 | 74 65 6d 70 29 3b 00 00 1f 00 65 6e 64 70 72 6f 63 65 64 75 72 65 20 20 20 21 20 6c 73 69 5f 77 | temp);....endprocedure...!.lsi_w |
5540 | 69 6c 64 5f 63 6f 64 65 3b 5f 01 00 0c 72 3b 00 70 72 6f 63 65 64 75 72 65 20 6c 73 69 5f 67 65 | ild_code;_...r;.procedure.lsi_ge |
5560 | 74 5f 77 69 6c 64 5f 74 6f 6b 65 6e 09 09 21 20 47 65 74 20 74 68 65 20 6e 65 78 74 20 77 69 6c | t_wild_token..!.Get.the.next.wil |
5580 | 64 63 61 72 64 20 74 6f 6b 65 6e 31 1f 00 20 20 20 20 28 74 68 65 5f 63 68 61 72 2c 20 69 6e 70 | dcard.token1......(the_char,.inp |
55a0 | 75 74 5f 73 74 72 69 6e 67 2c 20 69 29 09 00 00 11 00 6c 6f 63 61 6c 20 20 20 74 68 65 5f 63 6f | ut_string,.i).....local...the_co |
55c0 | 64 65 2c 3a 0c 00 09 6c 6f 77 65 72 5f 63 68 61 72 3b 00 00 1c 00 69 66 20 69 20 3e 20 6c 65 6e | de,:...lower_char;....if.i.>.len |
55e0 | 67 74 68 20 28 69 6e 70 75 74 5f 73 74 72 69 6e 67 29 04 00 74 68 65 6e 0f 00 20 20 20 20 72 65 | gth.(input_string)..then......re |
5600 | 74 75 72 6e 20 2d 20 31 3b 68 04 00 65 6c 73 65 2c 00 20 20 20 20 74 68 65 5f 63 68 61 72 20 3a | turn.-.1;h..else,.....the_char.: |
5620 | 3d 20 73 75 62 73 74 72 20 28 69 6e 70 75 74 5f 73 74 72 69 6e 67 2c 20 69 2c 20 31 29 3b 16 00 | =.substr.(input_string,.i,.1);.. |
5640 | 20 20 20 20 69 66 20 74 68 65 5f 63 68 61 72 20 3c 3e 20 22 27 22 08 00 20 20 20 20 74 68 65 6e | ....if.the_char.<>."'"......then |
5660 | 18 00 09 6c 6f 77 65 72 5f 63 68 61 72 20 3a 3d 20 74 68 65 5f 63 68 61 72 3b 21 00 09 63 68 61 | ...lower_char.:=.the_char;!..cha |
5680 | 6e 67 65 5f 63 61 73 65 20 28 6c 6f 77 65 72 5f 63 68 61 72 2c 20 4c 4f 57 45 52 29 3b 00 36 00 | nge_case.(lower_char,.LOWER);.6. |
56a0 | 09 74 68 65 5f 63 6f 64 65 20 3a 3d 20 69 6e 64 65 78 20 28 6c 73 69 5f 78 5f 77 69 6c 64 5f 66 | .the_code.:=.index.(lsi_x_wild_f |
56c0 | 75 6e 63 74 69 6f 6e 73 2c 20 6c 6f 77 65 72 5f 63 68 61 72 29 3b 1d 00 09 69 66 20 74 68 65 5f | unctions,.lower_char);...if.the_ |
56e0 | 63 6f 64 65 20 3d 20 31 09 09 09 09 21 20 53 61 77 20 22 5c 22 5f 05 00 09 74 68 65 6e 20 10 00 | code.=.1....!.Saw."\"_...then... |
5700 | 09 20 20 20 20 69 20 3a 3d 20 69 20 2b 20 31 3b 2d 00 09 20 20 20 20 74 68 65 5f 63 68 61 72 20 | .....i.:=.i.+.1;-......the_char. |
5720 | 3a 3d 20 73 75 62 73 74 72 20 28 69 6e 70 75 74 5f 73 74 72 69 6e 67 2c 20 69 2c 20 31 29 3b 09 | :=.substr.(input_string,.i,.1);. |
5740 | 1c 00 09 20 20 20 20 6c 6f 77 65 72 5f 63 68 61 72 20 3a 3d 20 74 68 65 5f 63 68 61 72 3b 25 00 | .......lower_char.:=.the_char;%. |
5760 | 09 20 20 20 20 63 68 61 6e 67 65 5f 63 61 73 65 20 28 6c 6f 77 65 72 5f 63 68 61 72 2c 20 4c 4f | .....change_case.(lower_char,.LO |
5780 | 57 45 52 29 3b 70 3e 00 09 20 20 20 20 74 68 65 5f 63 6f 64 65 20 3a 3d 20 69 6e 64 65 78 20 28 | WER);p>......the_code.:=.index.( |
57a0 | 6c 73 69 5f 78 5f 77 69 6c 64 5f 73 75 62 5f 66 75 6e 63 74 69 6f 6e 73 2c 20 6c 6f 77 65 72 5f | lsi_x_wild_sub_functions,.lower_ |
57c0 | 63 68 61 72 29 3b 2a 00 09 20 20 20 20 69 66 20 74 68 65 5f 63 6f 64 65 20 3d 20 30 09 09 09 09 | char);*......if.the_code.=.0.... |
57e0 | 21 20 4e 6f 74 20 5c 3c 2c 20 5c 3e 20 6f 72 20 5c 5c 09 00 09 20 20 20 20 74 68 65 6e 65 37 00 | !.Not.\<,.\>.or.\\.......thene7. |
5800 | 09 09 74 68 65 5f 63 6f 64 65 20 3a 3d 20 69 6e 64 65 78 20 28 6c 73 69 5f 78 5f 77 69 6c 64 5f | ..the_code.:=.index.(lsi_x_wild_ |
5820 | 66 75 6e 63 74 69 6f 6e 73 2c 20 6c 6f 77 65 72 5f 63 68 61 72 29 3b 00 25 00 09 09 69 66 20 74 | functions,.lower_char);.%...if.t |
5840 | 68 65 5f 63 6f 64 65 20 3d 20 30 09 09 09 21 20 4e 6f 74 20 5c 2a 2c 20 5c 25 2c 20 65 74 63 20 | he_code.=.0...!.Not.\*,.\%,.etc. |
5860 | 06 00 09 09 74 68 65 6e 14 00 09 09 20 20 20 20 74 68 65 5f 63 6f 64 65 20 3a 3d 20 31 3b 1b 00 | ....then........the_code.:=.1;.. |
5880 | 09 09 65 6c 73 65 09 09 09 09 21 20 53 61 77 20 5c 2a 2c 20 5c 25 2c 20 65 74 63 09 14 00 09 09 | ..else....!.Saw.\*,.\%,.etc..... |
58a0 | 20 20 20 20 74 68 65 5f 63 6f 64 65 20 3a 3d 20 30 3b 08 00 09 09 65 6e 64 69 66 3b 09 00 09 20 | ....the_code.:=.0;....endif;.... |
58c0 | 20 20 20 65 6c 73 65 2c 1c 00 09 09 69 66 20 74 68 65 5f 63 6f 64 65 20 3d 20 31 09 09 09 21 20 | ...else,....if.the_code.=.1...!. |
58e0 | 53 61 77 20 5c 5c 06 00 09 09 74 68 65 6e 14 00 09 09 20 20 20 20 74 68 65 5f 63 6f 64 65 20 3a | Saw.\\....then........the_code.: |
5900 | 3d 20 30 3b 08 00 09 09 65 6e 64 69 66 3b 0b 00 09 20 20 20 20 65 6e 64 69 66 3b 65 07 00 09 65 | =.0;....endif;.......endif;e...e |
5920 | 6e 64 69 66 3b 20 0a 00 20 20 20 20 65 6e 64 69 66 3b 0f 00 20 20 20 20 69 20 3a 3d 20 69 20 2b | ndif;.......endif;......i.:=.i.+ |
5940 | 20 31 3b 63 16 00 20 20 20 20 72 65 74 75 72 6e 20 28 74 68 65 5f 63 6f 64 65 29 3b 06 00 65 6e | .1;c......return.(the_code);..en |
5960 | 64 69 66 3b 00 00 24 00 65 6e 64 70 72 6f 63 65 64 75 72 65 20 20 20 21 20 6c 73 69 5f 67 65 74 | dif;..$.endprocedure...!.lsi_get |
5980 | 5f 77 69 6c 64 5f 74 6f 6b 65 6e 3b 01 00 0c 09 37 00 70 72 6f 63 65 64 75 72 65 20 6c 73 69 5f | _wild_token;....7.procedure.lsi_ |
59a0 | 65 61 74 5f 77 69 6c 64 5f 63 6f 64 65 09 09 21 20 54 65 73 74 20 66 6f 72 20 61 20 73 70 65 63 | eat_wild_code..!.Test.for.a.spec |
59c0 | 69 66 69 63 20 63 6f 64 65 73 1f 00 20 20 20 20 28 74 68 65 5f 63 6f 64 65 2c 20 69 6e 70 75 74 | ific.codes......(the_code,.input |
59e0 | 5f 73 74 72 69 6e 67 2c 20 69 29 09 00 00 13 00 6c 6f 63 61 6c 20 20 20 74 68 65 5f 6c 65 6e 67 | _string,.i).....local...the_leng |
5a00 | 74 68 2c 20 0c 00 09 74 68 65 5f 73 74 72 69 6e 67 3b 00 00 27 00 74 68 65 5f 73 74 72 69 6e 67 | th,....the_string;..'.the_string |
5a20 | 20 3a 3d 20 6c 73 69 5f 77 69 6c 64 5f 63 6f 64 65 20 28 74 68 65 5f 63 6f 64 65 29 3b 30 22 00 | .:=.lsi_wild_code.(the_code);0". |
5a40 | 74 68 65 5f 6c 65 6e 67 74 68 20 3a 3d 20 6c 65 6e 67 74 68 20 28 74 68 65 5f 73 74 72 69 6e 67 | the_length.:=.length.(the_string |
5a60 | 29 3b 34 00 69 66 20 73 75 62 73 74 72 20 28 69 6e 70 75 74 5f 73 74 72 69 6e 67 2c 20 69 2c 20 | );4.if.substr.(input_string,.i,. |
5a80 | 74 68 65 5f 6c 65 6e 67 74 68 29 20 3d 20 74 68 65 5f 73 74 72 69 6e 67 04 00 74 68 65 6e 18 00 | the_length).=.the_string..then.. |
5aa0 | 20 20 20 20 69 20 3a 3d 20 69 20 2b 20 74 68 65 5f 6c 65 6e 67 74 68 3b 10 00 20 20 20 20 72 65 | ....i.:=.i.+.the_length;......re |
5ac0 | 74 75 72 6e 20 54 52 55 45 3b 04 00 65 6c 73 65 11 00 20 20 20 20 72 65 74 75 72 6e 20 46 41 4c | turn.TRUE;..else......return.FAL |
5ae0 | 53 45 3b 74 06 00 65 6e 64 69 66 3b 00 00 0d 00 65 6e 64 70 72 6f 63 65 64 75 72 65 3b 00 01 00 | SE;t..endif;....endprocedure;... |
5b00 | 0c 20 3f 00 70 72 6f 63 65 64 75 72 65 20 6c 73 69 5f 64 6f 5f 73 75 62 5f 70 61 74 74 65 72 6e | ..?.procedure.lsi_do_sub_pattern |
5b20 | 09 09 21 20 43 6f 6c 6c 65 63 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 75 62 2d 70 61 74 74 | ..!.Collect.the.current.sub-patt |
5b40 | 65 72 6e 73 35 00 20 20 20 20 28 73 75 62 5f 70 61 74 74 65 72 6e 2c 20 74 68 65 5f 66 75 6e 63 | erns5.....(sub_pattern,.the_func |
5b60 | 74 69 6f 6e 2c 20 74 68 65 5f 73 74 72 69 6e 67 2c 20 74 68 65 5f 63 6f 64 65 29 20 00 00 15 00 | tion,.the_string,.the_code)..... |
5b80 | 69 66 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 20 3c 3e 20 22 22 6e 04 00 74 68 65 6e 17 00 20 20 | if.the_function.<>.""n..then.... |
5ba0 | 20 20 69 66 20 74 68 65 5f 73 74 72 69 6e 67 20 3c 3e 20 22 22 65 08 00 20 20 20 20 74 68 65 6e | ..if.the_string.<>.""e......then |
5bc0 | 3d 00 09 69 66 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e 20 3d 20 22 26 6d 61 74 63 68 6c 22 09 21 | =..if.the_function.=."&matchl".! |
5be0 | 2a 2a 2a 20 50 72 6f 70 6f 73 65 64 2c 20 62 75 74 20 75 6e 69 6d 70 6c 69 6d 65 6e 74 65 64 00 | ***.Proposed,.but.unimplimented. |
5c00 | 05 00 09 74 68 65 6e 20 2b 00 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 6c 6f | ...then.+......sub_pattern.:=.lo |
5c20 | 63 61 6c 5f 73 75 62 5f 70 61 74 74 20 2b 20 22 26 20 22 20 2b 73 28 00 09 09 09 20 20 20 22 28 | cal_sub_patt.+."&.".+s(......."( |
5c40 | 75 6e 61 6e 63 68 6f 72 2b 27 22 20 2b 20 74 68 65 5f 73 74 72 69 6e 67 20 2b 20 22 27 29 22 3b | unanchor+'".+.the_string.+."')"; |
5c60 | 05 00 09 65 6c 73 65 72 28 00 09 20 20 20 20 73 75 62 5f 70 61 74 74 65 72 6e 20 3a 3d 20 73 75 | ...elser(......sub_pattern.:=.su |
5c80 | 62 5f 70 61 74 74 65 72 6e 20 2b 20 22 26 20 22 20 2b 2e 00 09 09 09 20 20 20 74 68 65 5f 66 75 | b_pattern.+."&.".+........the_fu |
5ca0 | 6e 63 74 69 6f 6e 20 2b 20 22 28 27 22 20 2b 20 74 68 65 5f 73 74 72 69 6e 67 20 2b 20 22 27 29 | nction.+."('".+.the_string.+."') |
5cc0 | 22 3b 07 00 09 65 6e 64 69 66 3b 2c 12 00 09 74 68 65 5f 73 74 72 69 6e 67 20 3a 3d 20 22 22 3b | ";...endif;,...the_string.:=.""; |
5ce0 | 0a 00 20 20 20 20 65 6c 73 65 20 20 44 00 09 6d 65 73 73 61 67 65 20 28 46 41 4f 20 28 22 4e 6f | ......else..D..message.(FAO.("No |
5d00 | 20 74 65 78 74 20 70 72 65 63 65 64 69 6e 67 3a 20 21 41 53 22 2c 20 6c 73 69 5f 77 69 6c 64 5f | .text.preceding:.!AS",.lsi_wild_ |
5d20 | 63 6f 64 65 20 28 74 68 65 5f 63 6f 64 65 29 29 29 3b 0e 00 09 72 65 74 75 72 6e 20 46 41 4c 53 | code.(the_code)));...return.FALS |
5d40 | 45 3b 0a 00 20 20 20 20 65 6e 64 69 66 3b 17 00 20 20 20 20 74 68 65 5f 66 75 6e 63 74 69 6f 6e | E;......endif;......the_function |
5d60 | 20 3a 3d 20 22 22 3b 67 04 00 65 6c 73 65 17 00 20 20 20 20 69 66 20 74 68 65 5f 73 74 72 69 6e | .:=."";g..else......if.the_strin |
5d80 | 67 20 3c 3e 20 22 22 4f 08 00 20 20 20 20 74 68 65 6e 37 00 09 73 75 62 5f 70 61 74 74 65 72 6e | g.<>.""O......then7..sub_pattern |
5da0 | 20 3a 3d 20 73 75 62 5f 70 61 74 74 65 72 6e 20 2b 20 22 26 20 27 22 20 2b 20 74 68 65 5f 73 74 | .:=.sub_pattern.+."&.'".+.the_st |
5dc0 | 72 69 6e 67 20 2b 20 22 27 22 3b 72 12 00 09 74 68 65 5f 73 74 72 69 6e 67 20 3a 3d 20 22 22 3b | ring.+."'";r...the_string.:=.""; |
5de0 | 0a 00 20 20 20 20 65 6e 64 69 66 3b 06 00 65 6e 64 69 66 3b 0d 00 65 6e 64 70 72 6f 63 65 64 75 | ......endif;..endif;..endprocedu |
5e00 | 72 65 3b 22 01 00 0c 70 26 00 70 72 6f 63 65 64 75 72 65 20 6c 73 69 5f 73 65 61 72 63 68 20 28 | re;"...p&.procedure.lsi_search.( |
5e20 | 74 68 65 5f 70 61 74 74 65 72 6e 5f 73 74 72 29 11 00 4c 4f 43 41 4c 20 73 61 76 65 5f 72 61 6e | the_pattern_str)..LOCAL.save_ran |
5e40 | 67 65 2c 20 12 00 20 20 20 20 20 20 66 6f 75 6e 64 5f 72 61 6e 67 65 2c 11 00 20 20 20 20 20 20 | ge,.........found_range,........ |
5e60 | 73 65 61 72 63 68 5f 73 74 72 2c 65 12 00 20 20 20 20 20 20 70 61 74 74 65 72 6e 5f 73 74 72 2c | search_str,e........pattern_str, |
5e80 | 0d 00 20 20 20 20 20 20 72 65 73 75 6c 74 3b 00 00 00 08 00 4f 4e 5f 45 52 52 4f 52 1e 00 20 20 | ........result;.....ON_ERROR.... |
5ea0 | 20 49 46 20 45 52 52 4f 52 20 3d 20 54 50 55 24 5f 45 58 45 43 55 54 45 46 41 49 4c 07 00 20 20 | .IF.ERROR.=.TPU$_EXECUTEFAIL.... |
5ec0 | 20 54 48 45 4e 20 25 00 20 20 20 20 20 20 4d 45 53 53 41 47 45 20 28 27 42 61 64 20 70 61 74 74 | .THEN.%.......MESSAGE.('Bad.patt |
5ee0 | 65 72 6e 20 73 74 72 69 6e 67 27 29 3b 00 0b 00 20 20 20 20 20 20 41 42 4f 52 54 09 09 00 20 20 | ern.string');.........ABORT..... |
5f00 | 20 45 4e 44 49 46 3b 28 0c 00 45 4e 44 4f 4e 5f 45 52 52 4f 52 3b 00 00 03 00 21 2b 2b 22 3f 00 | .ENDIF;(..ENDON_ERROR;....!++"?. |
5f20 | 21 20 20 43 68 65 63 6b 20 74 68 65 20 69 6e 70 75 74 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 65 | !..Check.the.input.argument.to.e |
5f40 | 6e 73 75 72 65 20 74 68 61 74 20 61 20 73 74 72 69 6e 67 20 77 61 73 20 70 61 73 73 65 64 2e 65 | nsure.that.a.string.was.passed.e |
5f60 | 03 00 21 2d 2d 00 2f 00 49 46 20 47 45 54 5f 49 4e 46 4f 20 28 74 68 65 5f 70 61 74 74 65 72 6e | ..!--./.IF.GET_INFO.(the_pattern |
5f80 | 5f 73 74 72 2c 20 27 74 79 70 65 27 29 20 3c 3e 20 53 54 52 49 4e 47 00 04 00 54 48 45 4e 06 00 | _str,.'type').<>.STRING...THEN.. |
5fa0 | 20 20 20 21 2b 2b 27 00 20 20 20 21 20 20 4e 6f 20 73 74 72 69 6e 67 2c 20 73 6f 20 70 72 6f 6d | ...!++'....!..No.string,.so.prom |
5fc0 | 70 74 20 66 6f 72 20 61 20 76 61 6c 75 65 2e 2c 06 00 20 20 20 21 2d 2d 2f 00 20 20 20 73 65 61 | pt.for.a.value.,.....!--/....sea |
5fe0 | 72 63 68 5f 73 74 72 20 3a 3d 20 52 45 41 44 5f 4c 49 4e 45 20 28 27 5f 45 6e 74 65 72 20 70 61 | rch_str.:=.READ_LINE.('_Enter.pa |
6000 | 74 74 65 72 6e 3a 20 27 29 61 04 00 45 4c 53 45 06 00 20 20 20 21 2b 2b 22 00 20 20 20 21 20 20 | ttern:.')a..ELSE.....!++"....!.. |
6020 | 55 73 65 20 74 68 65 20 70 61 73 73 65 64 20 73 74 72 69 6e 67 20 76 61 6c 75 65 2e 06 00 20 20 | Use.the.passed.string.value..... |
6040 | 20 21 2d 2d 20 00 20 20 20 73 65 61 72 63 68 5f 73 74 72 20 3a 3d 20 74 68 65 5f 70 61 74 74 65 | .!--.....search_str.:=.the_patte |
6060 | 72 6e 5f 73 74 72 06 00 45 4e 44 49 46 3b 03 00 21 2b 2b 67 25 00 21 20 20 57 61 73 20 6c 61 73 | rn_str..ENDIF;..!++g%.!..Was.las |
6080 | 74 20 6b 65 79 20 70 72 65 73 73 65 64 20 74 68 65 20 48 45 4c 50 20 6b 65 79 3f 00 03 00 21 2d | t.key.pressed.the.HELP.key?...!- |
60a0 | 2d 65 28 00 49 46 20 28 4c 41 53 54 5f 4b 45 59 20 3d 20 48 45 4c 50 29 20 4f 52 20 28 4c 41 53 | -e(.IF.(LAST_KEY.=.HELP).OR.(LAS |
60c0 | 54 5f 4b 45 59 20 3d 20 50 46 32 29 04 00 54 48 45 4e 3b 00 20 20 20 6c 73 65 24 64 6f 5f 63 6f | T_KEY.=.PF2)..THEN;....lse$do_co |
60e0 | 6d 6d 61 6e 64 28 22 48 45 4c 50 2f 4c 49 42 52 3d 55 54 4c 5f 3a 5b 54 50 55 5d 48 45 4c 50 4c | mmand("HELP/LIBR=UTL_:[TPU]HELPL |
6100 | 49 42 20 57 49 4c 44 43 41 52 44 53 22 29 3b 72 09 00 20 20 20 52 45 54 55 52 4e 09 06 00 45 4e | IB.WILDCARDS");r.....RETURN...EN |
6120 | 44 49 46 3b 03 00 21 2b 2b 74 48 00 21 20 20 43 68 65 63 6b 20 66 6f 72 20 6e 75 6c 6c 20 73 65 | DIF;..!++tH.!..Check.for.null.se |
6140 | 61 72 63 68 20 73 74 72 69 6e 67 20 61 6e 64 20 75 73 65 20 6c 61 73 74 20 73 65 61 72 63 68 20 | arch.string.and.use.last.search. |
6160 | 70 61 74 74 65 72 6e 2c 20 69 66 20 64 65 66 69 6e 65 64 2e 03 00 21 2d 2d 73 12 00 49 46 20 73 | pattern,.if.defined...!--s..IF.s |
6180 | 65 61 72 63 68 5f 73 74 72 20 3d 20 27 27 04 00 54 48 45 4e 3e 00 20 20 20 49 46 20 47 45 54 5f | earch_str.=.''..THEN>....IF.GET_ |
61a0 | 49 4e 46 4f 20 28 6c 73 69 5f 6c 61 73 74 5f 73 65 61 72 63 68 5f 70 61 74 74 65 72 6e 2c 20 27 | INFO.(lsi_last_search_pattern,.' |
61c0 | 74 79 70 65 27 29 20 3d 20 55 4e 53 50 45 43 49 46 49 45 44 07 00 20 20 20 54 48 45 4e 75 32 00 | type').=.UNSPECIFIED.....THENu2. |
61e0 | 20 20 20 20 20 20 4d 45 53 53 41 47 45 20 28 27 4e 6f 20 6c 61 73 74 20 73 65 61 72 63 68 20 70 | ......MESSAGE.('No.last.search.p |
6200 | 61 74 74 65 72 6e 20 64 65 66 69 6e 65 64 2e 27 29 3b 0b 00 20 20 20 20 20 20 41 42 4f 52 54 20 | attern.defined.');........ABORT. |
6220 | 08 00 20 20 20 45 4e 44 49 46 04 00 45 4c 53 45 06 00 20 20 20 21 2b 2b 21 00 20 20 20 21 20 20 | .....ENDIF..ELSE.....!++!....!.. |
6240 | 42 75 69 6c 64 20 61 20 6e 65 77 20 73 65 61 72 63 68 20 70 61 74 74 65 72 6e 2e 28 06 00 20 20 | Build.a.new.search.pattern.(.... |
6260 | 20 21 2d 2d 38 00 20 20 20 72 65 73 75 6c 74 20 3a 3d 20 6c 73 69 5f 62 75 69 6c 64 5f 70 61 74 | .!--8....result.:=.lsi_build_pat |
6280 | 74 65 72 6e 28 73 65 61 72 63 68 5f 73 74 72 2c 20 70 61 74 74 65 72 6e 5f 73 74 72 29 3b 14 00 | tern(search_str,.pattern_str);.. |
62a0 | 20 20 20 49 46 20 72 65 73 75 6c 74 20 3d 20 46 41 4c 53 45 07 00 20 20 20 54 48 45 4e 5f 0b 00 | ...IF.result.=.FALSE.....THEN_.. |
62c0 | 20 20 20 20 20 20 41 42 4f 52 54 5f 09 00 20 20 20 45 4e 44 49 46 3b 09 23 00 20 20 20 6c 73 69 | ......ABORT_.....ENDIF;.#....lsi |
62e0 | 5f 6c 61 73 74 5f 73 65 61 72 63 68 5f 70 61 74 74 65 72 6e 20 3a 3d 20 28 27 27 29 3b 27 2d 00 | _last_search_pattern.:=.('');'-. |
6300 | 20 20 20 6c 73 69 5f 6c 61 73 74 5f 73 65 61 72 63 68 5f 70 61 74 74 65 72 6e 5f 73 74 72 20 3a | ...lsi_last_search_pattern_str.: |
6320 | 3d 20 73 65 61 72 63 68 5f 73 74 72 3b 20 15 00 20 20 20 49 46 20 72 65 73 75 6c 74 20 3d 20 53 | =.search_str;......IF.result.=.S |
6340 | 54 52 49 4e 47 74 07 00 20 20 20 54 48 45 4e 62 2c 00 20 20 20 20 20 20 70 61 74 74 65 72 6e 5f | TRINGt.....THENb,.......pattern_ |
6360 | 73 74 72 20 3a 3d 20 27 22 27 20 2b 20 70 61 74 74 65 72 6e 5f 73 74 72 20 2b 20 27 22 27 09 00 | str.:=.'"'.+.pattern_str.+.'"'.. |
6380 | 20 20 20 45 4e 44 49 46 3b 29 38 00 21 20 20 20 4d 45 53 53 41 47 45 20 28 27 6c 73 69 5f 6c 61 | ...ENDIF;)8.!...MESSAGE.('lsi_la |
63a0 | 73 74 5f 73 65 61 72 63 68 5f 70 61 74 74 65 72 6e 3a 3d 27 20 2b 20 70 61 74 74 65 72 6e 5f 73 | st_search_pattern:='.+.pattern_s |
63c0 | 74 72 29 3b 36 00 20 20 20 45 58 45 43 55 54 45 20 28 27 6c 73 69 5f 6c 61 73 74 5f 73 65 61 72 | tr);6....EXECUTE.('lsi_last_sear |
63e0 | 63 68 5f 70 61 74 74 65 72 6e 3a 3d 27 20 2b 20 70 61 74 74 65 72 6e 5f 73 74 72 29 06 00 45 4e | ch_pattern:='.+.pattern_str)..EN |
6400 | 44 49 46 3b 03 00 21 2b 2b 65 2e 00 21 20 20 48 6f 6c 64 20 74 68 69 73 20 70 6c 61 63 65 20 62 | DIF;..!++e..!..Hold.this.place.b |
6420 | 65 66 6f 72 65 20 73 74 61 72 74 69 6e 67 20 74 68 65 20 73 65 61 72 63 68 2e 03 00 21 2d 2d 09 | efore.starting.the.search...!--. |
6440 | 1a 00 73 61 76 65 5f 72 61 6e 67 65 20 3a 3d 20 4d 41 52 4b 20 28 4e 4f 4e 45 29 3b 1e 00 49 46 | ..save_range.:=.MARK.(NONE);..IF |
6460 | 20 43 55 52 52 45 4e 54 5f 44 49 52 45 43 54 49 4f 4e 20 3d 20 46 4f 52 57 41 52 44 04 00 54 48 | .CURRENT_DIRECTION.=.FORWARD..TH |
6480 | 45 4e 17 00 20 20 20 4d 4f 56 45 5f 48 4f 52 49 5a 4f 4e 54 41 4c 20 28 31 29 3b 61 04 00 45 4c | EN.....MOVE_HORIZONTAL.(1);a..EL |
64a0 | 53 45 18 00 20 20 20 4d 4f 56 45 5f 48 4f 52 49 5a 4f 4e 54 41 4c 20 28 2d 31 29 3b 06 00 45 4e | SE.....MOVE_HORIZONTAL.(-1);..EN |
64c0 | 44 49 46 3b 03 00 21 2b 2b 65 35 00 21 20 20 4c 6f 6f 6b 20 66 6f 72 20 74 68 65 20 6e 65 78 74 | DIF;..!++e5.!..Look.for.the.next |
64e0 | 20 6f 63 63 75 72 65 6e 63 65 20 6f 66 20 74 68 65 20 73 65 61 72 63 68 20 70 61 74 74 65 72 6e | .occurence.of.the.search.pattern |
6500 | 2e 65 03 00 21 2d 2d 77 11 00 66 6f 75 6e 64 5f 72 61 6e 67 65 20 3a 3d 20 30 3b 00 42 00 66 6f | .e..!--w..found_range.:=.0;.B.fo |
6520 | 75 6e 64 5f 72 61 6e 67 65 20 3a 3d 20 53 45 41 52 43 48 20 28 6c 73 69 5f 6c 61 73 74 5f 73 65 | und_range.:=.SEARCH.(lsi_last_se |
6540 | 61 72 63 68 5f 70 61 74 74 65 72 6e 2c 20 43 55 52 52 45 4e 54 5f 44 49 52 45 43 54 49 4f 4e 2c | arch_pattern,.CURRENT_DIRECTION, |
6560 | 0a 00 20 20 20 45 58 41 43 54 29 3b 12 00 49 46 20 66 6f 75 6e 64 5f 72 61 6e 67 65 20 3d 20 30 | .....EXACT);..IF.found_range.=.0 |
6580 | 04 00 54 48 45 4e 39 00 20 20 20 4d 45 53 53 41 47 45 20 28 6c 73 69 5f 6c 61 73 74 5f 73 65 61 | ..THEN9....MESSAGE.(lsi_last_sea |
65a0 | 72 63 68 5f 70 61 74 74 65 72 6e 5f 73 74 72 20 2b 20 27 20 6e 6f 74 20 66 6f 75 6e 64 2e 27 29 | rch_pattern_str.+.'.not.found.') |
65c0 | 3b 21 18 00 20 20 20 50 4f 53 49 54 49 4f 4e 20 28 73 61 76 65 5f 72 61 6e 67 65 29 04 00 45 4c | ;!.....POSITION.(save_range)..EL |
65e0 | 53 45 1a 00 20 20 20 50 4f 53 49 54 49 4f 4e 20 28 66 6f 75 6e 64 5f 72 61 6e 67 65 29 3b 05 00 | SE.....POSITION.(found_range);.. |
6600 | 45 4e 44 49 46 00 19 00 45 4e 44 50 52 4f 43 45 44 55 52 45 20 21 20 6c 73 69 5f 73 65 61 72 63 | ENDIF...ENDPROCEDURE.!.lsi_searc |
6620 | 68 00 | h. |