DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Лабораторна робота № 4: Синтез граматик

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут прикладної математики та фундаментальних наук
Факультет:
Інститут прикладної математики і фундаментальних наук
Кафедра:
Кафедра прикладної математики

Інформація про роботу

Рік:
2007
Тип роботи:
Лабораторна робота
Предмет:
Теорія формальних граматик і мов
Група:
ПМ-22
Коротко про документ

Про що ця робота

У документі наведено виконання лабораторної роботи № 4 на тему синтезу граматик. Робота містить постановку завдання, код програми на C та висновок.

У роботі розглядаються

  • Синтез граматик
  • Теорія формальних мов
  • Програмування на C
  • Граматика констант
  • Лексичний аналіз

Зміст і розділи

  1. Умова задачі
  2. Текст програми
  3. Результат виконання
  4. Висновок
Для кого:Студенти технічних спеціальностей та викладачі вищих навчальних закладів.
Викладачі:Не вказано

Ключові поняття

граматикаконстантимова Паскальфіксована точкацифрирядокCсинтаксичний аналіз

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти та науки України Національний університет “Львівська політехніка” Інститут прикладної математики і фундаментальних наук Кафедра прикладної математики Лабораторна робота № 4 Синтез граматик Львів 2007 Умова задачі: 2. Побудувати граматику констант мови Паскаль з фіксованою точкою, сумарна кількість цифр яких не перевищує 2. Текст програми: #include<stdio.h> #include<conio.h> #include<iostream.h> #include<string.h> char str[100]; char *cons="const "; void main (void) { clrscr(); cout<<"Vvedit strichku:\n"; cin.getline(str,100); int i=0; int pr=0; int pr1=0; for (i=0;i<strlen(str);) { if(str[i]==' '){i++;} else{ pr=0; for(int j=0;j<strlen(cons);j++,i++) {if(str[i]==cons[j]) {pr=1;} else {pr=0;}; }; break; } } if(pr==1) {for (;i<strlen(str);) { if(str[i]==' '){i++;} else{ pr=0; if(str[i]>='a'&&str[i]<='z'){pr=1;i++;break;} else{pr=0;}; i++; } } } if(pr==1) {for (;i<strlen(str);) { if(str[i]==' '){i++;} else{ pr=0; if(str[i]=='=') {pr=1;i++;break;} else{pr=0;}; i++; } } } if(pr==1) {for (;i<strlen(str);) {if(str[i]==' '){i++;} else{ pr=0; if((str[i]>='0'&&str[i]<='9'&&str[i+1]>='0'&&str[i+1]<='9')&&(str[i+2]==' '||str[i+2]==';')) {pr=1;i=i+2;break;}; if(str[i]>='0'&&str[i]<='9'&&str[i+1]=='.'&&str[i+2]>='0'&&str[i+2]<='9'&&(str[i+3]==' '||str[i+3]==';')) {pr=1;i=i+3;break;}; if(str[i+1]>='0'&&str[i+1]<='9'&&str[i]=='.'&&str[i+2]>='0'&&str[i+2]<='9'&&(str[i+3]==' '||str[i+3]==';')) {pr=1;i=i+3;break;}; break; }; // } } if(pr==1) {for (;i<strlen(str);) { if(str[i]==' '){i++;} else{ pr=0; if(str[i]==';') {pr=1;i++;break;} else {pr=0;}; }; } if (pr==1){pr1=1;}; } if(pr1==1){cout<<"Stricka '"<<str<<"' opysue gramatyku konstant movy paskal z fiksovanoyu tochkoyu, kilkist cyfr yakyh rivna 2";} else{cout<<"Stricka '"<<str<<"' ne opysue gramatyku konstant movy paskal z fiksovanoyu tochkoyu, kilkist cyfr yakyh rivna 2";}; getch(); } Результат виконання:      Висновок: На лабораторній роботі я ознайомився з основними принципами реалізації грамматик на комп’ютері.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!