Математическая нотация, в которой операторы следуют за операндами
Обратная польская нотация ( RPN ), также известная как обратная нотация Лукасевича , польская постфиксная нотация или просто постфиксная нотация , представляет собой математическую нотацию, в которой операторы следуют за своими операндами , в отличие от префиксной или польской нотации (PN), в которой операторы предшествуют своим операндам. В этой нотации не нужны скобки, пока каждый оператор имеет фиксированное количество операндов .
Термин постфиксная нотация описывает общую схему в математике и компьютерных науках, тогда как термин обратная польская нотация обычно относится конкретно к методу, используемому для ввода вычислений в аппаратные или программные калькуляторы, которые часто имеют дополнительные побочные эффекты и последствия в зависимости от фактической реализации, включающей стек . Описание «польская» относится к национальности логика Яна Лукасевича , [1] [ 2], который изобрел польскую нотацию в 1924 году. [3] [4] [5] [6]
Первым компьютером, использовавшим постфиксную нотацию, хотя она долгое время оставалась практически неизвестной за пределами Германии, был Z3 Конрада Цузе в 1941 году [7] [8], а также его Z4 в 1945 году. Обратная польская схема была снова предложена в 1954 году Артуром Берксом , Доном Уорреном и Джесси Райтом [9] и была независимо переработана Фридрихом Л. Бауэром и Эдсгером В. Дейкстрой в начале 1960-х годов для сокращения доступа к памяти компьютера и использования стека для вычисления выражений . Алгоритмы и нотация для этой схемы были расширены философом и ученым-компьютерщиком Чарльзом Л. Хэмблином в середине 1950-х годов. [10] [11] [12] [13] [14] [15] [ чрезмерное цитирование ]
В обратной польской записи операторы следуют за своими операндами . Например, чтобы сложить 3 и 4, выражение будет 3 4 +, а не 3 + 4. Выражение традиционной записи 3 − 4 + 5 становится 3 4 − 5 + в обратной польской записи: 4 сначала вычитается из 3, затем к нему прибавляется 5.
Концепция стека , конструкции «последний вошел/первый вышел», является неотъемлемой частью оценки RPN слева направо. В примере 3 4 − сначала в стек помещается 3, затем 4; теперь 4 находится наверху, а 3 — под ним. Оператор вычитания удаляет два верхних элемента из стека, выполняет 3 − 4 и помещает результат −1 в стек.
Распространенная терминология заключается в том, что добавленные элементы помещаются в стек, а удаленные элементы извлекаются .
Преимущество обратной польской записи в том, что она устраняет необходимость в порядке операций и скобках, которые требуются в инфиксной записи, и может быть оценена линейно, слева направо. Например, инфиксное выражение (3 + 4) × (5 + 6) становится 3 4 + 5 6 + × в обратной польской записи.
Практические выводы
Обратную польскую запись можно сравнить с тем, как приходится решать задачи с помощью логарифмической линейки . [18]
В сравнительном тестировании обратной польской нотации с алгебраической, было обнаружено, что обратная польская нотация приводит к более быстрым вычислениям по двум причинам. Первая причина заключается в том, что обратные польские калькуляторы не требуют заключения выражений в скобки, поэтому для выполнения типичных вычислений требуется вводить меньше операций. Кроме того, пользователи обратных польских калькуляторов допускали меньше ошибок, чем пользователи других типов калькуляторов. [19] [20] Более поздние исследования прояснили, что повышенная скорость от обратной польской нотации может быть связана с меньшим количеством нажатий клавиш, необходимых для ввода этой нотации, а не с меньшей когнитивной нагрузкой на ее пользователей. [21] Однако, по неофициальным данным, обратная польская нотация сложнее для пользователей, которые ранее изучали алгебраическую нотацию. [20]
Существуют и другие способы создания постфиксных выражений из инфиксных выражений. Большинство парсеров с приоритетом операторов можно модифицировать для создания постфиксных выражений; в частности, после построения абстрактного синтаксического дерева соответствующее постфиксное выражение получается простым обходом этого дерева в пост-порядке .
Реализации
Аппаратные калькуляторы
Ранняя история
Первым компьютером, реализующим форму обратной польской записи (но без названия и без стека ), был Z3 Конрада Цузе , который он начал конструировать в 1938 году и продемонстрировал публично 12 мая 1941 года. [22] [23] [ 24] [25] В диалоговом режиме он позволял операторам вводить два операнда, а затем нужную операцию. [z3 1] Он был уничтожен 21 декабря 1943 года в результате бомбардировки. [23] С помощью Цузе первая копия была построена в 1961 году . [23] Z4 1945 года также добавил двухуровневый стек . [31] [32]
Другими ранними компьютерами, реализующими архитектуру, позволяющую использовать обратную польскую запись, были машина KDF9 компании English Electric Company , анонсированная в 1960 году и поступившая в продажу в 1963 году [33], а также Burroughs B5000 , анонсированная в 1961 году и также поставленная в 1963 году:
Предположительно, разработчики KDF9 черпали идеи из GEORGE (General Order Generator) Хэмблина [10] [11] [13] [34] [35] [32] — системы программирования автокодов , написанной для компьютера DEUCE , установленного в Сиднейском университете , Австралия, в 1957 году. [10] [11] [13] [33]
Один из разработчиков B5000, Роберт С. Бартон , позже писал, что он разработал обратную польскую нотацию независимо от Хэмблина где-то в 1958 году после прочтения учебника по символической логике 1954 года Ирвинга Копи , [36] [37] [38] где он нашел ссылку на польскую нотацию, [38] что заставило его также прочитать работы Яна Лукасевича, [38] и до того, как он узнал о работе Хэмблина.
Фриден представил обратную польскую запись на рынке настольных калькуляторов с EC-130 , разработанным Робертом «Бобом» Эпплби Рейгеном , [39] поддерживающим четырехуровневый стек [5] в июне 1963 года. [40] Преемник EC-132 добавил функцию квадратного корня в апреле 1965 года. [41] Около 1966 года калькулятор Monroe Epic также поддерживал неназванную схему ввода, напоминающую RPN. [5]
Hewlett-Packard
Инженеры Hewlett-Packard разработали настольный калькулятор 9100A в 1968 году с обратной польской нотацией [16] всего с тремя уровнями стека с рабочими регистрами X («клавиатура»), Y («накопление») и видимым регистром хранения Z («временный»), [42] [43] вариант обратной польской нотации, позже названный трехуровневой RPN . [44] Этот калькулятор популяризировал обратную польскую нотацию среди научных и инженерных сообществ.HP -35 , первый в мире карманный научный калькулятор , [16] представил классическую четырехуровневую RPN с ее определенным набором правил так называемого операционного (памятного) стека [45] [примечание 1] (позже также названного автоматическим стеком памяти [46] [47] [примечание 1] ) в 1972 году. [48] В этой схеме клавиша дублирует значения в Y при определенных условиях ( автоматический подъем стека с временным отключением подъема стека ), а верхний регистр T («top») дублируется при сбросе ( top copy on pop или повторение верхнего уровня стека ) для того, чтобы облегчить некоторые вычисления и сэкономить нажатия клавиш. [47] HP использовала обратную польскую нотацию на каждом продаваемом ею карманном калькуляторе, будь то научный, финансовый или программируемый, пока не представила калькулятор- арифмометр HP-10 в 1977 году. К этому времени HP была ведущим производителем калькуляторов для профессионалов, включая инженеров и бухгалтеров.Enter ↑
Более поздние калькуляторы с ЖК-дисплеями в начале 1980-х годов, такие как HP-10C , HP-11C , HP-15C , HP-16C и финансовый калькулятор HP-12C также использовали обратную польскую запись. В 1988 году Hewlett-Packard представила бизнес-калькулятор HP-19B без обратной польской записи, но его преемник 1990 года, HP-19BII , дал пользователям возможность снова использовать алгебраическую или обратную польскую запись.
В 1986 году [49] [50] HP представила RPL , объектно-ориентированного преемника обратной польской нотации. Он отличается от классической обратной польской нотации использованием динамического стека, ограниченного только объемом доступной памяти (вместо трех или четырех фиксированных уровней) и который может содержать все виды объектов данных (включая символы, строки, списки, матрицы, графику, программы и т. д.) вместо только чисел. Система отображала сообщение об ошибке при исчерпании памяти вместо того, чтобы просто сбрасывать значения из стека при переполнении, как в случае со стеками фиксированного размера. [51] Он также изменил поведение стека, чтобы больше не дублировать верхний регистр при сбросах (поскольку в неограниченном стеке больше нет верхнего регистра), и поведение ключа так, чтобы он больше не дублировал значения в Y, что, как было показано, иногда вызывало путаницу среди пользователей, не знакомых со специфическими свойствами автоматического стека памяти . С 1990 по 2003 год компания HP выпускала серию графических калькуляторов RPL HP-48 , а затем серию HP-49 с 1999 по 2008 год. Последний калькулятор RPL назывался HP 50g , был представлен в 2006 году и снят с производства в 2015 году. Тем не менее, существует несколько усилий сообщества, таких как newRPL или DB48X, по воссозданию RPL на современных калькуляторах.Enter ↑
По состоянию на 2011 год компания Hewlett-Packard предлагала модели калькуляторов 12C, 12C Platinum, 17bII+ , 20b , 30b , 33s , 35s , 48gII (RPL) и 50g (RPL), которые поддерживали обратную польскую запись. [52]
В то время как калькуляторы, эмулирующие классические модели, продолжали поддерживать классическую обратную польскую нотацию, новые модели обратной польской нотации имеют вариант обратной польской нотации, где ключ ведет себя как в RPL. Этот последний вариант иногда называют записью RPN . [53]Enter ↑
В 2013 году HP Prime представил 128-уровневую форму записи RPN, называемую расширенной RPN . В отличие от RPL с ее динамическим стеком, она просто сбрасывает значения со стека при переполнении, как это делают другие стеки фиксированного размера. [51] Однако, как и RPL, она не эмулирует поведение классического операционного стека RPN для дублирования верхнего регистра при сбросах.
В конце 2017 года список активных моделей, поддерживающих обратную польскую нотацию, включал только 12C, 12C Platinum, 17bii+, 35s и Prime. К июлю 2023 года активными моделями, поддерживающими RPN, остаются только 12C, 12C Platinum, недавно выпущенный HP 15C Collector's Edition и Prime.
В 1974 году Commodore выпустила Minuteman *6 (MM6) без ключа и Minuteman *6X (MM6X) с ключом, оба реализовали форму двухуровневой RPN . SR4921 RPN поставлялся с вариантом четырехуровневой RPN с уровнями стека, названными X, Y, Z и W (вместо T) и ключом (для «входа»). В отличие от реализации обратной польской нотации Hewlett-Packard, W заполнялся 0 вместо того, чтобы его содержимое дублировалось при сбросе стека. [56]Enter ↑Enter ↑Ent
Prinztronic
Prinz и Prinztronic были собственными торговыми марками британской сети магазинов фототоваров и электроники Dixons , позже переименованной в Currys Digital stores и ставшей частью DSG International. В 1970-х годах под брендом Prinztronic продавалось множество моделей калькуляторов, все они были сделаны для них другими компаниями.
Среди них был ПРОГРАММА [57] Программируемый научный калькулятор, в котором использовалась обратная польская запись.
Heathkit
В 1978 году в навигационном компьютере самолета Heathkit OC-1401 / OCW-1401 использовалась пятиуровневая РПН .
Советский Союз / Semico
Советские программируемые калькуляторы ( модели МК-52 , МК-61 , Б3-34 и более ранняя модель Б3-21 [58] ) использовали обратную польскую запись как для автоматического режима, так и для программирования. Современные российские калькуляторы МК-161 [59] и МК-152 [60] , разработанные и производимые в Новосибирске с 2007 года и предлагаемые компанией Semico [61] , обратно совместимы с ними. Их расширенная архитектура также основана на обратной польской записи.
Другие
Семиуровневый стек был реализован в научном настольном калькуляторе MITS 7400C в 1972 году [62] [63] [64]
Восьмиуровневый стек был предложен Джоном А. Боллом в 1978 году. [5]
Разработанные сообществом калькуляторы WP 34S (2011), WP 31S (2014) и WP 34C (2015), основанные на аппаратной платформе HP 20b / HP 30b , поддерживают классическую обратную польскую нотацию в стиле Hewlett-Packard, поддерживая автоматическое поднятие стека ключевых и верхних копий регистров при извлечении, но при этом переключаясь между четырех- и восьмиуровневым операционным стеком.Enter ↑
В дополнение к дополнительной поддержке восьмиуровневого стека, более новый SwissMicros DM42 -based WP 43S , а также производные WP 43C (2019) / C43 (2022) / C47 (2023) поддерживают типы данных для объектов стека (действительные числа, бесконечные целые числа, конечные целые числа, комплексные числа, строки, матрицы, даты и время). Последние три варианта также могут переключаться между классическим и входным RPN поведением ключа , функция, часто запрашиваемая сообществом. [66] Они также поддерживают редко встречающийся режим значимых цифр , который уже был доступен как опция времени компиляции для WP 34S и WP 31S. [67] [68]Enter ↑
С 2021 года симулятор HP-42S Free42 версии 3 может быть включен для поддержки динамического стека RPN, ограниченного только объемом доступной памяти вместо классического 4-уровневого стека. Эта функция была включена как выбираемая функция в DM42, начиная с прошивки DMCP-3.21 / DM42-3.18. [69] [70]
^ ab Hewlett-Packard в 1970-х годах назвала свою специальную реализацию стека RPN операционным (памятным) стеком или автоматическим стеком памяти . Интересно, что Клаус Самельсон и Фридрих Л. Бауэр , изобретатели принципа стека, в 1955 году назвали свой стек Operationskeller (англ. « операционный погреб »), а параллельный первооткрыватель Вильгельм Кеммерер [de] в 1958 году назвал свою концепцию стека Automatisches Gedächtnis (англ. « автоматическая память »).
^ В отношении «В диалоговом режиме операторы могли вводить два операнда, а затем требуемую операцию» для компьютера Z3, следующие цитаты являются релевантными: [7] [26] [8] [27] [23] [ 28] [25] [29] [30]
Ссылки
^ Лукасевич, Ян (1951). «Глава IV. Система Аристотеля в символической форме (раздел «Объяснение символизма»)». Силлогистика Аристотеля с точки зрения современной формальной логики (1-е изд.). стр. 78.
^ Лукасевич, Ян (февраль 1929 г.). Elementy logiki matematycznej (на польском языке) (1-е изд.). Варшава, Польша: Państwowe Wydawnictwo Naukowe; Лукасевич, Ян (1963). Элементы математической логики . Перевод Войтасевича, Ольгерда Адриана [на польском языке] . Нью-Йорк, США: Компания MacMillan . п. 24.
^ Хамблин, Чарльз Леонард (1962-11-01). «Перевод на польскую нотацию и с нее» (PDF) . Computer Journal . 5 (3): 210–213. doi : 10.1093/comjnl/5.3.210 . Архивировано из оригинала (PDF) 2022-10-20.(4 страницы)
^ abcd Болл, Джон А. (1978). Алгоритмы для калькуляторов RPN (1-е изд.). Кембридж, Массачусетс, США: Wiley-Interscience , John Wiley & Sons, Inc. ISBN0-471-03070-8. LCCN 77-14977. стр. 2: […] В своих рекламных объявлениях, а также в письме ко мне компания Hewlett-Packard Company (HP), самый известный производитель калькуляторов RPN, утверждает, что RPN основан на предложении Яна Лукасевича (1878–1956), и что RPN был изобретен и запатентован HP. Помимо очевидного противоречия в этих двух утверждениях, я не думаю, что какое-либо из них является верным. Мой первый опыт работы с RPN был связан с хорошим старым настольным электронным калькулятором Friden EC-130 , около 1964 года. EC-130 имеет RPN с магазинным стеком из четырех регистров, все из которых видны одновременно на дисплее с электронно-лучевой трубкой. Более того, они показаны перевернутыми, то есть регистр «последним пришел — первым вышел» находится внизу. […] Около 1966 года калькулятор Monroe Epic предлагал RPN со стеком из четырех, принтером и возможностью программирования на 14 или 42 шага. В инструкциях к этим двум калькуляторам не упоминается RPN или Ян Лукасевич . […]
^ ab Ceruzzi, Paul E. (апрель 1980 г.). "1941 RPN Computer?". PPC Calculator Journal . 7 (3): 25. Архивировано из оригинала 2022-07-01 . Получено 2022-07-01 . стр. 25: Интересным аспектом программирования Z -3 было то, что этот код был очень похож на код, скажем, HP-25 . Чтобы выполнить операцию над двумя числами, сначала давались команды для вызова чисел из соответствующих мест в памяти, а затем команда для операции. Числа автоматически размещались в регистрах в арифметическом блоке машины, так что такие операции, как деление и вычитание, выполнялись в правильном порядке. Результаты оставлялись в регистре в AU, так что можно было выполнять длинные последовательности операций. Таким образом, Z-3 использовал версию RPN, которая была почти идентична той, что использовалась в HP! Я получил копии ранних программ, которые Цузе написал для оценки определителя 5 × 5, и эти программы можно запустить на HP-41C практически без каких-либо изменений (после того, как числа были заранее помещены в регистры хранения). AU Z-3 содержал 3 регистра, хотя Цузе, конечно, никогда не называл их стеком. Эти регистры были помечены как «f», «a» и «b». Весь вход и выход в AU и из него осуществлялся через регистр «f». Это своего рода регистр дисплея 41C, который отличается от стека. Арифметические операции выполнялись над числами в регистрах a и b, поэтому их можно рассматривать как соответствующие регистрам x и y HP. В отличие от современной компьютерной практики, по регистрам перемещались сами фактические числа, а не просто указатель.
^ ab Rojas, Raúl (апрель–июнь 1997 г.). «Наследие Конрада Цузе: архитектура Z1 и Z3» (PDF) . IEEE Annals of the History of Computing . 19 (2): 5–16 [7–8]. doi :10.1109/85.586067. Архивировано (PDF) из оригинала 03.07.2022 . Получено 03.07.2022 .(12 страниц)
^ Беркс, Артур Уолтер ; Уоррен, Дон В.; Райт, Джесси Б. (1954). «Анализ логической машины с использованием безскобочной нотации». Математические таблицы и другие вспомогательные средства для вычислений . 8 (46): 53–57. doi :10.2307/2001990. JSTOR 2001990.
^ abc Hamblin, Charles Leonard (июнь 1957). "Схема безадресного кодирования на основе математической нотации". Труды Первой австралийской конференции по вычислениям и обработке данных . Солсбери, Южная Австралия: Weapons Research Establishment .
^ Хамблин, Чарльз Леонард (1957). «Компьютерные языки». Австралийский научный журнал (20?): 135–139;Хамблин, Чарльз Леонард (ноябрь 1985 г.). «Компьютерные языки». The Australian Computer Journal (переиздание). 17 (4): 195–198.
^ abc Hamblin, Charles Leonard (1958). GEORGE IA и II: Схема полутрансляции программирования для DEUCE: Руководство по программированию и эксплуатации (PDF) . Школа гуманитарных наук, Университет Нового Южного Уэльса, Кенсингтон, Новый Южный Уэльс. Архивировано (PDF) из оригинала 2020-04-04 . Получено 2020-07-27 .
^ Макберни, Питер (2008-12-06). "Чарльз Л. Хэмблин и его работа". Архивировано из оригинала 2008-12-06.
^ МакБерни, Питер (2008-07-27). "Чарльз Л. Хэмблин: компьютерный пионер". Архивировано из оригинала 2008-12-07. […] Хэмблин вскоре осознал проблемы (a) вычисления математических формул, содержащих скобки, и (b) накладных расходов памяти при работе с хранилищами памяти, каждое из которых имело свое собственное имя. Одним из решений первой проблемы была польская нотация Яна Лукасевича , которая позволяет автору математической нотации указывать читателю порядок выполнения операций (например, сложение, умножение и т. д.) без использования скобок. Польская нотация достигает этого, имея оператор (+, × и т. д.), предшествующий операндам, к которым он применяется, например, +ab, вместо обычного, a+b. Хэмблин, имея образование в области формальной логики, знал о работе Лукасевича. […]
^ abc Osborne, Thomas E. (2010) [1994]. «История Тома Осборна его собственными словами». Стив Лейбсон. Архивировано из оригинала 2022-04-04 . Получено 2016-01-01 . […] Я изменил архитектуру, чтобы использовать RPN (обратную польскую нотацию), которая является идеальной нотацией для среды программирования, в которой эффективность кодирования имеет решающее значение. Вначале это изменение было воспринято не очень хорошо... […]
^ Петерсон, Кристина (2011-05-04). «Культовому калькулятору Уолл-стрит исполняется 30 лет». The Wall Street Journal . Архивировано из оригинала 2015-03-16 . Получено 2015-12-06 .
^ Уильямс, Эл (21.06.2023). «В похвалу RPN (с Python или C)». Hackaday . Архивировано из оригинала 23.09.2023 . Получено 23.09.2023 .
^ Каспржик, Деннис Майкл; Друри, Колин Г.; Бялас, Уэйн Ф. (1979) [1978-09-25]. «Поведение человека и производительность при использовании калькулятора с алгебраической и обратной польской нотацией». Эргономика . 22 (9). Кафедра промышленной инженерии, Государственный университет Нью-Йорка в Буффало , Амхерст, Нью-Йорк, США: Taylor & Francis : 1011–1019. doi : 10.1080/00140137908924675. eISSN 1366-5847. ISSN 0014-0139. S2CID 62692402.(9 страниц)
^ ab Agate, Seb J.; Drury, Colin G. (март 1980 г.). «Электронные калькуляторы: какая нотация лучше?» (PDF) . Прикладная эргономика . 11 (1). Кафедра промышленной инженерии, Университет в Буффало, Государственный университет Нью-Йорка, США: IPC Business Press : 2–6. doi :10.1016/0003-6870(80)90114-3. eISSN 1872-9126. ISSN 0003-6870. PMID 15676368. 0003-6870/80/01 0002-05. Архивировано (PDF) из оригинала 23.09.2023 . Получено 22.09.2018 . стр. 6: С точки зрения практического выбора между калькуляторами, похоже, что RPN в целом быстрее и точнее, но особенно для более сложных задач.(5 страниц)
^ Хоффман, Эррол; Ма, Патрик; Си, Джейсон; Йонг, Чи Ки; Брэнд, Джейсон; Поултон, Мэтью (1994). «Логика калькулятора: когда и почему RPN превосходит алгебраическую?». Прикладная эргономика . 25 (5). Elsevier Science Ltd. : 327–333. doi :10.1016/0003-6870(94)90048-5. eISSN 1872-9126. ISSN 0003-6870.
^ "Rechenhilfe für Ingenieure" . Выпускник журнала Technischen Universität Berlin (на немецком языке). Том. 2, нет. 3. Технический университет Берлина . Декабрь 2000 г. Архивировано из оригинала 13 февраля 2009 г.
^ abcd Цузе, Хорст , изд. (22 февраля 2008 г.). «Z3 в деталях» [Z3 в деталях]. Профессор Dr.-Ing. хабил. Хорст Цузе (на немецком языке). Архивировано из оригинала 1 июля 2022 г. Проверено 1 июля 2022 г. Z3 подключается к различным настройкам и включается в режимы Programm- и Dialogmodus. Das Rechnen im Dialog erfolgt wie mit einem Taschenrechner в der umgekehrten polnischen Notation.[1]
^ "Ан Эйнем 12. Май" (на немецком языке). Deutsches Historisches Museum (Немецкий исторический музей). Архивировано из оригинала 30 мая 2013 г.
^ ab Bundesmann, январь (июнь 2016 г.). «Zum 75. Geburtstag von Konrad Zuses Z3: Ratterkasten». Отчет / Юбилей. IX (на немецком языке). Том. 2016, нет. 6. Хайзе Верлаг . п. 94. Архивировано из оригинала 1 июля 2022 г. Проверено 1 июля 2022 г. п. 94: Zum Eingeben der Zahlen стенд eine Tastatur bereit (Dezimalzahlen, Gleitkommadarstellung). Anweisungen gaben Nutzer in umgekehrter polnischer Notation: zuerst die Argumente, um Register zu befüllen, dann der auszuführende Оператор.
^ Ceruzzi, Paul E. (1983). "2. Компьютеры в Германии". Reckoners - Предыстория цифрового компьютера, от реле до концепции хранимой программы, 1935–1945. Вклад в изучение компьютерной науки. Том 1 (1-е изд.). Westport, Connecticut, USA: Greenwood Press , Congressional Information Service, Inc. стр. 0010. ISBN0-313-23382-9. ISSN 0734-757X. LCCN 82-20980. Архивировано из оригинала 2022-07-01 . Получено 2022-07-02 .
^ Цузе, Хорст . «2. Диалоговое окно машины Z3». Написано в Берлине, Германия. В Кремерсе, Армин Б.; Манти, Райнер; Мартини, Питер; Штайнхаге, Волкер (ред.). Эргономичные Erfindungen der Zuse-Maschinen (PDF) . ИНФОРМАТИК 2005 Информатик LIVE! Группа 1, Beiträge der 35. Jahrestagung der Gesellschaft für Informatik eV (GI), 19-22 сентября 2005 г., Бонн. Конспекты лекций по информатике (на немецком языке). Бонн, Германия: Gesellschaft für Informatik (GI). стр. 200–204 [200–201]. Архивировано (PDF) из оригинала 1 июля 2022 г. Проверено 2 июля 2022 г. п. 201: Dazu stehen die beiden Register R1 и R2 als Kurzspeicher für die Operanden der arithmetischen Operationen zur Verfügung. Имеется полная нотация, например, HP 45 (1972) или HP11 (1998).(5 страниц)
^ Bonten, Jo HM (2009-05-28) [2009-03-08]. "Быстрые калькуляторы: Z1 и Z3 Конрада Цузе". Гельдроп, Нидерланды. Архивировано из оригинала 2022-07-01 . Получено 2022-07-02 . Компьютер можно использовать как простой карманный калькулятор. В этом режиме, помимо ввода числовых значений, пользователь должен вводить инструкции и адреса, нажимая их клавиши. Он должен вводить числа и операторы в обратной польской нотации.
^ "Компьютерный мир Конрада Цузе - Auf den Spuren eines EDV-Genies" (PDF) . Die Welt der technischen Museen. Welt der Fertigung [de] (на немецком языке). Том. 2018, нет. 2. 2018. С. 32–35. ISSN 2194-9239. Архивировано (PDF) из оригинала 17 октября 2019 г. Проверено 2 июля 2022 г. С. 32–33: Er Hat wohl auch als erster die vom polnischen Mathematik Ян Лукасевич entwickelte › polnische Notation ‹ weiterentwickelt und daraus die ›umgekehrte polnische Notation‹ (UPN) ersonnen, da diese in seinen Rechnern verwendet wird: zunächst werden die Werte eing Эгебен , danach die gewünschte Rechenoperation ausgelöst. Кламмерн верден ауф дизе Вайзе вермиден.(4 страницы)
^ Треммель, Сильвестр (21 ноября 2021 г.). «Computergeschichte: Zuse Z3 «im Test»». c't магазин . Хайзе Верлаг . Архивировано из оригинала 01 марта 2022 г. Проверено 1 июля 2022 г. Über die I/O-Einheit cann man die Z3 als reine Rechenmaschine einsetzen, Operationen nimmt sie dann in der practischen – wenn auch gewöhnungsbedürftigen – umgekehrten polnischen Notation entgegen. Werte im Speicherablegen (oder von dort laden) может быть человеком, поэтому никаких претензий.
^ ab LaForest, Charles Eric (апрель 2007 г.). "2.1 Лукасевич и первое поколение: 2.1.2 Германия: Конрад Цузе (1910–1995); 2.2 Первое поколение стековых компьютеров: 2.2.1 Цузе Z4". Архитектура стековых компьютеров второго поколения (PDF) (диссертация). Ватерлоо, Канада: Университет Ватерлоо . стр. 8, 11. Архивировано (PDF) из оригинала 20.01.2022 . Получено 02.07.2022 .(178 страниц)
^ ab Beard, Bob (осень 1997) [1996-10-01]. "Компьютер KDF9 — 30 лет спустя" (PDF) . Resurrection - The Bulletin of the Computer Conservation Society . № 18. Computer Conservation Society (CCS). стр. 7–15. ISSN 0958-7403. Архивировано (PDF) из оригинала 2020-07-27 . Получено 2020-07-27 . стр. 8: […] KDF9 примечателен тем, что считается первым компьютером с форматом инструкций с нулевым адресом, который был анонсирован (в 1960 году). Он был впервые поставлен примерно в то же время (в начале 1963 года), что и другой известный компьютер с нулевым адресом, Burroughs B5000 в Америке. Как и многие современные карманные калькуляторы, машина с нулевым адресом позволяет использовать арифметику с обратным польским кодом; это дает определенные преимущества авторам компиляторов. Считается, что внимание команды English Electric впервые было привлечено к концепции с нулевым адресом через контакт с George (General Order Generator), системой программирования автокодов, написанной для компьютера Deuce Сиднейским университетом , Австралия, во второй половине 1950-х годов. George использовал обратный польский код, а команда KDF9 была привлечена к этому соглашению по прагматическим причинам, а именно желанием повысить производительность за счет минимизации обращений к основной памяти. Это можно противопоставить более «теоретической» линии, принятой независимо Burroughs . Помимо аппаратного вложенного хранилища или стека — основного механизма компьютера с нулевым адресом — KDF9 имел другие группы центральных регистров для повышения производительности, что придавало ему интересную внутреннюю структуру. […][2] (Примечание. Это отредактированная версия выступления перед Северо-Западной группой Общества в Музее науки и промышленности, Манчестер, Великобритания, 1 октября 1996 г.)
^ Дункан, Фрейзер Джордж (1977-05-01). "Разработка стековых машин: Австралия, Великобритания и Европа" (PDF) . Компьютер . Том 10, № 5. Университет Бристоля, Бристоль, Вирджиния, США. стр. 50–52. doi :10.1109/MC.1977.315873. eISSN 1558-0814. ISSN 0018-9162. S2CID 17013010. КОДЕН CPTRB4. Архивировано из оригинала (PDF) 2023-10-15 . Получено 2023-10-15 .(3 страницы)
^ Галлер, Бернард А.; Розин, Роберт Ф., ред. (1986) [1985-09-06]. Конференция Burroughs B 5000 - OH 98 (PDF) . Отель Marina Del Ray, Марина-дель-Рей, Калифорния, США: Институт Чарльза Бэббиджа, Центр истории обработки информации, Университет Миннесоты, Миннеаполис, США. Архивировано из оригинала (PDF) 22-04-2012 . Получено 27-02-2013 .Новый подход к проектированию цифрового компьютера (1961)
^ abc Galler, Bernard A.; Rosin, Robert F., ред. (1985-09-06). "Устная история: конференция Burroughs B5000" (PDF) . Марина-дель-Рей, Калифорния , США, архив Института Чарльза Бэббиджа , Университет Миннесоты, Миннеаполис: AFIPS / Burroughs Corporation . hdl :11299/107105. OH 98. Архивировано (PDF) из оригинала 2023-09-23 . Получено 2023-09-23 .
^ "1928–2012 Obituary Condolences Robert (Bob) Ragen". Legacy.com . 2012-07-23. Архивировано из оригинала 2017-12-18 . Получено 2016-01-01 . […] Боб имеет более 80 патентов, полученных во время его работы в качестве директора по исследованиям в Friden и Singer и в качестве старшего инженера проекта в Xerox . Он ушел на пенсию из Xerox RD в 1990 году. Он отвечает за разработку первого коммерческого электронного калькулятора Friden 130 , который был выставлен в Смитсоновском институте . […]
^ Монье, Ричард Э. (сентябрь 1968 г.). «Новый электронный калькулятор с возможностями, подобными возможностям компьютера» (PDF) . Журнал Hewlett-Packard . 20 (1). Пало-Альто, Калифорния, США: Hewlett-Packard : 3–9. Архивировано (PDF) из оригинала 20 октября 2022 г. . Получено 03 января 2016 г. .
^ "HP 9100A/B". MoHPC - Музей калькуляторов HP . 1998. Архивировано из оригинала 2023-09-23 . Получено 2023-09-23 .
^ Руководство пользователя HP35 . Hewlett-Packard . стр. ip i: […] Операционный стек и обратная польская нотация (Лукасевича), используемые в HP-35, являются наиболее эффективным способом, известным в компьютерной науке, для оценки математических выражений. […]
^ ab "Раздел 3: Автоматический стек памяти, LAST X и хранение данных". Hewlett-Packard HP-15C Owner's Handbook (PDF) . 2.4. Hewlett-Packard Development Company, LP. Сентябрь 2011 г. стр. 32–46. 00015-90001. Архивировано (PDF) из оригинала 17.09.2017 . Получено 05.12.2015 .
^ Лапорт, Жак (22.05.2014). «Убийца логарифмических линеек: веха в истории компьютеров». Архивировано из оригинала 11.02.2015 . Получено 01.01.2016 .
^ ab Wickes, William C. (январь–февраль 1987 г.). «HP-28C: взгляд изнутри». HPX Exchange . 1 (1).[3]
^ ab Hewlett-Packard . "RPLMan from Goodies Disk 4" (RPLMAN.ZIP) . Получено 12 сентября 2015 г. .
^ ab Wessman, Timothy "Tim" James (2016-06-21) [2016-06-20]. "Что делать с переполнением стека OBJ->/LIST->?". MoHPC - Музей калькуляторов HP . Архивировано из оригинала 2023-09-24 . Получено 2023-09-24 .
^ «Калькуляторы HP».
^ Nelson, Richard J. (апрель 2012 г.). "HP RPN Evolves" (PDF) . HP Solve (27). Hewlett-Packard Development Company, LP : 42–45. Архивировано (PDF) из оригинала 2022-10-20 . Получено 2022-10-20 .[4] (4 из 56 страниц)
^ Ширрифф, Кен. "Обратная переделка потрясающего калькулятора Синклера 1974 года – половина ПЗУ HP-35". Архивировано из оригинала 2022-08-26 . Получено 2013-12-09 .
^ Шарвуд, Саймон (2013-09-02). "Парень из Google занимается реверс-инжинирингом калькулятора Sinclair Scientific". The Register . Архивировано из оригинала 2022-10-20 . Получено 09.12.2013 .
^ SR4921 RPN Reverse Notation Scientific Calculator Руководство по эксплуатации (PDF) . Пало-Альто, Калифорния, США: Commodore Business Machines, Inc. Архивировано (PDF) из оригинала 25-06-2017 . Получено 16-10-2022 .
^ "Электроника МК-61/52 и 152/161: небольшой технический обзор (Ан) - Кон-Тики" . arbinada.com . Проверено 21 марта 2018 г.
^ "НПП СЕМИКО - вычислительная техника и автоматизация устройств" . mk.semico.ru . Проверено 21 марта 2018 г.
^ "Новый стандарт!... Научный и инженерный калькулятор 7400" (PDF) . Радиоэлектроника - Для мужчин с идеями в электронике (Реклама). Том 43, № 12. Нью-Йорк, США: Gernsback Publications, Inc. Декабрь 1972 г. стр. 17. Архивировано (PDF) из оригинала 2022-12-28 . Получено 2022-12-28 . стр. 17: ХРАНЕНИЕ ДАННЫХ: 2 вспомогательных регистра хранения плюс до 7 стековых регистров push-up. […] 7400A 3-х регистровый комплект $299,95 Собранный $379,95 […] 7400B 5-ти регистровый комплект $319,95 Собранный $399,95 […] 7400C 7-ми регистровый комплект $339,95 Собранный $419,95
^ Бергер, Иван (май 1973). "Новые наборы калькуляторов: от карманных мини до универсальных настольных моделей". Popular Mechanics . Hearst Magazines : 152 . Получено 29.04.2017 .
^ "MITS 7400 Scientific/Engineering Calculator". Архивировано из оригинала 2017-04-30 . Получено 2017-04-30 .(Примечание. Показана фотография MITS 7400 , но в тексте ошибочно упоминается более поздняя алгебраическая модель 7440 вместо моделей 7400A / B / C. )
^ "Все, что вы всегда хотели знать о RPN, но боялись узнать – Полное руководство для научных калькуляторов – Corvus 500 – APF Mark 55 – OMRON 12-SR и другие" (PDF) . TK Enterprises. 1976. Архивировано (PDF) из оригинала 24.06.2017 . Получено 24.06.2017 .(Примечание. В названии книги содержится типографская ошибка: «APS Mark 55» вместо правильного «APF Mark 55».)
^ Пол, Маттиас Р. (2015-02-18) [2015-02-15]. "[34S] Предложение о режиме Entry RPN с динамическим стеком". MoHPC - Музей калькуляторов HP . Архивировано из оригинала 2023-09-23 . Получено 2023-09-24 .
^ Bit (2014-11-15). "Патчи и пользовательские двоичные файлы Bit's WP 34S и 31S (версия: r3802 20150805-1)". MoHPC - Музей калькуляторов HP . Архивировано из оригинала 2023-09-24 . Получено 2023-09-24 .
^ Bit (2015-02-07). "[34S & 31S] Уникальный режим отображения: значимые цифры". MoHPC - Музей калькуляторов HP . Архивировано из оригинала 2023-09-24 . Получено 2023-09-24 .
^ Adobe Systems Incorporated (февраль 1999) [1985]. Справочное руководство по языку PostScript (PDF) (1-е издание, 3-е изд.). Addison-Wesley Publishing Company . ISBN0-201-37922-8. Архивировано (PDF) из оригинала 2017-02-18 . Получено 2017-02-18 .(Примечание. Эту книгу неофициально называют «красной книгой» из-за ее красной обложки.)
^ Дагнат, Фабьен; Кериелл, Ронан; Аун, Юсеф; Састре, Лаура Барреро; де Розьер, Эммануэль Донен; Торнери, Николас (2003), «BibTeX++: К BibTeXing высшего порядка» (PDF) , Proceedings of EuroTeX 2003, TUGboat , 24 (3): 472–488
↑ Родился, Гюнтер [на немецком языке] (декабрь 2000 г.). «Капитель 1. Формат LOTUS 1-2-3 (WKS/WK1)» [Глава 1. Формат Lotus 1-2-3 WKS/WK1]. Dateiformate – Eine Referenz – Tabellenkakulation, Text, Grafik, Multimedia, Sound und Internet [ Форматы файлов – справочник – электронные таблицы, текст, графика, мультимедиа, звук и Интернет ] (PDF) (на немецком языке). Бонн, Германия: Galileo Computing. ISBN3-934358-83-7. Архивировано (PDF) из оригинала 2016-11-29 . Получено 2016-11-28 .
↑ Родился, Гюнтер [на немецком языке] (декабрь 2000 г.). «Капитель 2. LOTUS 1-2-3-Формат (WK3)» [Глава 2. Формат Lotus 1-2-3 WK3]. Dateiformate – Eine Referenz – Tabellenkakulation, Text, Grafik, Multimedia, Sound und Internet [ Форматы файлов – справочник – электронные таблицы, текст, графика, мультимедиа, звук и Интернет ] (PDF) (на немецком языке). Бонн, Германия: Galileo Computing. ISBN3-934358-83-7. Архивировано (PDF) из оригинала 2016-11-29 . Получено 2016-11-28 .
^ Файхтингер, Хервиг (1987). Arbeitsbuch Mikrocomputer (на немецком языке) (2-е изд.). Мюнхен, Германия: Franzis-Verlag GmbH . стр. 427–428. ISBN3-7723-8022-0.(Примечание. Согласно этой книге, компилятор объемом 4 КБ был доступен от Lifeboat Software для CP/M .)
^ Вострак, Густав (январь 1989 г.). РПНЛ. Eine FORTH ähnliche Sprache mit Strukturunterstützenden Sprachkonstrukten (на немецком языке). Вольф-Детлеф Лютер, Генс. ISBN978-3-88707022-9.
^ Дитрих, Йоханнес В. (24 июля 2019 г.). «Двигатель ТРУРЛ РПН». Зенодо . дои : 10.5281/zenodo.3257689 . Проверено 2 июля 2022 г.
Дальнейшее чтение
Браун, Боб (2015-06-05) [апрель 2001]. "Мини-лекция по постфиксной нотации". Кафедра информационных технологий, Колледж вычислительной техники и программной инженерии, Государственный университет Кеннесо . Архивировано из оригинала 2017-06-24 . Получено 2015-09-12 .
"Advanced Calculator Logic HP RPN/Algebraic: A Comparative Analysis" (PDF) . Корваллис, Орегон, США: Hewlett-Packard Corporation . 1979. 5953-1930. Архивировано (PDF) из оригинала 2022-12-26 . Получено 2022-12-26 .(13 страниц)
Хикс, Дэвид Г. (2013) [1995]. «Что такое RPN?». Музей калькуляторов HP (MoHPC). Архивировано из оригинала 2017-06-24 . Получено 2015-09-12 .
Klaver, Hans (2023-08-14) [2014]. "RPN Tutorial, incl. some things HP did not tell". Нидерланды. Архивировано из оригинала 2023-09-23 . Получено 2015-09-12 .
Крейфельдт, Джон Г. (октябрь 1981 г.). «Работа ручного калькулятора в условиях прерывания работы». Труды Ежегодного собрания Общества по изучению человеческого фактора . 25 (1). Кафедра инженерного проектирования, Университет Тафтса, Медфорд, Массачусетс, США: 329–332. doi :10.1177/107118138102500187. S2CID 106904297.(4 страницы)
Kreifeldt, John G.; McCarthy, Mary E. (1981-10-15) [1981-06-16/18]. Написано на кафедре инженерного проектирования, Университет Тафтса, Медфорд, Массачусетс, США. Прерывание как тест интерфейса пользователь-компьютер (PDF) . Труды семнадцатой ежегодной конференции по ручному управлению. Калифорнийский университет, Лос-Анджелес, Калифорния, США: Лаборатория реактивного движения / Управление военно-морских исследований / NASA . стр. 655–667. 02155, N82-13721, 82N13721, 19820005848, JPL 81-95. Архивировано (PDF) из оригинала 2022-01-30 . Получено 2018-09-22 .[5] (13 из 702 страниц)
Редин, Джеймс (2005-02-12) [1997-10-05]. "RPN или DAL? Краткий анализ обратной польской нотации против прямой алгебраической логики". Архивировано из оригинала 2017-06-24 . Получено 2015-09-12 .
Вандербик, Грег (июль 2007 г.). Order of Operations and RPN (Exppository paper). Master of Arts in Teaching (MAT) Exam Expository Papers. Линкольн, США: Университет Небраски . Статья 46. Архивировано из оригинала 14.06.2020 . Получено 14.06.2020 .