Re: Translator
- From
- Ivan Boldyrev (2:5080/1003)
- To
- Andrew Starsh ()
- Date
- 2003-01-26T16:01:02Z
- Area
- RU.ALGORITHMS
From: Ivan Boldyrev <boldyrev@dataeast.ru>
Andrew Starsh <Andrew.Starsh@f59.n5071.z2.fidonet.org> writes:
> Hello Andrew!
>
> Wednesday January 22 2003 01:50, Andrew Sovgir wrote to All:
>
> AS> Необходимо написать тpанслятоp с одного языка на дpугой. Интеpесует
> AS> все по этому вопpосу, начиная с того, как описать гpамматику языков и
> AS> пpавила пpеобpазования (пока в основном это) и заканчивая pеализацией.
> AS> Пpиветствуются ссылки в инете и на бумажную литеpатуpу.
Вот список литературы из спецкурса "Методы трансляции" кафедры
программирования НГУ (автор -- В.А. Цикоза):
Основная:
1. А.Ахо, Дж.Ульман. Теория синтаксического анализа, перевода и
компиляции. - М., Мир, 1978.
2. С.К. Черноножкин. Методы трансляции. - Новосибирск, НГУ, 1995.
3. В.H.Касьянов. Лекции по теории формальных языков, автоматов и
сложности вычислений. - Новосибирск, НГУ, 1995.
Дополнительная:
4. В.Дж. Рейуорд-Смит. Теория формальных языков. Вводный курс. - М.,
Радио и связь, 1988.
5. В.H. Касьянов, И.В. Поттосин. Методы построения трансляторов. -
Новосибирск, Наука, 1986.
6. Р. Хантер. Проектирование и конструирование компиляторов. - М.,
Финансы и статистика, 1984.
От себя ещё добавлю книгу А. Ахо, Р. Сети, Дж. Ульман.
Компиляторы.. Принципы, технологии, инструменты. М.: Вильямс, 2001.
> У Вас есть несколько лишних лет жизни? Да и не всегда это возможно -
> лисповские списки, стpуктуpа котоpых создается "на ходу" - в паскале
> не pеализовать _ничем_.
Да? А ничего, что они эквивалентны машине Тьюринга, и следовательно,
эквивалентны друг другу?
А куда из Паскаля делись records с вариантами, new/dispose? Вот так и
можно имитировать лисповые списки. А можно вообще завести байтовые
массивы во всю память и работать с этой памятью напрямую, организуя
сборку мусора и т.п.
--
Ivan Boldyrev
PGP fp: 3640 E637 EE3D AA51 A59F 3306 A5BD D198 5609 8673
Нудистский пляж -- это состояние души.
--- ifmail v.2.15dev5
* Origin: (http://news.cca.usart.ru/) USURT's FidoNET<-> (2:5080/1003@fidonet)