это компилятор для подмножества языка
AdaS
Pascal- S — это компилятор для подмножества языка Pascal, который вырабатывает Р-код, являющийся машинным кодом для искусственной стековой машины. Включен также интерпретатор для Р-кода. Его автор разработал версию Pascal-S, названную AdaS, которая компилирует небольшое подмножество языка Ada. Исходный код AdaS можно найти в файле adasnn.zip (где пп — номер версии) в каталоге /languages/ada/crsware/pcdp в общей библиотеке языка Ada (PAL) на хосте wuarchive.wustl.edu.
AdaS не годится для серьезного программирования, но это превосходный инструмент для изучения методов реализации конструкций языка программирования, в частности управления стеком при вызовах подпрограмм и возвратах из них.
Приложение Б
Библиографический список
Обзоры по языкам программирования можно найти в:
Ellis Horowitz (ed.). Programming Languages: 4 Grand Tour. Springer Verlag, 1983.
Jean E. Sammet. Programming Languages: History and Fundamentals. Prentice Hall, 1969.
Richard L. Wexelblat. History of Programming Languages. Academic Press, 1981.
Особенно интересна книга Векселблата (Wexelblat); это запись конференции, где разработчики первых языков программирования описывают истоки и цели своей работы.
Превосходное введение в теорию вычисления (логику, машины Тьюринга, формальные языки и верификацию программ) можно найти в:
Zohar Manna. Mathematical Theory of Computation. McGraw-Hill, 1974.
В учебниках, рассчитанных на подготовленных учащихся обсуждается формальная семантика языков программирования:
Michael Marcotty and Henry Legrand. Programming Language Landscape: Syntax, Semantics and Implementation. SRA, Chicago, 1986.
Bertrand Meyer. Introduction to the Theory of Programming Languages. Prentice Hall International, 1991.