annotate 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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
175
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 % ** TEST PROGRAM **
176
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
2 FUNC SEARCH
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
3 %--- MAIN ---
178
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
4 VAR DICT,BUF
176
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
5 ARRAY TEND[2]
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
6 BEGIN
178
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
7 POSITION(DICT,TEND)
176
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
8 DICT := OPENM($2,0)
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
9 WRITE(DICT:ASCII(0))
178
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
10 WRITE(DICT:ASCII(30),ASCII(-'P'),"ROC")
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
11 WRITE(DICT:ASCII(31),ASCII(-'F'),"UNC")
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
12 WRITE(DICT:ASCII(33),ASCII(-'V'),"AR",CRLF)
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
13 POSITION(DICT,TEND)
176
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
14 BUF := OPENM($2,0)
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
15 WRITE(BUF:"FUNC",ASCII(0))
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
16 WRITE(0:SEARCH(BUF),CRLF)
178
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
17 SEEK(BUF,0)
176
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
18 WRITE(BUF:"NONAME",ASCII(0))
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
19 WRITE(0:SEARCH(BUF),CRLF)
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
20 END
175
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
176
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
22 SEARCH(BUF)
178
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
23 VAR VAL,K,C
176
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
24 ARRAY BEND
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
25 BEGIN
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
26 VAL := SEEK(DICT,TEND)
178
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
27 POSITION(BUF,BEND)
176
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
28 WHILE VAL#0 DO [
178
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
29 C:=SEEKR(BUF,-1)
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
30 K:=SEEKR(DICT,-1)
176
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
31 IF K.LT.0 THEN [
178
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
32 IF C=-K THEN
176
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
33 RETURN VAL % FOUND
178
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
34 VAL := SEEKR(DICT,-1)
176
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
35 ] ELSE IF C#K THEN [
178
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
36 SEEK(BUF,BEND)
176
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
37 REPEAT
178
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
38 K:=SEEKR(DICT,-1)
176
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
39 UNTIL K.LT.0
178
4d83154d2a78 add - {} some builtin in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 177
diff changeset
40 VAL := SEEKR(DICT,-1)
175
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 ]
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 ]
176
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
43 RETURN VAL % NOT FOUND
6ef317714ae8 mopen in TL/1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 175
diff changeset
44 END