Стек, или Путешествие туда и обратно

PDF
Mark as finished
How to read the book after purchase
  • Read only on LitRes Read
Book description

Книга посвящена простой и удивительно элегантной структуре данных – стеку. Описаны скобочные структуры, подпрограммы (в том числе рекурсивные), передача параметров, разбор и вычисление выражений, распознавание последовательностей символов. Также рассмотрено описание устройства и реализация простой, но достаточно мощной стековой машины; приведены многочисленные примеры программ, а также список задач, в том числе нетривиальных. На сайте издательства dmkpress.com содержатся дополнительные материалы, среди которых исходные коды простого транслятора стековой машины (на языке Java).

Издание предназначено прежде всего пытливым старшеклассникам, студентам вузов, а также тем, для кого программирование – хобби.

Detailed info
Age restriction:
0+
Date added to LitRes:
21 November 2017
Date written:
2017
Size:
142 pp.
ISBN:
978-5-97060-517-2
Total size:
2 MB
Total number of pages:
142
Page size:
140 x 205 мм
Copyright:
ДМК Пресс
Стек, или Путешествие туда и обратно — read a free preview online. Leave comments and reviews, vote for your favorite.

People who read this book also read

Отзывы 3

Сначала популярные
skojnov

Книга предназначена внушить вам одну очень простую мысль: если вы – программист и вы не знаете что такое стек, то вы – дно!


Теперь собственно о самом содержании:

Автор рассказал о стеке, как о структуре данных на примере разбора скобочных структур и разбора арифметических выражений (Обратная польская нотация -RPN). Тут никаких нареканий, все четко и по делу.


При рассказе, зачем нужен программный стек в приложениях и тут Остапа понесло… Автор придумал свой (псевдо) ассемблер для «облегчения». Чтобы на примере маленьких подпрограмм (функций) объяснить зачем нужен стек. Как этим стеком пользоваться, как появляется и что представляет собой стековый фрейм. Классический пример – конечно рекурсивная функция расчета факториала. По мне автор все хорошо объяснил, но как то затянул что ли. Потом его этот асм, ну зачем? Почему нельзя было взять красивый и лаконичный ассемблер от ARM, а не некий аналог да еще аля x86. Можно было на этом ассемблере (ARM) приводить реальные асм коды реальных функций или даже Си функций! с полным объяснением. Это позволило бы упростить понимание примеров и в свою очередь приблизить читателя к реальному «железу». И если что-то не ясно, читатель всегда может обратиться к дополнительной литературе, так как это – «нормальный» реальный ассемблер.


В приложении есть, рассмотрение реализации стека на массиве и связном списке (правда на псевдо коде). Ну наверное автор прав и приводить полную реализацию излишне.


Приводить в пример язык Форт, ну тоже как то мимо. ИМХО, не хватает описания того, как в современных языках использовать стек из коробки: C++ STL, C#, Java . Чтобы джуниоры понимали, что все уже есть и не нужно велосипедить.


Общее впечатления от книги, хорошее. Автор пишет с юмором иногда даже с сарказмом, но он реально по делу! Если бы не псевдо асм, поставил бы твердую 5, а так все же 4.

stupin

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

- проверка скобочной сбалансированности текста, - трансляция инфиксных арифметических выражений в постфиксную с учётом приоритетов операций и скобок, - вычисление постфиксных арифметических выражений, - устройство стековых виртуальных машин. В том числе рассматривается вопрос способа вызова подпрограмм, возврата из них, вопрос передачи аргументов подпрограммам, рекурсивные подпрограммы, - использование стековых конечных автоматов для трансляции исходных текстов программ на контекстно-независимых языках, - реализация виртуальной стековой машины, - трансляция программ с ассемблера в код виртуальной стековой машины, - даётся представление о языке программирования Forth.

Весь материал подаётся в популярной форме, рассчитанной на программистов-любителей, для которых программирование - это в первую очередь хобби. Книга может пригодиться и студентам.

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

nikterner

Примеры с лифтом настораживают, датчик веса.

Может быть опасно для кого-то, если датчик сломается.

Возможно это какой-то не правильный пример, но не хочется полагать, что это связано с какой-то темной стороной.

Оставьте отзыв