Студопедия — Int isalpharus(char c);
Студопедия Главная Случайная страница Обратная связь

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

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



Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

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

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Объект, субъект, предмет, цели и задачи управления персоналом Социальная система организации делится на две основные подсистемы: управляющую и управляемую...

Законы Генри, Дальтона, Сеченова. Применение этих законов при лечении кессонной болезни, лечении в барокамере и исследовании электролитного состава крови Закон Генри: Количество газа, растворенного при данной температуре в определенном объеме жидкости, при равновесии прямо пропорциональны давлению газа...

Ганглиоблокаторы. Классификация. Механизм действия. Фармакодинамика. Применение.Побочные эфффекты Никотинчувствительные холинорецепторы (н-холинорецепторы) в основном локализованы на постсинаптических мембранах в синапсах скелетной мускулатуры...

Билет №7 (1 вопрос) Язык как средство общения и форма существования национальной культуры. Русский литературный язык как нормированная и обработанная форма общенародного языка Важнейшая функция языка - коммуникативная функция, т.е. функция общения Язык представлен в двух своих разновидностях...

Патристика и схоластика как этап в средневековой философии Основной задачей теологии является толкование Священного писания, доказательство существования Бога и формулировка догматов Церкви...

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

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