Разработка сканера

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

служебных слов

int LookUp(char* s)

{

int i;

char *log[]={"И","ИЛИ","НЕ"};

char *sl []={"Цикл","Пока","Делать","Продолжить","Вещественный","Двойной"};

for(i=0;i<6;i++)

{

if(strcmp(s,sl[i])==0)

return 1;

}

for(i=0;i<3;i++)

{

if(strcmp(s,log[i])==0)

return 2;

}

return 3;

}

//Проверка на ввод целого положительного числа

int Prov_itn()

{

char k1[5],k2[5];

int nn;

cin>>k1;

nn=atoi(k1);

itoa(nn,k2,10);

if (strlen(k1)!=strlen(k2))

return 0;

return nn;

}

3. Инструкция пользователю:

 

В данной программе пользователю предоставляется выбор из двух альтернатив: ввести текст вручную либо считать из файла. После выбора ввода программа в тексте определит служебные слова, идентификаторы, операторы, логические операции, комментарии, если таковые имеются.

4. Тестовый пример:

 

+---------------------+

1.Ввод с клавиатуры.

2.Ввод с файла.

+---------------------+

Ваш выбор:2

Введите имя файла ввода: in.txt

Содержимое файла:

Пока {*(ldfjvkdfvfjkb*}

Вещественный<> +=

Введите имя файла вывода: put.txt

Содержимое файла:

-----------------------

1.Служебное слово :Пока

2.Комментарий :{**}

3.Служебное слово :Вещественный

4.Оператор :<>

5.Оператор :+

6.Оператор :=

-----------------------

Вывод:

 

В настоящей работе была показана работа сканера, при которой выполняется полный лексический анализ исходной программы.

Список использованных источников:

 

  1. Грис Д. Конструирование компиляторов для цифровых вычислительных машин. М.: Мир, 1975;
  2. Хантер Р. Проектирование и конструирование компиляторов. М.: Финансы и статистика, 1984.
  3. Касьянов В.Н., Поттосин И.В. Методы построения трансляторов. Новосибирск: Наука, 1986.