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

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

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. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


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


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


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

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

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