Subversion Repositories Kolibri OS

Rev

Rev 9674 | Rev 9906 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9674 Rev 9904
Line 1... Line 1...
1
(*
1
(*
2
    Copyright 2021, 2022 Anton Krotov
2
    Copyright 2021-2023 Anton Krotov
Line 3... Line 3...
3
 
3
 
Line 4... Line 4...
4
    This file is part of CEdit.
4
    This file is part of CEdit.
5
 
5
 
Line 37... Line 37...
37
        modified*, saved*, temp, label*: BOOLEAN;
37
        modified*, saved*, temp, label*: BOOLEAN;
38
        cin*, cout*, pos*: INTEGER
38
        cin*, cout*, pos*: INTEGER
39
    END;
39
    END;
Line 40... Line 40...
40
 
40
 
41
    PmovInt = PROCEDURE (VAR v: INTEGER; x: INTEGER);
41
    PmovInt = PROCEDURE (VAR v: INTEGER; x: INTEGER);
42
    PmovBool = PROCEDURE (line: tLine; VAR v: BOOLEAN; x: BOOLEAN);
42
    PmovBool = PROCEDURE (save: BOOLEAN; VAR v1: BOOLEAN; x1: BOOLEAN; VAR v2: BOOLEAN; x2: BOOLEAN);
Line 43... Line 43...
43
    PmovPtr = PROCEDURE (VAR v: List.tItem; x: List.tItem);
43
    PmovPtr = PROCEDURE (VAR v: List.tItem; x: List.tItem);
44
 
44
 
Line 55... Line 55...
55
 
55
 
Line 56... Line 56...
56
 
56
 
57
VAR
57
VAR
58
 
58
 
59
    _movInt: PmovInt;
59
    _movInt: PmovInt;
60
    _movBool, _movBool2: PmovBool;
60
    _movBool: PmovBool;
Line 61... Line 61...
61
    _movPtr: PmovPtr;
61
    _movPtr: PmovPtr;
Line 121... Line 121...
121
BEGIN
121
BEGIN
122
    _movInt(v, x)
122
    _movInt(v, x)
123
END movInt;
123
END movInt;
Line 124... Line -...
124
 
-
 
125
 
-
 
126
PROCEDURE movBool (line: tLine; VAR v: BOOLEAN; x: BOOLEAN);
-
 
127
BEGIN
-
 
128
    _movBool(line, v, x)
-
 
129
END movBool;
-
 
130
 
-
 
131
 
-
 
132
PROCEDURE movBool2 (line: tLine; VAR v: BOOLEAN; x: BOOLEAN);
-
 
133
BEGIN
-
 
134
    _movBool2(line, v, x)
-
 
135
END movBool2;
-
 
136
 
124
 
137
 
125
 
138
PROCEDURE movPtr (VAR v: List.tItem; x: List.tItem);
126
PROCEDURE movPtr (VAR v: List.tItem; x: List.tItem);
139
BEGIN
127
BEGIN
Line 204... Line 192...
204
    END;
192
    END;
205
    line.temp := temp;
193
    line.temp := temp;
206
    line.modified := FALSE;
194
    line.modified := FALSE;
207
    line.saved := FALSE;
195
    line.saved := FALSE;
208
    IF ~temp THEN
196
    IF ~temp THEN
209
        movBool(line, line.modified, FALSE);
-
 
210
        movBool(line, line.saved, FALSE)
197
        _movBool(FALSE, line.modified, FALSE, line.saved, FALSE)
211
    END;
198
    END;
212
    line.cin := 0;
199
    line.cin := 0;
213
    line.cout := 0;
200
    line.cout := 0;
214
    line.pos := 0
201
    line.pos := 0
215
    RETURN line
202
    RETURN line
Line 270... Line 257...
270
 
257
 
271
 
258
 
272
PROCEDURE save* (line: tLine);
259
PROCEDURE save* (line: tLine);
273
BEGIN
-
 
274
    IF ~line.temp THEN
260
BEGIN
275
        movBool2(line, line.saved, TRUE);
261
    IF ~line.temp THEN
276
        movBool2(line, line.modified, FALSE)
262
    	_movBool(TRUE, line.modified, FALSE, line.saved, TRUE)
277
    END;
263
    END;
278
    line.modified := FALSE;
264
    line.modified := FALSE;
Line 449... Line 435...
449
 
435
 
450
 
436
 
451
PROCEDURE modify* (line: tLine);
437
PROCEDURE modify* (line: tLine);
452
BEGIN
-
 
453
    IF ~line.temp THEN
438
BEGIN
454
        movBool(line, line.modified, TRUE);
439
    IF ~line.temp THEN
455
        movBool(line, line.saved, FALSE)
440
        _movBool(FALSE, line.modified, TRUE, line.saved, FALSE)
456
    END;
441
    END;
457
    line.modified := TRUE;
442
    line.modified := TRUE;
458
    line.saved := FALSE;
443
    line.saved := FALSE;
Line 530... Line 515...
530
    END
515
    END
531
    RETURN modified
516
    RETURN modified
532
END convert;
517
END convert;
Line 533... Line 518...
533
 
518
 
534
 
519
 
535
PROCEDURE init* (movInt: PmovInt; movPtr: PmovPtr; movBool, movBool2: PmovBool; typedPtr: PTypedPtr; untypedPtr: PUntypedPtr);
520
PROCEDURE init* (movInt: PmovInt; movPtr: PmovPtr; movBool: PmovBool; typedPtr: PTypedPtr; untypedPtr: PUntypedPtr);
536
BEGIN
521
BEGIN
537
    _movInt := movInt;
522
    _movInt := movInt;
538
    _movPtr := movPtr;
-
 
539
    _movBool := movBool;
523
    _movPtr := movPtr;
540
    _movBool2 := movBool2;
524
    _movBool := movBool;
541
    _typedPtr := typedPtr;
525
    _typedPtr := typedPtr;