Skip to content

Commit

Permalink
+ Parser & GC projects
Browse files Browse the repository at this point in the history
  • Loading branch information
TurtlePU committed Oct 7, 2024
1 parent 35c25fb commit 50cff83
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 0 deletions.
11 changes: 11 additions & 0 deletions docs/projects/gc.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,14 @@ tags:
---

# Уборка мусора

В любом языке с автоматическим управлением памятью присутствует так называемый
уборщик мусора — программа, работающая параллельно с основной программой,
и освобождающая память процесса за счёт уборки объектов, более не используемых
основной программой.

Благодаря тому, что задача уборки мусора неразрешима (по теореме
Райса-Успенского, в общем случае нельзя по коду программы понять, зайдёт ли она
в некоторую область памяти), данная отрасль постоянно развивается; Вам
предлагается принять в этом участие, изучив различные стратегии уборки мусора и
написав свой уборщик.
21 changes: 21 additions & 0 deletions docs/projects/parsergen.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,24 @@ tags:
---

# Генераторы парсеров

В самом общем случае, парсер — программа, производящая синтаксический
разбор текста по некоторой формальной грамматике. В настоящее время, в основном
парсеры используются:

* компиляторами и интерпретаторами для получения синтаксического дерева
программ;
* серверами для извлечения информации о запросе от клиента;
* встроенными устройствами для общения по бинарным протоколам;
* ...

Поскольку это задача классическая и хорошо изученная, существуют также и
всевозможные классические алгоритмы по написанию парсеров для своих языков.
Более того, задача это максимально техническая; для её автоматического решения
и были созданы так называемые генераторы парсеров, по поданной на вход
грамматике генерирующие парсер (либо выдающие сообщение об ошибке, что
сгенерировать парсер для данной грамматики невозможно).

В данном проекте Вы узнаете, какие могут быть сложности при парсинге грамматик,
какие бывают классы грамматик (и классы сложности грамматик!), а также напишете
свой генератор парсеров.

0 comments on commit 50cff83

Please sign in to comment.