Разработка сканера
Курсовой проект - Компьютеры, программирование
Другие курсовые по предмету Компьютеры, программирование
служебных слов
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.Оператор :=
-----------------------
Вывод:
В настоящей работе была показана работа сканера, при которой выполняется полный лексический анализ исходной программы.
Список использованных источников:
- Грис Д. Конструирование компиляторов для цифровых вычислительных машин. М.: Мир, 1975;
- Хантер Р. Проектирование и конструирование компиляторов. М.: Финансы и статистика, 1984.
- Касьянов В.Н., Поттосин И.В. Методы построения трансляторов. Новосибирск: Наука, 1986.