МЕТОДИ ТА ТЕХНОЛОГІЇ ТРАНСЛЯТОРІВ

МЕТОДИ ТА ТЕХНОЛОГІЇ ТРАНСЛЯТОРІВ

 Мета курсу: отримання та засвоєння знань з методологій, методів та технологій побудови трансляторів; вивчення методів та алгоритмів побудови лексичного аналізатора, синтаксичного аналізатора, синтаксично керованої трансляції, генерації проміжного коду, середовища часу виконання, генерації коду.

 Завданням курсу є засвоєння знань з методологій, методів та технологій побудови трансляторів; вивчення побудови лексичного аналізатора на основі регулярних виразів, недетермінованих і детермінованих скінченних автоматів; реалізації лексичного аналізатора з використання програм Lex, Ply; вивчення побудови низхідного синтаксичного аналізатора методом  рекурсивного спуску; вивчення побудови висхідного синтаксичного аналізатора методом згортки; реалізація синтаксичних аналізаторів з використання програм Bison, Ply; вивчення синтаксично керованої трансляції з використанням успадковуваних і синтезовуваних атрибутів; вивчення генерації проміжного і кінцевого коду з використання мови асемблера.

У результаті вивчення даного курсу студент повинен знати: методологію, методи та технології побудови трансляторів; методи та засоби побудови лексичного аналізатора на основі регулярних виразів, недетермінованих і детермінованих скінченних автоматів; методи та засоби побудови низхідного синтаксичного аналізатора методом  рекурсивного спуску; методи та засоби побудови висхідного синтаксичного аналізатора методом згортки; методи синтаксично керованої трансляції з використанням успадковуваних і синтезовуваних атрибутів; методи генерації проміжного і кінцевого коду.

 На основі набутих знань студент повинен вміти: використовувати набуті теоретичні знання при створенні трансляторів; реалізовувати лексичний аналізатор на мовах високого рівня і з використанням програм Lex, Ply; реалізовувати синтаксичний аналізатор на мовах високого рівня і з використанням програм Bison, Ply; реалізовувати синтаксично керовану трансляцію на мовах високого рівня і з використанням програм Bison, Ply; реалізовувати генерацію проміжного і кінцевого коду з використанням асемблера.