quartz-research-note/content/逆ポーランド記法.md
松浦 知也 Matsuura Tomoya d94bb28273
All checks were successful
Build / build (push) Successful in 8m5s
[obsidian] vault backup: 2025-01-15 22:52:28
2025-01-15 22:52:28 +09:00

16 lines
1006 B
Markdown

---
date: 2025-01-15 16:31
---
#programming-language #compiler-design
[[Forth]]に代表される、`引数1, 引数2, ... 関数` のような記法。
いわゆる[[LISP]]のような`(関数,引数1,引数2,...)`のようなポーランド記法の逆なためこう呼ばれる。
一見読みづらいように思えるが、スタックベースのマシンでは引数を左から順番に解釈しながらスタックに積んでいき、関数に到達したら実行して結果をスタックへ置き換える、という形で素直に実装することができる。またそれゆえ括弧がネストすることも少なくて済む。コンパイラのパースも比較的簡単に実装できるため、[[セルフホスト]]する言語を作りやすい
日本語の主語・述語・目的語の表記順的に、[[なでしこ]]や[[プロデル]]のような[[日本語プログラミング言語]]と相性がよく伝統的に使われてきていたりもする。