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; |