中置記法とは? わかりやすく解説

中置記法

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/02/21 13:45 UTC 版)

ポーランド記法
中置記法
逆ポーランド記法

中置記法(ちゅうちきほう、infix notation)とは、数式やプログラムを記述する方法(記法)の一種。演算子を操作対象の中間に記述することから、このように呼ばれる。

その他の記法として、演算子を操作対象の前(左)に記述する前置記法(ポーランド記法)、演算子を操作対象の後(右)に記述する後置記法(逆ポーランド記法)がある。

四則演算など初歩的な算術においては、もっぱら中置記法が多用されている。

多義性

次のようなBNFの構文規則群で定義される中置記法の文法について考える。

<expr>  = <infix> | <num>
<infix> = <expr> <op> <expr>
<num>   = 0 | 1 | 2 | 3 | 4 | ...
<op>    = + | - | × | ÷

この文法には多義性(ambiguity。曖昧さ、とも言うが、「曖昧」という語には「輪郭がはっきりしない」というような意味もあるがそちらの意味ではない)がある(「曖昧な文法」の記事を参照)。たとえば、

"1 - 2 + 3"

が、この構文規則からは「(1 - 2) + 3」と「1 - (2 + 3)」の、どちらに相当する構文木にも構文解析できてしまう。

加算のような結合法則の成り立つ演算だけが対象である場合など、むしろ便利である場合もあるが、一般の場合には補助的なカッコを多用して明示するなどの必要がある。算術の四則演算では、加減算の両方が使われている場合などについて、左から右という規則で意味の一意化が図られている。また、カッコの省略を意図して、加減算に対する乗除算の優先という規則も、もっぱら付加される。

yaccなどでは、BNFによる定義に、さらに「演算子の優先順位」と「演算子の結合性」(結合法則#プログラミング言語を参照)に相当する規則を付加することができ、これは大変に使い良い機能である。特に(yaccは違うが)再帰下降構文解析などLL法の構文解析では、四則演算の式のような左から右の順をナイーブに実装すると左再帰の問題があるので、問題を避けて簡潔に定義する方法があると良い。

関連項目





中置記法と同じ種類の言葉


固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「中置記法」の関連用語

中置記法のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



中置記法のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの中置記法 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS