comparison TL1/test/t4.tl1 @ 178:4d83154d2a78

add - {} some builtin in TL/1
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 15 Apr 2019 09:43:28 +0900
parents 3770e86114aa
children c3145f913f3d 63de06ad7a49
comparison
equal deleted inserted replaced
177:3770e86114aa 178:4d83154d2a78
1 % ** TEST PROGRAM ** 1 % ** TEST PROGRAM **
2 FUNC SEARCH 2 FUNC SEARCH
3 %--- MAIN --- 3 %--- MAIN ---
4 VAR DICT,BUF,D 4 VAR DICT,BUF
5 ARRAY TEND[2] 5 ARRAY TEND[2]
6 BEGIN 6 BEGIN
7 WRITE(DICT:ASCII(0)) 7 POSITION(DICT,TEND)
8 DICT := OPENM($2,0) 8 DICT := OPENM($2,0)
9 WRITE(DICT:ASCII(0)) 9 WRITE(DICT:ASCII(0))
10 WRITE(DICT:ASCII(30),ASCII(0-'P'),"ROC") 10 WRITE(DICT:ASCII(30),ASCII(-'P'),"ROC")
11 WRITE(DICT:ASCII(31),ASCII(0-'F'),"UNC") 11 WRITE(DICT:ASCII(31),ASCII(-'F'),"UNC")
12 WRITE(DICT:ASCII(33),ASCII(0-'V'),"AR",CRLF) 12 WRITE(DICT:ASCII(33),ASCII(-'V'),"AR",CRLF)
13 D:=POSITION(DICT,TEND) 13 POSITION(DICT,TEND)
14 BUF := OPENM($2,0) 14 BUF := OPENM($2,0)
15 WRITE(BUF:"FUNC",ASCII(0)) 15 WRITE(BUF:"FUNC",ASCII(0))
16 WRITE(0:SEARCH(BUF),CRLF) 16 WRITE(0:SEARCH(BUF),CRLF)
17 D:=SEEK(BUF,0) 17 SEEK(BUF,0)
18 WRITE(BUF:"NONAME",ASCII(0)) 18 WRITE(BUF:"NONAME",ASCII(0))
19 WRITE(0:SEARCH(BUF),CRLF) 19 WRITE(0:SEARCH(BUF),CRLF)
20 END 20 END
21 21
22 SEARCH(BUF) 22 SEARCH(BUF)
23 VAR VAL,K,C,D 23 VAR VAL,K,C
24 ARRAY BEND 24 ARRAY BEND
25 BEGIN 25 BEGIN
26 VAL := SEEK(DICT,TEND) 26 VAL := SEEK(DICT,TEND)
27 D:=POSITION(BUF,BEND) 27 POSITION(BUF,BEND)
28 WHILE VAL#0 DO [ 28 WHILE VAL#0 DO [
29 C:=SEEKR(BUF,0-1) 29 C:=SEEKR(BUF,-1)
30 K:=SEEKR(DICT,0-1) 30 K:=SEEKR(DICT,-1)
31 IF K.LT.0 THEN [ 31 IF K.LT.0 THEN [
32 IF C=0-K THEN 32 IF C=-K THEN
33 RETURN VAL % FOUND 33 RETURN VAL % FOUND
34 VAL := SEEKR(DICT,0-1) 34 VAL := SEEKR(DICT,-1)
35 ] ELSE IF C#K THEN [ 35 ] ELSE IF C#K THEN [
36 D:=SEEK(BUF,BEND) 36 SEEK(BUF,BEND)
37 REPEAT 37 REPEAT
38 K:=SEEKR(DICT,0-1) 38 K:=SEEKR(DICT,-1)
39 UNTIL K.LT.0 39 UNTIL K.LT.0
40 VAL := SEEKR(DICT,0-1) 40 VAL := SEEKR(DICT,-1)
41 ] 41 ]
42 ] 42 ]
43 RETURN VAL % NOT FOUND 43 RETURN VAL % NOT FOUND
44 END 44 END