Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
Lab3
  • Loading branch information
Alexey-Sagaydak authored Feb 21, 2024
1 parent 0a3dce2 commit 17f52e1
Showing 1 changed file with 29 additions and 2 deletions.
31 changes: 29 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

### Интерфейс текстового редактора

![Главное окно программы](/README_images/main_window.png)
![Главное окно программы](/README_images/main_window_new.png)

#### Получившийся текстовый редактор имеет следующие элементы:
1. Заголовок окна.
Expand Down Expand Up @@ -110,6 +110,7 @@
```sql
DECLARE
product_price CONSTANT INTEGER = 150;
expense_1_amount CONSTANT INTEGER := -50;
```

```sql
Expand Down Expand Up @@ -162,13 +163,15 @@ DECLARE productPrice3 CONSTANT INTEGER := 150; DECLARE expense_amount_4 CONSTANT
| ------ | ------ | ------ | ------ |
| 42 | Объявление и инициализация целочисленной константы в СУБД PostgreSQL | DECLARE product_price CONSTANT INTEGER := 150; | [ссылка](https://www.commandprompt.com/education/constants-in-postgresql-explained-with-examples/) |

[Примеры допустимых строк](#примеры-допустимых-строк)

**В соответствии с вариантом задания на курсовую работу необходимо:**
1. Разработать автоматную грамматику.
2. Спроектировать граф конечного автомата (перейти от автоматной грамматики к конечному автомату).
3. Выполнить программную реализацию алгоритма работы конечного автомата.
4. Встроить разработанную программу в интерфейс текстового редактора, созданного на первой лабораторной работе.

**Автоматная грамматика**
### Грамматика

G[Z] = { V<sub>T</sub>, V<sub>N</sub>, P, Z }

Expand All @@ -191,6 +194,30 @@ P = {

}

### Классификация грамматики

Согласно классификации Хомского, грамматика G[Z] является автоматной. Отметим, что правила должны быть либо только леворекурсивными, либо только праворекурсивными. Комбинация тех и других не допускается. Однако данная грамматика содержит одновременно леворекурсивные (2)-(3) и праворекурсивные продукции (5)-(6), и, следовательно, не является полностью автоматной.

### Граф конечного автомата

![Граф конечного автомата](/README_images/finite_state_machine.jpg)

### Тестовые примеры

1. **Тест №1.** Все выражения написаны корректно.

![Тест 1](/README_images/main_window_new.png)
3. **Тест №2.** Пример ошибок.

> При нажатии на лексему в таблице, соответствующий фрагмент текста подсвечивается в поле редактирования.
![Тест 2](/README_images/parser_test_1.png)
6. **Тест №3.** Пример ошибок.

> При нажатии на лексему в таблице, соответствующий фрагмент текста подсвечивается в поле редактирования.
![Тест 3](/README_images/parser_test_2.png)

## Лабораторная работа №4: Нейтрализация ошибок (метод Айронса)

## Лабораторная работа №5: Включение семантики в анализатор. Создание внутренней формы представления программы
Expand Down

0 comments on commit 17f52e1

Please sign in to comment.