Разработка синтаксического распознавателя вычисляемого оператора перехода языка FORTRAN — страница 5

  • Просмотров 2068
  • Скачиваний 165
  • Размер файла 23
    Кб

//¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾ int I_ReadKey(void); // Опрос клавиатуры. void Welcome(void); // Экран при старте программы. void Menu(void); // Меню. void Help(void); // Помощь. void MyExit(int=0); // Корректный выход из программы. void Beep(int=500,int=100); // Звуковой сигнал. void Usage(void); // Использование программы. int OpenFile(void); // Открытие файла. void

DrawBox(int,int,int,int,char*); // Рисует рамку с заголовком. void PrintText(void); // Печатает основной текст. void Screen(void); // Перерисовка экрана. void Compile(void); // Компиляция. void Message(int); // Вывод сообщений об ошибках. void MyPuts(char*,int); // Аналог puts(char*);. void Language(void); // Язык оператора. void Grammar(void); // Грамматика языка. void GetFilename(void); // Запрос имени файла для открытия. int ScanStr(char*); // Поиск GOTO. int Scaner(char*); // Обработка строки. void Scan(void); // Сканирование следующего символа. void Delspace(char*); //

Удаление ненужных пробелов в строке. int AB(void); // Реализация нетерминала <АВ>. int T(void); // Реализация нетерминала <Т>. int O(void); // Реализация нетерминала <О>. int IDENT(void); // Реализация нетерминала <IDENT>. int FLOAT(void); // Реализация нетерминала <FLOAT>. void Error(int=0,char* =""); // Обработка ошибки.

//¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾ // Глобальные переменные. //¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾ char filename[MAX_STR_LEN]; // Имя файла. char *text[COL_STR+1]; // Массив указателей на

строки текста. char screen[4096]; // Буфер под копию экрана. char mes[21][20][80]; // Массив под сообщения об ошибках. char nx; // Текущий символ. int pos; // Текущая позиция в строке. char STR[80]; // Сканируемая строка. int ERR1; // Счетчик страниц в массиве ошибок. int ERR2; // Счетчик строк в массиве ошибок. FILE *errors; // Дескриптор файла.

//¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾ // Функция MAIN. //¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾ void main(int argc,char* argv[]) { textcolor(LIGHTGRAY); textbackground(BLACK); _setcursortype(_NOCURSOR); clrscr(); if(argc>2) {