Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Методички » Розробка апаратно-програмних модулів системної шини ISA

Реферат Розробка апаратно-програмних модулів системної шини ISA





Постановка завдання


Розробка алгоритму синтаксичного аналізу оператора виведення printf мови C + +. Розглянути теорію формальних граматик, принцип побудови графів, і потім розробити проект, засобами середовища програмування Builder C + +. br/>

Граматика мови


Граматикою G [Z] називається кінцеве непорожнє безліч правил виводу, безлічі термінальних символів (термінальний словник), безлічі нетермінальних символів і початкового символу Z, який повинен зустрічатися хоча б один раз в лівій частині правила виведення

Змістовна частина мови: [<Оператор>]: scanf ("% d", <Текст>);

. <Програма> -> <Оператор>

. <Оператор> -> printf ("% d" <Текст>)

. <Текст> -> Буква | Буква, <Текст>

. Буква -> a | b | c. | Z | Буква {"",,, &}

Правила автоматної граматики:

А: = <Оператор>

a: = printf: = (D: = pC)

C: = Буква | Цифра: = Буква: = b,: = (: = c {", &,,}

Автоматна граматика:

A -> aB-> dD-> pC-> b | b1C


Граф станів


На даному графі представлені стану нашої мови.

-А (початковий стан), яке переходить у стан В по ланцюжку a.

-Зі стану В можна перейти в стан D по ланцюжку d.

-Зі стану D переходимо в стан С по ланцюжку p.

-Зі стану З є два шляхи, за якими робимо перехід в стан С (петля) по ланцюжку b1, так само по ланцюжку b переходимо в кінцевий стан K.


В 

. Класифікація Хомського


Класифікація Хомського включає в себе:

. Граматики нульового типу;

. Контекстно-залежні граматики (КЗ - граматики);

. Контекстно-вільні граматики;

. Автоматні або регулярні граматики. p align="justify"> алгоритм мову програмування оператор

Ця граматика, згідно класифікації Хомського, є автоматною, бо всі правила виведення відносяться до виду:

А -> Аb | a |/, a Є Vt, А, B Є Vn


Тест програми


В 

Рис.1 - Інтерфейс програми


В 

Рис.3 - Помилок немає


В 

Рис.4 - одна помилка


В 

Рис.5 - три помилки


І т.д.


Лістинг


// ---------------------------------------- -----------------------------------

# include

# include

# include

# pragma hdrstop

# include "Unit1. h "

# include "Unit2. h "

# include "Unit3. h "

# include "Unit4. h "

// ---------------------------------------- -----------------------------------

# pragma package (smart_init)

# pragma resource "*. dfm "* Form1;

// ---------------------------------------- -----------------------------------

__fastcall TForm1 :: TForm1 (TComponent * Owner)

: TForm (Owner)

{

} error (int i)

{er [80] = ""; (i)

{1: {sprintf (er, "Помилка: Помилка в імені функції");;} 2: {sprintf (er, "Помилка: Відсутня знак '('");; } 3: {sprintf (er, "Помилка: Відсутня знак''");

break;} 4: {sprintf (er, "Помилка: Помилка в перерахуванні специфікаторів типу");;} 5: {sprintf (er, "Помилка: Помилка в записі змінних"); ;} 6: {sprintf (er, "Помилка: Відсутня знак ')'");;} 7: {sprintf (er, "Помилка: Відсутня знак ';'");;} 8: {sprintf (er, "Помилка: неідентифіковані символ");

break;}

} -> Memo2-> Lines-> Add (er);

}

// ---------------------------------------- ----------------------------------- __fastcall TForm1 :: N4Click (TObject * Sender)

{();

}

// ---------------------------------------- ----------------------------------- __fastcall TForm1 :: N5Click (TObject * Sender)

{> CreateForm (__classid (TForm2), & Form2); -> ShowModal ...


сторінка 1 з 3 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Людина - вінець творіння або помилка природи
  • Реферат на тему: Помилка в платіжному дорученні. Інструкція до вирішення проблеми.
  • Реферат на тему: Експертні помилки в контексті загального поняття терміну "Помилка" ...
  • Реферат на тему: Розробка алгоритму синтаксичного аналізу оператора виведення printf мови C ...
  • Реферат на тему: Правильність мови: норми наголосу й граматики