summaryrefslogtreecommitdiff
path: root/system/base/1.7.5/src/elan do interface
blob: 72026a7d497e3d83221b23d349eb4a86d73349d2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57

PACKET elan do interface DEFINES                  (*Autor: J.Liedtke *)
                                                  (*Stand: 08.11.85  *)
    do ,
    no do again :
 
 
LET no ins = FALSE ,
    no lst = FALSE ,
    no check = FALSE ,
    no sermon = FALSE ,
    compile line mode = 2 ,
    do again mode = 4 ,
    max command length = 2000 ;


INT VAR do again mod nr := 0 ;
TEXT VAR previous command := "" ;

DATASPACE VAR ds ;

 
PROC do (TEXT CONST command) :

  enable stop ;
  IF LENGTH command > max command length
    THEN errorstop ("Kommando zu lang")
  ELIF do again mod nr <> 0 AND command = previous command
    THEN do again
    ELSE previous command := command ;
         compile and execute
  FI .

do again :
  elan (do again mode, ds, "", do again mod nr,
        no ins, no lst, no check, no sermon) .

compile and execute :
  elan (compile line mode, ds, command, do again mod nr,
        no ins, no lst, no check, no sermon) .

ENDPROC do ;
 
PROC no do again :

  do again mod nr := 0 

ENDPROC no do again ;
 
PROC elan (INT CONST mode, DATASPACE CONST source, TEXT CONST line, 
           INT VAR start module number,
           BOOL CONST ins, lst, rt check, ser) :
  EXTERNAL 256
ENDPROC elan ;

ENDPACKET elan do interface ;