メタプログラミングとは? わかりやすく解説

Weblio 辞書 > 同じ種類の言葉 > 情報 > コンピュータ > プログラミング > メタプログラミングの意味・解説 

メタプログラミング

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

メタプログラミング (英語: metaprogramming) [注釈 1]とはプログラミング技法の一種で、一般に「プログラムを記述するプログラム」を書くこと、またはそのプログラムを指す[1]。対象言語に埋め込まれたマクロ言語によって行われることもある。


出典

  1. ^ あんどうやすし 2020, p. 343.
  2. ^ あんどうやすし 2020, pp. 343–344.
  3. ^ Seibel, Peter (2005年4月11日). “Practical Common Lisp”. Internet Archive. p. 95. 2023年12月11日閲覧。
  4. ^ あんどうやすし 2020, p. 345-346.

註釈

  1. ^ "meta-"は「高次」、「超」を表す接頭辞。
  2. ^ ただの例であって、推奨されない書き方である点に十分に留意


「メタプログラミング」の続きの解説一覧

メタプログラミング

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/02 16:40 UTC 版)

Nemerle」の記事における「メタプログラミング」の解説

Nemerleマクロ機能は、コンパイル中にプログラム中のコード生成解析編集可能にする。マクロ通常のメソッド呼び出しとして使えるほか、構文定義して用いることもできるNemerle多く構文(if、for、foreachwhileusingなど)はマクロによって定義されている。 "if" マクロの例: macro @if (cond, e1, e2)syntax ("if", "(", cond, ")", e1, Optional (";"), "else", e2){ /* <[ ]> はコードクォートであり、Nemerleコンパイラ中身構文木変換して提供するC# における式木に似ているところがある。 */ <[ match ($cond : bool) { | true=> $e1 | _ => $e2 } ]>}// コード中でマクロを使う:def max = if (a > b) a else b;// コンパイル中に上のコードは下のように展開される:def max = match (a > b){ | true => a | _ => b}

※この「メタプログラミング」の解説は、「Nemerle」の解説の一部です。
「メタプログラミング」を含む「Nemerle」の記事については、「Nemerle」の概要を参照ください。

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



メタプログラミングと同じ種類の言葉


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

辞書ショートカット

すべての辞書の索引

「メタプログラミング」の関連用語

メタプログラミングのお隣キーワード
検索ランキング

   

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



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

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

©2024 GRAS Group, Inc.RSS