|
|||||
![]() ![]() ![]() ![]() ![]() ![]() ![]() последовательностях ![]() Компиляторы и интерпретаторы ![]() Хранение информации ![]() ![]() ![]() ![]() ![]() Софт: просмотр PS и PDF файлов ![]() Написать веб-мастеру Почитать историю сайта |
Разбор выражений. Компиляторы и интерпретаторы.![]() Несколько известных алгоритмов рекурсивного разбора. Вообще говоря, выражение не обязательно арифметическое, а цель - вычисление. ![]() Разбор выражений: алгоритм перевода в нее арифметического выражения. ![]() Организация правильной хвостовой рекурсии в интерпретаторе (в константном пространстве). ![]() Представление типов данных в языках, которые не дают информации о типе переменной на этапе компиляции. Тип переменной формируется во время работы программы. Архив статей.
Два дополняющих друг друга конспекта, где в очень доступной форме описаны алгоритмы грамматического разбора, грамматики, а также YACC(CUP) и его язык. Описан механизм работы интерпретаторов - в наше время редких, но часто незаменимых инструментов. Есть реализация объектно-ориентированного программирования, и все это - с исходниками на Си. В очень доступной форме, начиная с азов, рассказывается о парсерах и грамматиках. Рекомендуется для начала, и особенно нематематикам по профессии. С алгоритмами, однако без привязки к конкретному языку программирования. Различные способы 'полукомпиляции', используемой в интерпретаторах (напр. Java). Что когда лучше. Новые (2000г) способы оптимизации выполнимого файла при компиляции с целью уменьшения занимаемой им памяти. В результате памяти используется на 30% меньше. Это не архивация. Способы представления переменных и типов данных в языках. Они не обязательно статические и предопределены заранее. ![]() |