Автор курса

Бах Ольга Анатольевна

Доцент

Кафедра прикладной математики и кибернетики (ПМ и К): СибГУТИ

email: stream63@ngs.ru


Изучение дисциплины “Теория языков программирования и методы трансляции” ставит своей целью освоение классических основ теории формальных языков и принципов построения и функционирования трансляторов. В курсе рассматриваются такие понятия, как генераторы и распознаватели языков программирования, грамматики, автоматы различных типов, преобразователи языков, трансляторы и компиляторы. Изучаются различные по трудоёмкости способы анализа текстов программ и синтеза результирующего кода. Большое внимание уделено рассмотрению методов синтаксического разбора текстов.

В процессе освоения дисциплины студент должен получить основные сведения о принципах генерации языков программирования и основных генераторах в соответствии с типами языков согласно иерархии Хомского, способах распознавания цепочек языков, построения и функционирования трансляторов, этапах компиляции, основных способах перевода текстов.

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

В процессе освоения данной дисциплины студенту необходимо:

  1. изучить конспект лекций;
  2. выполнить 3 лабораторные работы (т.е. написать программы в соответствии с заданием);
  3. изучить методические указания и выполнить курсовую работу;
  4. сдать экзамен.

Внимательно прочтите следующие рекомендации:

  • При изучении курса “Теория языков программирования и методы трансляции” достаточно конспекта лекций и методических материалов к выполнению лабораторных и курсовой работы. Желающие изучить курс более глубоко могут воспользоваться книгами, указанными в списке литературы. При этом возможно изучать и другие книги аналогичной тематики, не вошедшие в данный список.
  • Прежде чем выполнять каждую лабораторную работу, рекомендуется тщательно разобраться с решением задач по соответствующей теме и попробовать свои силы в их самостоятельном решении.
  • Для разработки программ к лабораторным работам разрешается использовать любой инструментарий.
  • Лабораторные работы рекомендуется выполнять в предложенном порядке, т.к. последующие в основном используют материалы предыдущих.
  • Курсовая работы выполняется на основании лабораторных работ.
  • Выбор номера варианта курсовой работы осуществляется по последней цифре пароля.
  • После выполнения всех лабораторных работ и курсовой работы студенту будет предложен экзаменационный билет.
  • Выполненные задания должны быть высланы со страниц нашего сайта. С порядком отправки выполненных работ можно ознакомиться в инструкции по отправке, доступной по ссылке.

Получить необходимую консультацию можно по адресу: stream63@ngs.ru или обратившись к преподавателю ВКонтакте.

Желаем Вам успехов в изучении дисциплины «Теория языков программирования и методы трансляции»!