воскресенье, 23 апреля 2017 г.

Алексей Анатольевич Вторников. Стек, или Путешествие туда и обратно


Периодически захожу на сайт издательства ДМК-Пресс и интересуюсь новинками, пока их можно приобрести со скидкой. Не так давно моё внимание привлекла эта небольшая книжка на 140 страниц. Полистал содержание и отрывки из глав. Как оказалось, в книге рассматривается довольно широкий круг вопросов:
  • проверка скобочной сбалансированности текста,
  • трансляция инфиксных арифметических выражений в постфиксную с учётом приоритетов операций и скобок,
  • вычисление постфиксных арифметических выражений,
  • устройство стековых виртуальных машин. В том числе рассматривается вопрос способа вызова подпрограмм, возврата из них, вопрос передачи аргументов подпрограммам, рекурсивные подпрограммы,
  • использование стековых конечных автоматов для трансляции исходных текстов программ на контекстно-независимых языках,
  • реализация виртуальной стековой машины,
  • трансляция программ с ассемблера в код виртуальной стековой машины,
  • даётся представление о языке программирования Forth.
Весь материал подаётся в популярной форме, рассчитанной на программистов-любителей, для которых программирование - это в первую очередь хобби. Книга может пригодиться и студентам.

Моё внимание прежде всего привлекли несколько вещей: трансляция инфиксных выражений в постфиксные, реализация стековой виртуальной машины и трансляция из ассемблера в код для этой стековой машины. Также полезен для понимания, как работают синтаксические анализаторы, раздел про стековые конечные автоматы. Про способ вызова подпрограмм и передачи аргументов через стек я знал и так, потому что у меня имеется опыт написания программ на ассемблере, поэтому только эти разделы показались мне не особо интересными. Книжку я читал долго - смаковал, т.к. она не большая, а темы интересные. Теперь интересно будет поделать упражнения и попробовать сделать свою реализацию виртуальной стековой машины и своего транслятора с ассемблера для неё.

Комментариев нет:

Отправить комментарий