プログラマの観点とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > プログラマの観点の意味・解説 

プログラマの観点

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/10 20:29 UTC 版)

Forth」の記事における「プログラマの観点」の解説

逆ポーランド記法」も参照 Forth後置記法は、データスタック(オペランドスタック、以下単にスタックと呼ぶ)を意識的に操作しなければならないというForth特徴と密接に結びついている。すなわち、オペランドそのままスタック積まれ、後から現れる演算子などはスタックからそれを取り出して演算し、結果スタックに積む、といったように動作する多く言語違いバッカス・ナウア記法構文定義されているわけでもなく、伝統的にコンパイラは、スレッデッドコード呼ばれるシンプルな構造目的コード直接生成するだけである。また、文法修正のような多く言語では実装内部手を入れ変更必要なことが、Forthではそのようなワード定義することで可能である(これは、Lispマクロに少し似ている)。なお、データスタックの他にリターンスタックがあり、そちらはワード呼出し後で手続き再開するアドレス等が積まれるスタックである(CPUいわゆるスタック似ている)。 たとえば、25 * 10 + 50 は、次のように入力して計算する(「⏎」は、改行入力。「ok」はForth処理系結果出力の後に付けプロンプト)。 25 10 * 50 + . ⏎300 ok まず最初に数値 2510 がこの順でスタック積まれるワード * がスタックの一番上にあるふたつの数を乗算し、その積に置き換える。 それから数値 50スタックに積む。 ワード + がこれに先ほどの積を加算する最後に、. コマンドスタックトップ取り出して、それを、ユーザ端末結果として出力する4 5 + . これは、スタックに4を積み、さらに5を積みスタック上の2つの値を取り出して加算その結果スタック戻しスタックの値を表示する操作示している。 上記のように入力してエンター(⏎:リターン)を打鍵すると、画面上には下記のように結果表示される4 5 + . ⏎9 ok Forth構造化機能でさえもスタックベースである。たとえば、 : FLOOR5 (n -- n') DUP 6 < IF DROP 5 ELSE 1 - THEN ; このコード次のコマンドを使うことによって FLOOR5 が呼ばれる新しワード繰り返すが、「ワード」という単語サブルーチンとして使われている)を定義するDUPスタック数値複製する。6がスタックの一番上に 6 を配置するワード < はスタックの一番上二つの数(6 と DUP複製され入力の値)を比較し真偽値置き換える。IFは真偽値をとり、その直後コマンド実行するか、ELSEまでスキップするかを選択するDROPスタックの上の値を放棄する。そして、THEN条件分岐終端である。括弧囲まれテキストは、このワード期待するスタックの数と値を返すかどうか説明するコメントである。ワード FLOOR5 はC言語書かれ次の関数相当するint floor5(int v) { return v < 6 ? 5 : v - 1; } この関数はより簡潔につぎのように書かれる。 : FLOOR5 (n -- n') 1- 5 MAX ; このワード次のように実行できる。 1 FLOOR5 . ⏎5 ok8 FLOOR5 . ⏎7 ok 最初にインタプリタ数値 1(もしくは 8)をスタックプッシュし、それからこの数値を再びポップ結果プッシュする FLOOR5 を呼び出す。最後に、「.」の呼び出しは値をポップし、ユーザ端末にそれを表示する

※この「プログラマの観点」の解説は、「Forth」の解説の一部です。
「プログラマの観点」を含む「Forth」の記事については、「Forth」の概要を参照ください。

ウィキペディア小見出し辞書の「プログラマの観点」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



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

辞書ショートカット

すべての辞書の索引

「プログラマの観点」の関連用語

プログラマの観点のお隣キーワード
検索ランキング

   

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



プログラマの観点のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのForth (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS