End;
End;
If i
Goto More;
next: inc (y);
Until y> CLine;
End;
Procedure WrtSymbol (i, j, c: Byte);
Begin
Case c of
1: Begin
OutTextXY (18 + i * 25,27 + j * 24-40, '<');
PutPixel (18 + i * 25 +5,27 + j * 24 +3-40,3);
End;
2: Begin
OutTextXY (18 + i * 25,27 + j * 24-40, '>');
PutPixel (18 + i * 25-1,27 + j * 24 +3-40,3);
End;
3: Begin
OutTextXY (18 + i * 25,25 + j * 24 +3-40, '=');
PutPixel (18 + i * 25 +2,25 + j * 24 +3-40,3);
End;
4: OutTextXY (18 + i * 25,25 + j * 24 +3-40, 'X');
End;
End;
Var sdig: String [2];
j: Byte;
x, y: Byte;
tmp: NotTerm;
tmp2: NotTerm;
Error: Boolean;
Pic: Pointer;
size: Word;
Begin
Message (30,15,15,7,'', False);
Zoom;
Message (30,15,15,7, 'Матриця передування', False);
Tab (CTrmNotTrm +1,10,20);
WriteGr ('Граматика', 440,360,200);
For j: = 1 To CLine Do
Begin
PosStr (j, s);
LineStr (s, 400,375 + j * 13);
End;
TextColor (14);
TextBackGround (0);
Window (1,1,80,28);
x: = 2;
y: = 24;
GotoXY (50,2);
WriteLN ('Ліві Праві');
SetColor (14);
tmp: = Trm_NotTrm;
tmp2: = notTerminalL;
For i: = 1 To CTrmNotTrm Do
Begin
Str (i, sdig);
OutTextXY (18 + i * 25,25, sdig);
OutTextXY (18,35 + i * 24, sdig);
inc (y);
If y = 29 Then
Begin
inc (x, 13);
y: = 25;
End;
GotoXY (x, y);
TextColor (14);
Write (sdig, '. '); p> TextColor (3);
Write (tmp ^. Name);
GotoXY (43,2 + i);
If tmp2 <> Nil Then
Write (tmp2 ^. Name);
tmp2: = tmp2 ^. Next;
tmp: = tmp ^. Next;
End;
tmp2: = LTN;
i: = 3;
GotoXY (50, WhereY);
While tmp2 <> Nil Do
Begin
If tmp2 ^. Name = # 0 Then
Begin
GotoXY (50, WhereY);
inc (i);
End;
GotoXY (WhereX, i);
If tmp2 ^. Name <> # 0 Then Write (tmp2 ^. Name);
tmp2: = tmp2 ^. Next;
End;
tmp2: = RTN;
i: = 3;
GotoXY (70, WhereY);
While tmp2 <> Nil Do
Begin
If tmp2 ^. Name = # 0 Then
Begin
GotoXY (70, WhereY);
inc (i);
End;
GotoXY (WhereX, i);
If tmp2 ^. Name <> # 0 Then Write (tmp2 ^. Name);
tmp2: = tmp2 ^. Next;
End;
Precede;
SetColor (3);
Error: = False;
For j: = 1 To CTrmNotTrm Do {!} p> For i: =...