:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте ::
Путь: Разбор выражений. Компиляторы и интерпретаторы.
  Разбор выражений. Компиляторы и интерпретаторы.




Разбор арифметического(и не только) выражения. Классические алгоритмы.
Несколько известных алгоритмов рекурсивного разбора. Вообще говоря, выражение не обязательно арифметическое, а цель - вычисление.

Обpатная польская нотация
Разбор выражений: алгоритм перевода в нее арифметического выражения.

Tail-Recursive Stack Disciplines for an Interpreter z i p
Организация правильной хвостовой рекурсии в интерпретаторе (в константном пространстве).

Representing Type Information in Dynamically Typed Languages z i p
Представление типов данных в языках, которые не дают информации о типе переменной на этапе компиляции. Тип переменной формируется во время работы программы.

  Дополнительные материалы:




Варсанофьев, Дымченко 'Основы компиляции' z i p

Серебряков 'Лекции по конструированию компиляторов' z i p
Два дополняющих друг друга конспекта, где в очень доступной форме описаны алгоритмы грамматического разбора, грамматики, а также YACC(CUP) и его язык.

Programming Languages: An Interpreter-Based Approach z i p
Описан механизм работы интерпретаторов - в наше время редких, но часто незаменимых инструментов. Есть реализация объектно-ориентированного программирования, и все это - с исходниками на Си.

Parsing Techniques: a Practical Guide z i p
В очень доступной форме, начиная с азов, рассказывается о парсерах и грамматиках. Рекомендуется для начала, и особенно нематематикам по профессии. С алгоритмами, однако без привязки к конкретному языку программирования.

When are Bytecode Faster Then Direct Execution? z i p
Различные способы 'полукомпиляции', используемой в интерпретаторах (напр. Java). Что когда лучше.

Compiler Techniques for Code Compaction z i p
Новые (2000г) способы оптимизации выполнимого файла при компиляции с целью уменьшения занимаемой им памяти. В результате памяти используется на 30% меньше. Это не архивация.

Variables and Parametres as References and Containers z i p
Способы представления переменных и типов данных в языках. Они не обязательно статические и предопределены заранее.