В. В. Борисенко
2002-2003 учебный год
Реализация Л2-списка на С++: классы L2ListHeader и L2List. Особенность реализации с использованием динамической памяти: элементы списка являются объектами класса, который наследуется из класса L2ListHeader; поэтому у класса L2ListHeader и у наследуемых из него классов должен быть виртуальный деструктор.
Проект "Хеш-реализация нагруженного множества"
HashSet.zip (используется
первый способ разрешения коллизий).
Задачи по теме
"Хеш-реализация множества".
Регулярные языки и регулярные выражения. Примеры задания языков с помощью регулярных выражений. Теорема Клини о совпадении классов автоматных и регулярных языков.
Утилита LEX для построения сканера, разбивающего поток символов на лексемы в соответствии с заданным набором регулярных выражений. Утилита GREP для поиска фрагмента, соответсвующего регулярному выражению, в файле или в множестве файлов.
Инструментальные средства построения компиляторов:
утилита LEX для построения лексического анализатора, или "сканера",
и утилита YACC для построения синтаксического анализатора,
или "парсера" (от английского "to parse" -- разбирать).
Проект "Калькулятор формул"
(YaccCalc.zip),
его реализация с помощью утилит LEX и YACC.
Задачи по проекту
"Калькулятор формул".