Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Int isalpharus(char c);





Int isspace1(char c);

Int isdigit1(char c);

 

void main(int ac, char*av[])

{

clrscr();

if(! ac)

puts(" Hет исходного файла");

PF=fopen(av[1], " r");

padres=fopen(" getrez.dan", " w");

 

if(! PF)

puts(" Файл не открывается");

else

get();

}

Void get()

{

while(nch! =EOF)

{

while(isspace1(nch))

{

if(nch=='\n')

nst++;

nch=getc(PF);

}

if(isdigit1(nch))

number();

else

if(isalpharus(nch))

word();

else

if(nch=='('||nch==')'||nch==', '||nch=='; '||nch=='='||nch=='+'||nch=='-'||nch=='*'||nch=='/'||nch=='%'|| nch=='{'||nch=='}')

{

lex=nch;

nch=getc(PF);

}

}

if(nch==EOF)

lex=EOF;

else

puts(" Hедопустимый символ");

return;

}

Void number()

{

for(lval=0; isdigit1(nch); nch=getc(PF))

lval=lval*10+nch-'0';

lex=NUMB;

return;

}

void word()

{

static int cdl[]={BEGINL, ENDL, IFL, THENL, WHILEL, DOL, RETRL, READL,

PRITL, INTL, CONSTL, IDEN, NUMB};

static char*serv []={" {", " }", " если", " тогда", " пока", " делать", " возврат", " читать", " печатать", " целый";, " const" };

int i;

char tx[40];

char*p, *add();

for(p=tx; isdigit1(nch)||isalpharus(nch); nch=getc(PF))

*(p++)=nch;

*p='\0';

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

if(strcmp(tx, serv[i])==0)

{

lex=cdl[i];

return;

}

lex=IDEN;

lval=(int)add(tx);

printf(" Адрес для %s =%p\n", tx, lval);

fprintf(padres, " Адрес для %s =%p\n", tx, lval);

 

return;

}

char TNM[400];

char*ptn=TNM;

 

char*add(char*nm)

{

char*p, *strcpy();

for(p=TNM; p< ptn; p+=strlen(p)+1)

if(strcmp(p, nm)==0)

return p;

if((ptn+=strlen(nm)+1)> TNM+400)

{

puts(" Переполнение таблицы");

exit(0);

}

return(strcpy(p, nm));

}

/* Добавляем к исходной программе функции пользователя для распознавания букв, специальных знаков и цифр */

Int isalpharus(char c)

{

Int v;

if(isalpha(c)||c=='а'||c=='б'||c=='в'||c=='г'||c=='д'||c=='е'

||c=='ж'||c=='з'||c=='д'||c=='е'||c=='ж'||c=='з'||c=='и'|| c=='й'||c=='к'||c=='л'||c=='м'||c=='н'||c=='о'||c=='п'|| c=='р'||c=='с'||c=='т'||c=='у'||c=='ф'||c=='х'||c=='ц'||c=='ч'||c=='ш'||c=='щ'||c=='ы'||c=='э'||c=='ю'||c=='я'||c== 'ь')

v=8;

Else

v=0;

Return v;

}

Int isspace1(char c)

{

Int v;

if(c=='\ '||c=='\n'||c=='\t'||c=='\f')

v=1;

Else

v=0;

Return v;

}

Int isdigit1(char c)

{

Int v;

if(c=='0'||c=='1'||c=='2'||c=='3'||c=='4'||c=='5'||c=='6'||c=='7'||c=='8'||c=='9')

v=2;

Else

v=0;

Return v;

}


Варианты заданий для курсовой работы

 

Вариант 1

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором все ключевые слова переведены на русский язык и вместо begin и end используются соответственно левая и правая фигурные скобки. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 2

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором все ключевые слова переведены на украинский язык и вместо begin и end используются соответственно левая и правая фигурные скобки. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 3

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором все ключевые слова переведены на русский язык и вместо begin и end используются слова start и finish. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

 


Вариант 4

Составить программу на СИ для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова переведены на украинский язык и вместо begin и end bиспользуются слова start и finish. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 5

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором все ключевые слова переведены на русский язык, а вместо Int используется Var. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 6

Составить программу на СИ для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова переведены на украинский язык и вместо слова NUMB используется DIGIT. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 7

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова BEGIN, END, READ, PRINT заменены соответствующими словами на русском языке, а вместо int используется var. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 8

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова WHILE, DO, END, IF, THEN переведены на русский язык, а точка с запятой заменена двоеточием. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 9

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

 

Вариант 10

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором все ключевые слова переведены на украинский язык, а вместо Int используется Var. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 11

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова BEGIN, END, READ, PRINT переведены на русский язык, а вместо точки с запятой используется символ @. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 12

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова RETURN, IF, THEN, WHILE, DO переведены на украинский язык, а вместо END используется символ @. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 13

Составить программу на СИ для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова WHILE, DO, END, IF, THEN переведены на украинский язык, а вместо int используется слово var. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 14

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

 

 

Вариант 15

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором BEGIN, END заменены на { и }, а все остальные ключевые слова переведены на украинский язык. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 16

Составить программу на СИ для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова переведены на русский язык, а вместо точки с запятой используется символ #. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 17

Составить программу на СИ для лексического и синтаксического анализов программы на модифицированном языке, в котором BEGIN и END заменены соответственно на {и }, а READ, PRINT, RETURN переведены на русский язык. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 18

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова read, print, return переведены на украинский язык, а вместо end служит символ @. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 19

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором BEGIN, END заменены соответственно на { и }, а все остальные ключевые слова переведены на русский язык. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 20

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

 

Вариант 21

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором все ключевые слова переведены на русский язык, а вместо Int используется Var. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

 

Вариант 22

Составить программу на СИ для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова переведены на украинский язык и вместо слова NUMB используется DIGIT. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 23

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова BEGIN, END, READ, PRINT заменены соответствующими словами на русском языке, а вместо int используется var. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 24

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова WHILE, DO, END, IF, THEN переведены на русский язык, а точка с запятой заменена двоеточием. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 25

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором переведены на русский язык и вместо точки с запятой используется символ @. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 26

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором все ключевые слова переведены на украинский язык, а вместо Int используется Var. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 27

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова BEGIN, END, READ, PRINT переведены на русский язык, а вместо точки с запятой используется символ @. Вывести в файл и на экран таблицу идентификаторов и их адресов.

 

Вариант 28

Составить программу на Си для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова RETURN, IF, THEN, WHILE, DO переведены на украинский язык, а вместо END используется символ @.

 

Вариант 29

Составить программу на СИ для лексического и синтаксического анализов программы на модифицированном языке SPL, в котором ключевые слова WHILE, DO, END, IF, THEN переведены на украинский язык, а вместо int используется слово var.

 

 


Вариант 30

Составить программу на Си для лексического анализа программы на модифицированном языке SPL, в котором все ключевые слова переведены на украинский язык, а вместо точки с запятой используется символ ^.

 







Дата добавления: 2014-11-12; просмотров: 606. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Весы настольные циферблатные Весы настольные циферблатные РН-10Ц13 (рис.3.1) выпускаются с наибольшими пределами взвешивания 2...

Хронометражно-табличная методика определения суточного расхода энергии студента Цель: познакомиться с хронометражно-табличным методом опреде­ления суточного расхода энергии...

Studopedia.info - Студопедия - 2014-2025 год . (0.015 сек.) русская версия | украинская версия