> -- Info21 писал(а):
> Среди того, что полезно добавить в учебных целях ...Не знаю на сколько это полезно для школьного курса, но для университетского точно неплохо бы включить куда-то схему
## Код:
```
(* ~логичПеременная *) IF логичВыражение THEN логичПеременная := TRUE END <=> логичПеременная := логичВыражение
```
## Код:
```
(* логичПеременная *) IF логичВыражение THEN логичПеременная := FALSE END <=> логичПеременная := ~(логичВыражение)
```
На этот раз натолкнулся в DevElfLinker.## Код:
```
PROCEDURE WriteOut;
      VAR res: INTEGER;
   BEGIN
      ASSERT(~error, 20);
      Out := Files.dir.New(Files.dir.This(""), Files.ask);
      IF Out # NIL THEN
         Ro := Out.NewWriter(Ro); Ro.SetPos(0);
         CalculateLayout;
         IF ~error THEN WriteElfHeader END;
         IF ~error THEN WriteSectionHeaderTable END;
         IF ~error THEN WriteProgramHeaderTable END;
         ...
         Out.Register(soName$, "so", Files.ask, res);
         IF res # 0 THEN error := TRUE END
      ELSE
         error := TRUE
      END
```
## Код:
```
PROCEDURE WriteOut;
      VAR res: INTEGER;
   BEGIN
      ASSERT(~error, 20);
      Out := Files.dir.New(Files.dir.This(""), Files.ask);
      error := Out = NIL;
      IF ~error THEN
         Ro := Out.NewWriter(Ro); Ro.SetPos(0);
         CalculateLayout;
         IF ~error THEN WriteElfHeader END;
         IF ~error THEN WriteSectionHeaderTable END;
         IF ~error THEN WriteProgramHeaderTable END;
         ...
         Out.Register(soName$, "so", Files.ask, res);
         error := res # 0
      END
```
