Формальные языки и трансляции: различия между версиями
imported>Дмитрий Русланович Гончар (Краткое описание истории создания курса и имеющейся литературы в сети и в б-ке ин-та) |
imported>Дмитрий Русланович Гончар (подробнее о приложениях) |
||
(не показано 14 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | Курс | + | Курс «'''Формальные языки и трансляции'''» посвящён изучению формальных языков и одному из их наиболее распространённых ныне приложений - трансляции, т.е. переводу из одного машинного (как правило - формального) языка на другой. К примеру, с одного из языков программирования высокого уровня на язык Ассемблера и далее - в машинные коды. Другой пример - с языка описания того, что должна делать программа (прикладная, инструментальная и т.п.) в какой-то предметной области (пока сравнительно узкой) - к генерацию кодов и сборки её исполнимых модулей. Третий пример - с языка описания электронной схемы - к получению готового изделия и т.д. |
== История == | == История == | ||
− | Технические возможности по обеспечению такого перевода стали достаточно широко доступны (первоначально - специалистам) уже с начала 1960-х годов. Вскоре соответствующие курсы по изучению формальных языков (как раздела высшей алгебры) появились сначала на старших курсах ведущих технических университетов, а затем постепенно стали обязательны для каждого факультета прикладной математики сколько-нибудь приличного вуза | + | Технические возможности по обеспечению такого перевода стали достаточно широко доступны (первоначально - специалистам) уже с начала 1960-х годов. Вскоре соответствующие курсы по изучению формальных языков (как раздела высшей алгебры) появились сначала на старших курсах ведущих технических университетов, а затем постепенно стали обязательны для каждого факультета прикладной математики сколько-нибудь приличного вуза и после некоторого приспособления (с целью большей доступности материала) "переехали" на более младшие курсы. Ныне такие курсы обычно читаются на втором году обучения (поскольку требуют предварительного знакомства с основами математической логики и теории множеств и некоторых других общематематических навыков). |
=== На Физтехе === | === На Физтехе === | ||
Строка 9: | Строка 9: | ||
== Книги и учебные пособия по курсу == | == Книги и учебные пособия по курсу == | ||
=== в сети === | === в сети === | ||
− | * ''Серебряков В.А., Галочкин М.П., Гончар Д.Р., Фуругян М.Г.'' [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. (разм. на портале МЦНМО с разр. автора) – здесь можно посмотреть алгоритм Кнута-Морриса-Пратта. |
Текущая версия от 15:37, 3 декабря 2019
Курс «Формальные языки и трансляции» посвящён изучению формальных языков и одному из их наиболее распространённых ныне приложений - трансляции, т.е. переводу из одного машинного (как правило - формального) языка на другой. К примеру, с одного из языков программирования высокого уровня на язык Ассемблера и далее - в машинные коды. Другой пример - с языка описания того, что должна делать программа (прикладная, инструментальная и т.п.) в какой-то предметной области (пока сравнительно узкой) - к генерацию кодов и сборки её исполнимых модулей. Третий пример - с языка описания электронной схемы - к получению готового изделия и т.д.
История[править | править код]
Технические возможности по обеспечению такого перевода стали достаточно широко доступны (первоначально - специалистам) уже с начала 1960-х годов. Вскоре соответствующие курсы по изучению формальных языков (как раздела высшей алгебры) появились сначала на старших курсах ведущих технических университетов, а затем постепенно стали обязательны для каждого факультета прикладной математики сколько-нибудь приличного вуза и после некоторого приспособления (с целью большей доступности материала) "переехали" на более младшие курсы. Ныне такие курсы обычно читаются на втором году обучения (поскольку требуют предварительного знакомства с основами математической логики и теории множеств и некоторых других общематематических навыков).
На Физтехе[править | править код]
Первый курс по формальным языкам (ТРЯП) был создан в МФТИ зав. отд. ВЦ РАН и доцентом ФУПМ МФТИ В.М. Курочкиным вскоре после создания ФУПМа в конце 1960-х годов и, несмотря на явный интерес к этому направлению, например, для ряда специальностей ФРТК, никогда не читался на других факультетах до появления ФИВТ. С созданием последнего один год читать курс на факультет были приглашены преподаватели ФУПМ, но их привычки (в частности, не ставить "удв" автоматом только за принадлежность студента к ФИВТ) привели к разногласию с деканатом, закончившимся удалением всего курса из учебной программы. Через какое-то время курс, в силу своей очевидной важности и востребованности для выпускников, был возобновлён, но уже под другим названием и преподавать его были приглашены другие преподаватели.
Книги и учебные пособия по курсу[править | править код]
в сети[править | править код]
- Серебряков В.А., Галочкин М.П., Гончар Д.Р., Фуругян М.Г. Теория и реализация языков программирования: учеб. пос. М., МЗ-Пресс, 2003. (2-е изд., 2006 г.) – электр. версия в сети с разреш. авторов.
- Мартыненко Б.К. Языки и трансляции: учеб. пос. СПб.ГУ, 2002 г. (ранее было разм. на странице автора на портале СПб.ГУ).
- Шень А. Х. Программирование: теоремы и задачи. М.: МЦНМО, 2004. (разм. на портале МЦНМО с разр. автора) – здесь можно посмотреть алгоритм Кнута-Морриса-Пратта.
- Уравнения с регулярными коэффициентами (консп. из Ахо-Ульмана (1978), 4 с.)
В библиотеке МФТИ[править | править код]
- Серебряков В.А. и др. Теория и реализация языков программирования: учеб. пос. М.: МЗ-Пресс, 2006 г.
- Ахо А., Сети Р., Ульман Дж. Компиляторы. Принципы, технологии, инструменты. М., СПб., Киев: Вильямс, 2001. (10 шт.)
- Хопкрофт Дж., Мотвани Р., Ульман Дж. Введение в теорию автоматов, языков и вычислений. М.: Вильямс, 2002. (16 шт.)