123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- MODULE In;
- (* THIS IS TEXT COPY OF BlackBox 1.6-rc6 System/Mod/In.odc *)
- (* DO NOT EDIT *)
- IMPORT TextMappers, TextControllers;
- VAR
- Done-: BOOLEAN;
- s: TextMappers.Scanner;
- PROCEDURE Open*;
- VAR c: TextControllers.Controller; beg, end: INTEGER;
- BEGIN
- c := TextControllers.Focus();
- IF c # NIL THEN
- IF c.HasSelection() THEN c.GetSelection(beg, end) ELSE beg := 0 END;
- s.ConnectTo(c.text); s.SetPos(beg); s.rider.Read; Done := TRUE
- ELSE
- s.ConnectTo(NIL); Done := FALSE
- END
- END Open;
- PROCEDURE Char* (OUT ch: CHAR);
- BEGIN
- IF Done THEN
- IF s.rider.eot THEN Done := FALSE
- ELSE ch := s.rider.char; s.rider.Read
- END
- END
- END Char;
- PROCEDURE Int* (OUT i: INTEGER);
- BEGIN
- IF Done THEN
- s.Scan;
- IF (s.type = TextMappers.int) THEN
- i := s.int
- ELSE Done := FALSE
- END
- END
- END Int;
- PROCEDURE LongInt* (OUT l: LONGINT);
- BEGIN
- IF Done THEN
- s.Scan;
- IF (s.type = TextMappers.lint) OR (s.type = TextMappers.int) THEN
- l := s.lint
- ELSE Done := FALSE
- END
- END
- END LongInt;
- PROCEDURE Real* (OUT x: REAL);
- BEGIN
- IF Done THEN
- s.Scan;
- IF s.type = TextMappers.real THEN
- x := SHORT(s.real)
- ELSIF s.type = TextMappers.int THEN
- x := s.int
- ELSE Done := FALSE
- END
- END
- END Real;
- PROCEDURE Name* (OUT name: ARRAY OF CHAR);
- BEGIN
- IF Done THEN
- s.Scan;
- TextMappers.ScanQualIdent(s, name, Done)
- END
- END Name;
- PROCEDURE String* (OUT str: ARRAY OF CHAR);
- BEGIN
- IF Done THEN
- s.Scan;
- IF s.type = TextMappers.string THEN
- str := s.string$
- ELSE Done := FALSE
- END
- END
- END String;
- END In.
|