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