Mercurial > hg > Members > kono > os9 > sbc09
comparison TL1/test/t4.tl1 @ 176:6ef317714ae8
mopen in TL/1
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 15 Apr 2019 00:25:58 +0900 |
parents | c83545730d6c |
children | 3770e86114aa |
comparison
equal
deleted
inserted
replaced
175:c83545730d6c | 176:6ef317714ae8 |
---|---|
1 % ** TEST PROGRAM ** | 1 % ** TEST PROGRAM ** |
2 func search | 2 FUNC SEARCH |
3 %--- main --- | 3 %--- MAIN --- |
4 var dict,buf | 4 VAR DICT,BUF,D |
5 array tend[2] | 5 ARRAY TEND[2] |
6 begin | 6 BEGIN |
7 dict := openm($2,0) | 7 WRITE(DICT:ASCII(0)) |
8 write(dict:ascii(0)) | 8 DICT := OPENM($2,0) |
9 write(dict:ascii(30),ascii(-'P'),"ROC") | 9 WRITE(DICT:ASCII(0)) |
10 write(dict:ascii(31),ascii(-'F'),"UNC") | 10 WRITE(DICT:ASCII(30),ASCII(0-'P'),"ROC") |
11 write(dict:ascii(33),ascii(-'V'),"AR") | 11 WRITE(DICT:ASCII(31),ASCII(0-'F'),"UNC") |
12 postion(dict,tend) | 12 WRITE(DICT:ASCII(33),ASCII(0-'V'),"AR",CRLF) |
13 buf := openm($2,0) | 13 D:=POSITION(DICT,TEND) |
14 write(buf:"FUNC",ascii(0)) | 14 BUF := OPENM($2,0) |
15 write(0:search(buf),crlf) | 15 WRITE(BUF:"FUNC",ASCII(0)) |
16 seek(buf,0) | 16 WRITE(0:SEARCH(BUF),CRLF) |
17 write(buf:"NONAME",ascii(0)) | 17 D:=SEEK(BUF,0) |
18 write(0:search(buf),crlf) | 18 WRITE(BUF:"NONAME",ASCII(0)) |
19 end | 19 WRITE(0:SEARCH(BUF),CRLF) |
20 END | |
20 | 21 |
21 search(buf) | 22 SEARCH(BUF) |
22 var val,k,c | 23 VAR VAL,K,C,D |
23 array bend | 24 ARRAY BEND |
24 begin | 25 BEGIN |
25 val := seek(dict,tend) | 26 VAL := SEEK(DICT,TEND) |
26 position(buf,bend) | 27 POSITION(BUF,BEND) |
27 while val#0 do [ | 28 WHILE VAL#0 DO [ |
28 c:=seekr(buf,-1) | 29 C:=SEEKR(BUF,-1) |
29 k:=seekr(dict,-1) | 30 K:=SEEKR(DICT,-1) |
30 if k.lt.0 then [ | 31 IF K.LT.0 THEN [ |
31 if c=-k then | 32 IF C=-K THEN |
32 return val % found | 33 RETURN VAL % FOUND |
33 val := seekr(dict,-1) | 34 VAL := SEEKR(DICT,-1) |
34 ] else if c#k then [ | 35 ] ELSE IF C#K THEN [ |
35 seek(buf,bend) | 36 D:=SEEK(BUF,BEND) |
36 repeat | 37 REPEAT |
37 k:=seekr(dict,-1) | 38 K:=SEEKR(DICT,-1) |
38 until k.lt.0 | 39 UNTIL K.LT.0 |
39 val := seekr(dict,-1) | 40 VAL := SEEKR(DICT,-1) |
40 ] | 41 ] |
41 ] | 42 ] |
42 return val % not found | 43 RETURN VAL % NOT FOUND |
43 end | 44 END |