Строка 1:
Строка 1:
−
Курс «Формальные языки и трансляции» посвящён изучению формальных языков и одному из их наиболее распространённых ныне приложений - трансляции, т.е. переводу из одного машинного (как правило - формального) языка на другой. К примеру, с одного из языков программирования высокого уровня на язык Ассемблера и далее - в машинные коды.
+
{{Предмет
+
|Читается на кафедрах=Кафедра «Алгоритмы и технологии программирования»,
+
}}
+
Курс «'''Формальные языки и трансляции'''» посвящён изучению формальных языков и одному из их наиболее распространённых ныне приложений - трансляции, т.е. переводу из одного машинного (как правило - формального) языка на другой. К примеру, с одного из языков программирования высокого уровня на язык Ассемблера и далее - в машинные коды. Другой пример - с языка описания того, что должна делать программа (прикладная, инструментальная и т.п.) в какой-то предметной области (пока сравнительно узкой) - к генерацию кодов и сборки её исполнимых модулей. Третий пример - с языка описания электронной схемы - к получению готового изделия и т.д.
== История ==
== История ==
−
Технические возможности по обеспечению такого перевода стали достаточно широко доступны (первоначально - специалистам) уже с начала 1960-х годов. Вскоре соответствующие курсы по изучению формальных языков (как раздела высшей алгебры) появились сначала на старших курсах ведущих технических университетов, а затем постепенно стали обязательны для каждого факультета прикладной математики сколько-нибудь приличного вуза, после некоторого приспособления (с целью большей доступности материала) "переехали" на более младшие курсы.
+
Технические возможности по обеспечению такого перевода стали достаточно широко доступны (первоначально - специалистам) уже с начала 1960-х годов. Вскоре соответствующие курсы по изучению формальных языков (как раздела высшей алгебры) появились сначала на старших курсах ведущих технических университетов, а затем постепенно стали обязательны для каждого факультета прикладной математики сколько-нибудь приличного вуза и после некоторого приспособления (с целью большей доступности материала) "переехали" на более младшие курсы. Ныне такие курсы обычно читаются на втором году обучения (поскольку требуют предварительного знакомства с основами математической логики и теории множеств и некоторых других общематематических навыков).
=== На Физтехе ===
=== На Физтехе ===
Строка 9:
Строка 12:
== Книги и учебные пособия по курсу ==
== Книги и учебные пособия по курсу ==
=== в сети ===
=== в сети ===
−
* ''Серебряков В.А., Галочкин М.П., Гончар Д.Р., Фуругян М.Г.'' [http://trpl7.ru/t-books/_TRYAPBOOK_pdf.pdf Теория и реализация языков программирования: учеб. пос.] М., МЗ-Пресс, 2003. (2-е изд., 2006 г.) – электр. версия в сети с разреш. авторов.
+
* ''[[Серебряков Владимир Алексеевич|Серебряков В.А.]], Галочкин М.П., Гончар Д.Р., Фуругян М.Г.'' [http://trpl7.ru/t-books/_TRYAPBOOK_pdf.pdf Теория и реализация языков программирования: учеб. пос.] М., МЗ-Пресс, 2003. (2-е изд., 2006 г.) – электр. версия в сети с разреш. авторов.
* ''Мартыненко Б.К.'' [http://trpl7.ru/t-books/Martin/Martinenko_FLT_Cont.htm Языки и трансляции: учеб. пос.] СПб.ГУ, 2002 г. (ранее было разм. на странице автора на портале СПб.ГУ).
* ''Мартыненко Б.К.'' [http://trpl7.ru/t-books/Martin/Martinenko_FLT_Cont.htm Языки и трансляции: учеб. пос.] СПб.ГУ, 2002 г. (ранее было разм. на странице автора на портале СПб.ГУ).
* ''Шень А. Х.'' [https://www.mccme.ru/free-books/shen/shen-progbook.pdf Программирование: теоремы и задачи]. М.: МЦНМО, 2004. (разм. на портале МЦНМО с разр. автора) – здесь можно посмотреть алгоритм Кнута-Морриса-Пратта.
* ''Шень А. Х.'' [https://www.mccme.ru/free-books/shen/shen-progbook.pdf Программирование: теоремы и задачи]. М.: МЦНМО, 2004. (разм. на портале МЦНМО с разр. автора) – здесь можно посмотреть алгоритм Кнута-Морриса-Пратта.