cputs (" T - Теpм; r n ");
cputs (" O - Опеpанд; r n ");
cputs (" Б - Буква; r n ");
cputs (" Ц - цифp; r n ");
cputs (" ДБЗ - Дробове Без Знака; r n ");
cputs (" ** - Зведення в ступінь. "); p> I_ReadKey ();
}
// Мова оператора.
void Language (void)
{
window (1,25,80,25);
textattr (112);
MyPuts (" ~ F1 ~ Help ~ F2 ~ Grammar ~ F3 ~ Language ~ F9 ~ Compile ~ F10 ~ Quit ~ Alt-X ~
Quit ~ Esc ~ Quit ", DARKGRAY);
window (20,8,60,18);
textcolor (WHITE);
textbackground (GREEN);
clrscr ();
DrawBox (2,1,40,11, "Мова оператора ");
window (22,9,58,17);
textcolor (BLACK);
cputs (" r n");
cputs (" GOTO CONST | VAR | АВ r n n ");
cputs (" CONST - Дробове без знаку, r n ");
cputs (" VAR - идентификатоp, r n ");
cputs (" АВ - аpіфметіческое вираженню. "); p> I_ReadKey ();
}
// Компіляція.
void Compile (void)
{
static int compile = 0;
window (1,25,80,25);
textattr (112);
MyPuts (" ~ F1 ~ Help ~ F2 ~ Grammar ~ F3 ~ Language ~ F9 ~ Compile ~ F10 ~ Quit ~ Alt-X ~
Quit ~ Esc ~ Quit ", DARKGRAY);
window (20,8,60,18);
textcolor (WHITE);
textbackground (RED);
clrscr ();
DrawBox (2,1,40,11, "Компіляція");
window (22,9,58,17);
textcolor (YELLOW);
cputs (" r n");
if (compile> 0)
{
cputs (" Текст ВЖЕ откомпилирован! "); p> Beep (900,1000);
return;
}
errors = fopen ("PROTOCOL.TXT", "wt");
cputs (" Йде компіляція. R n n ласка, почекайте ... ");
# ifdef TEST
window (1,1,80,25);
textattr (78);
clrscr ();
# endif
fprintf (errors, "/ **************************************** *************** n ");
fprintf (errors, "Г§ Протокол роботи синтаксичного распознавателя обчислюваного Г§ n ");
fprintf (errors, "Г§ оператора переходу мови FORTRAN. Г§ n ");
for (int i = 0; text [i]! = NULL; i + +)
Scaner (text [i]);
fprintf (errors, "Г§ КІНЕЦЬ. Г§ n ");
fprintf (errors, "***************************************** **************/ n ");
Beep (900,100);
compile + +;
}
// Обробка рядка.
int Scaner (char * string)
{
char tmpstr [STR_LEN];
strcpy (tmpstr, string);
Delspace (tmpstr);
ScanStr (tmpstr);
return 0;
}
// Пошук у рядку оператора GOTO.
int ScanStr (char * string)
{
int j;
int i = 0;
int k = 0;
static int a = 0;
char tmp [80];
char label = NO;
strcpy (STR, string);
fprintf (errors,...