Rephrased documentation for better readability
[fifth.git] / tools / src25th.bas
1 DECLARE SUB chl (a$, b$)
2 DECLARE SUB getline (a$)
3 DECLARE SUB start ()
4 DIM SHARED byte AS STRING * 1
5 DIM SHARED er
6
7
8 start
9
10 OPEN COMMAND$ + ".src" FOR INPUT AS #1
11 IF er = 0 THEN KILL COMMAND$ + ".5th"
12 OPEN COMMAND$ + ".5th" FOR BINARY AS #2
13
14 1
15 IF EOF(1) <> 0 THEN GOTO 2
16 LINE INPUT #1, a$
17
18 c$ = ""
19 e$ = ""
20 FOR b = 1 TO LEN(a$)
21 d$ = RIGHT$(LEFT$(a$, b), 1)
22 IF d$ = " " THEN chl e$, c$: c$ = c$ + CHR$(255): GOTO 3
23 IF d$ = CHR$(9) THEN chl e$, c$: c$ = c$ + CHR$(253): GOTO 3
24 e$ = e$ + d$
25 3
26 NEXT b
27 chl e$, c$
28 c$ = c$ + CHR$(254)
29 FOR b = 1 TO LEN(c$)
30   byte = RIGHT$(LEFT$(c$, b), 1)
31   PUT #2, , byte
32 NEXT b
33 GOTO 1
34 2
35
36 CLOSE #2
37 CLOSE #1
38
39 SYSTEM
40
41
42 SUB chl (a$, b$)
43
44 e$ = ""
45 FOR c = 1 TO LEN(a$)
46 d = ASC(RIGHT$(LEFT$(a$, c), 1))
47 IF (d >= 48) AND (d <= 57) THEN d = d - 48: GOTO 4
48 IF (d >= 65) AND (d <= 70) THEN d = d - 55: GOTO 4
49 IF (d = 45) AND (c = 1) THEN GOTO 4
50 GOTO 5
51 4
52 e$ = e$ + CHR$(d)
53 NEXT c
54 a$ = e$
55 5
56
57 b$ = b$ + a$
58 a$ = ""
59 END SUB
60
61 SUB start
62 IF COMMAND$ = "" THEN END
63 er = 0
64 END SUB
65