42370

ВИЗНАЧЕННЯ ВІДНОШЕНЬ ПЕРЕДУВАНЬ ЗА ПРАВИЛАМИ ГРАМАТИКИ

Лабораторная работа

Информатика, кибернетика и программирование

Задачею висхідного розбору є зведення вхідного термінального ланцюжка до аксіоми. Для висхідного розбору критичним є тип виводу. Вивід зліва направо визначається таким чином, що на кожному кроці замінюється основа поточної синтенсійної форми. Тоді ланцюжок справа від основи завжди буде складатися лише з термінальних символів. Ключовим питанням при висхідному розборі є питання – як знайти основу та на який не термінал її замінити? Це питання легко вирішується для граматик простого передування.

Украинкский

2013-10-29

142.5 KB

7 чел.

Міністерство освіти і науки, молоді та спорту України

Національний Технічний університет України «КПІ»

Кафедра АПЕПС

Звіт за лабораторною роботою №4

з дисципліни «Лінгвістичне забезпечення САПР»

на тему:

«ВИЗНАЧЕННЯ ВІДНОШЕНЬ ПЕРЕДУВАНЬ ЗА ПРАВИЛАМИ ГРАМАТИКИ»

Виконав

студент 3-го курсу ТЕФ

групи ТР-91

Лисий А.І.

Перевірила

Третяк В.А.

Київ – 2011


Вступ

Задачею висхідного розбору є зведення вхідного термінального ланцюжка до аксіоми. Для висхідного розбору критичним є тип виводу. Вивід зліва направо визначається таким чином, що на кожному кроці замінюється основа поточної синтенсійної форми. Тоді ланцюжок справа від основи завжди буде складатися лише з термінальних символів. Ключовим питанням при висхідному розборі є питання – як знайти основу та на який не термінал її замінити? Це питання легко вирішується для граматик простого передування.


  1.  Виконання лабораторної роботи

Граматика називається граматикою простого передування, якщо вона є приведеною, оборотною, і якщо між будь-якими двома не терміналами або терміналами виконується не більше однієї умови передування.

Розглянувши два символи, що належать обєднаному словнику V, можна припустити, що існує деяка синтенсійна форма RS…, і на деякому етапі або R, або S, або RS належать основі.

  1.  RS… R•>S  U::=…R, SєVT*
  2.  RSR=S  U::=…RS…
  3.  …RS… R<•S  U::=S…

Жодне з умов передування не є симетричним. Якщо умови передування не визначені – не можуть стояти поряд в синтенсійній формі.

Визначення відношень передувань:

  1.  R=S => U::=…RS…
  2.  R<•S  => U::=…RV…, (R=V), SєFirst+(V), VєVN
  3.  R•>S => SєVT, U::=…VW…(V=W), RєFirst+(V), SєFirst+(W)

Алгоритм побудови відношень передувань:

  1.  Визначення рівностей R=S
  2.  Вибірка рівностей R=V, VєVN, R<•First+(V)
  3.  Визначення відношень R•>S
  4.  V=W, VєVN:

обираємо ті нерівності, де першим є не термінал

Last+(V) •>W

  1.  якщо WєVN, то необхідно визначити Last+(V) •>First+(W)

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

 

  1.  Граматика заданої мови програмування

<програма> ::= program id var <спис.огол1> main { <спис.опер1> }

<спис.огол> ::= <огол.> ; <спис.огол> | <огол.> ;

<спис.огол1> ::= <спис.огол>

<огол.>::=<тип> :  <спис.id1>

<тип>::=double  |  int

<спис.опер>::=<оператор1> ; | <оператор1> ; <спис.опер>

<спис.опер1>::=<спис.опер>

<оператор1>::=<оператор>

<оператор>::=<цикл>  |  <ум.оп>  |  <ввід>  |  <вивід>  |  <присвоєння>

<цикл>::= for id = <вираз1> : <лог.вираз1> | id = <вираз1>  <оператор>

<ум.оп>::=if [ <лог.вираз1> ] { <спис.опер1> }

<ввід>::=read ( <спис.id1> )

<вивід>::=write ( <спис.id1> )

<присвоєння>::= id = <вираз1>

<вираз>::= <додан.>  | <вираз> + <додан.1>  |  <вираз> - <додан.1>  |  - <додан.1>

<додан.> ::= <множн.>  |  <додан.> * <множн.>  | <додан.> / <множн.>

<додан.1> ::= <додан.>

<множн.> ::= con  |  ( <вираз1> )  |  id

<спис.id>::=id |  <спис.id> , id

<спис.id1> ::= <спис.id>

<відношення>::=<вираз> <знак> <вираз1>

<вираз1>::=<вираз>

<знак>::= >  |  <  |  >=  |  <=  |  ==  |  !=

<лог.вираз>::=<лог.додан.1> | <лог.вираз> && <лог.додан.1>

<лог.вираз1>::=<лог.вираз>

<лог.додан.> ::= <лог.множ.>  |  <лог.додан.> || <лог.множ.>

<лог.множ.>::= <лог.од.>  |  ! <лог.множ.>  |  [ <лог.вираз1> ]

<лог.додан.1>::=<лог.додан.>

<лог.од.> ::=<відношення> | true | false


  1.  Приклади роботи програми

На рисунку нижче наведено приклад роботи програми з помилками. Результат роботи подано в вигляді таблиці відношень. Помилки відмічаються за допомогою забарвлення відповідної клітки таблиці в червоний колір.

Рисунок 1 - Приклад роботи програми з помилками

На рисунку 2 наведено приклад роботи програми без помилок. Жодна з кліток не забарвлена в червоний колір, що свідчить про відсутність конфліктів відношень.

Рисунок 2 - Приклад роботи програми без помилок


Висновки

В даній лабораторній роботі були визначені відношення передування для заданої граматики. Результатом роботи програми є таблиця передувань та можливих конфліктів заданої граматики.


Список використаних джерел

  1.  Сліпченко, В.Г. Основи побудови компіляторів: Навч. посібник / В.Г. Сліпченко, В.М. Медведєва. – К.: ІЗМН, 2004. – 104с.
  2.  Ахо, А. Компиляторы: принципы, технологии и инструменты. : Пер. с англ / А. Ахо, Р. Сети, Дж. Ульман. – М. : Издательский дом «Вильямс», 2003. – 768с. : ил. – Парал. тит. англ.
  3.  Конспект лекцій з курсу лінгвістичного забезпечення САПР


 

А также другие работы, которые могут Вас заинтересовать

29403. Электропривод буровых насосов 44.5 KB
  Основными параметрами характеризующими работу насоса являются его подача Q и напор p развиваемый при заданной подаче. Мощность привода насоса определяется произведением Q∙p. В бурении в основном применяются поршневые насосы со сменными цилиндровыми втулками позволяющие изменять подачу насоса. В зависимости от диаметра втулки будет изменяться подача насоса а также предельнодопустимое давление на выходе насоса снижающееся при увеличении диаметра втулки.
29404. Электропривод постоянного тока по системе ТП-Д 28.5 KB
  В буровых установках для бурения скважин глубиной 6510 км в ЭП буровых насосов используются ДПТ управляемые по системе ТПД. Буровыми насосами с регулируемым ЭП по системе ТПД оснащаются буровые установки БУ2500 ЭП и БУ6500 ЭП и установки морского бурения. Механическая характеристика регулируемого ЭП бурового насоса по системе ТПД.
29405. Автоматические регуляторы подачи долота 94 KB
  Подача долота это последовательное опускание верхней точки КБТ в процессе бурения при этом скорость подачи долота должна быть равна скорости разбуривания. Задача плавной и равномерной подачи долота решается применением автоматических регуляторов. В зависимости от места расположения автоматические регуляторы подачи долота бывают наземными или глубинными погружными.
29406. АСИНХРОННЫЕ МАШИНЫ (ПЕРЕМЕННОГО ТОКА) 35 KB
  Асинхронный двигатель состоит из неподвижного статора и вращающегося ротора разделенных между собой воздушным зазором. Сердечник собирается из тонких листов электротехнической стали изолированных друг от друга и запрессовывается в корпусе статора. На внутренней поверхности сердечника вырублены пазы в которые укладывается трехфазная обмотка статора. Обмотка подключена к трехфазной сети и представляет собой систему проводников сдвинутых относительно друг друга в пространстве вдоль окружности статора на 120о.
29407. Буровые установки 27.5 KB
  Регулируемые приводы используют систему ТПДПТ. Силовой привод буровой установки может быть дизельным электрическим дизельэлектрическим и дизельгидравлическим. Дизельный привод применяют в районах не обеспеченных электроэнергией необходимой мощности.
29408. Взрывозащищенное электрооборудование 43.5 KB
  Взрывозащищенное электрооборудование различается по уровню взрывозащиты группам и температурным классам. Установлены следующие уровни взрывозащиты электрооборудования: 1. Вид взрывозащиты определяется установленным набором средств взрывозащиты. Для взрывозащищенного электрооборудования установлены следующие виды взрывозащиты: Взрывонепроницаемая оболочка [d].
29409. Дизель-электрический привод буровых установок 28 KB
  В последние годы существует тенденция расширения номенклатуры и объемов производства буровых установок с дизельэлектрическим приводом. Переход к автономному энергоснабжению позволяет решить проблему энергоснабжения удаленных от базы буровых установок проблему слабых сетей решить проблему повышения установленной мощности главных и вспомогательных приводов на буровых установках и др. Перечисленные недостатки системы ГД затрудняют ее использование в морских буровых установках.
29410. МАШИНЫ ПОСТОЯННОГО ТОКА 56.5 KB
  Она состоит из неподвижного статора и вращающегося якоря в машинах переменного тока вращающаяся часть – ротор. Коммутация – это процесс переключения секций обмотки якоря из одной параллельной ветви в другую и связанные с этим явления. Концы секций припаивают к пластинам коллектора что образует замкнутую обмотку якоря. Коллектор набран из медных пластин клинообразной формы изолированных друг от друга и корпуса и образующих в сборе цилиндр который крепится на валу якоря.
29411. Характеристика электрооборудования во взрывоопасных зонах в нефтяной и газовой промышленности (НГП) 35 KB
  Взрывоопасной зоной называют помещение или ограниченное пространство в помещении или наружной установке в которых имеются или могут образовываться взрывоопасные смеси. Взрывоопасные смеси горючих газов с воздухом или смеси легковоспламеняющихся жидкостей с воздухам согласно правилам устройства электроустановок ПУЭ классифицируются по категориям I II IIA IIB IIC и группам T1T6. Например ко II категории взрывоопасной смеси относятся промышленные газы и пары к I категории – рудничный газ. Безопасный экспериментальный...