Mercurial > hg > Members > kono > os9 > sbc09
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 |