DEADSOFTWARE

* -> old; Trurl-based -> new
[bbcp.git] / new / System / Mod / In.txt
1 MODULE In;
3 (* THIS IS TEXT COPY OF BlackBox 1.6-rc6 System/Mod/In.odc *)
4 (* DO NOT EDIT *)
6 IMPORT TextMappers, TextControllers;
8 VAR
9 Done-: BOOLEAN;
10 s: TextMappers.Scanner;
12 PROCEDURE Open*;
13 VAR c: TextControllers.Controller; beg, end: INTEGER;
14 BEGIN
15 c := TextControllers.Focus();
16 IF c # NIL THEN
17 IF c.HasSelection() THEN c.GetSelection(beg, end) ELSE beg := 0 END;
18 s.ConnectTo(c.text); s.SetPos(beg); s.rider.Read; Done := TRUE
19 ELSE
20 s.ConnectTo(NIL); Done := FALSE
21 END
22 END Open;
24 PROCEDURE Char* (OUT ch: CHAR);
25 BEGIN
26 IF Done THEN
27 IF s.rider.eot THEN Done := FALSE
28 ELSE ch := s.rider.char; s.rider.Read
29 END
30 END
31 END Char;
33 PROCEDURE Int* (OUT i: INTEGER);
34 BEGIN
35 IF Done THEN
36 s.Scan;
37 IF (s.type = TextMappers.int) THEN
38 i := s.int
39 ELSE Done := FALSE
40 END
41 END
42 END Int;
44 PROCEDURE LongInt* (OUT l: LONGINT);
45 BEGIN
46 IF Done THEN
47 s.Scan;
48 IF (s.type = TextMappers.lint) OR (s.type = TextMappers.int) THEN
49 l := s.lint
50 ELSE Done := FALSE
51 END
52 END
53 END LongInt;
55 PROCEDURE Real* (OUT x: REAL);
56 BEGIN
57 IF Done THEN
58 s.Scan;
59 IF s.type = TextMappers.real THEN
60 x := SHORT(s.real)
61 ELSIF s.type = TextMappers.int THEN
62 x := s.int
63 ELSE Done := FALSE
64 END
65 END
66 END Real;
68 PROCEDURE Name* (OUT name: ARRAY OF CHAR);
69 BEGIN
70 IF Done THEN
71 s.Scan;
72 TextMappers.ScanQualIdent(s, name, Done)
73 END
74 END Name;
76 PROCEDURE String* (OUT str: ARRAY OF CHAR);
77 BEGIN
78 IF Done THEN
79 s.Scan;
80 IF s.type = TextMappers.string THEN
81 str := s.string$
82 ELSE Done := FALSE
83 END
84 END
85 END String;
87 END In.