論理学や言語学において、メタ言語とは、別の言語を記述するために用いられる言語であり、しばしば対象言語と呼ばれる。[ 1 ]メタ言語の表現は、イタリック体、引用符、または別行に記述することによって、対象言語の表現と区別されることが多い。例えば、「noun」という単語が文中で名詞として使用できることを示すには、「noun」は<noun>であると記述することができる。
メタ言語には、埋め込み型、順序付き型、ネスト型(または階層型)など、さまざまな種類が認められている。
埋め込みメタ言語とは、対象言語の中に形式的に、自然に、そしてしっかりと固定された言語のことである。この考え方は、ダグラス・ホフスタッターの著書『ゲーデル、エッシャー、バッハ』の中で、形式言語と数論の関係についての議論に見られる。「…数論の形式化の本質は、そのメタ言語がその中に埋め込まれていることにある。」[ 3 ]
それは、英語のような自然言語、つまり非公式な言語にも見られます。英語では、名詞、動詞、あるいは単語といった言葉が、英語そのものに関する特徴や概念を表しています。
順序付きメタ言語は、順序付き論理に類似しています。順序付きメタ言語の例としては、対象言語を議論するためのメタ言語を構築し、続いて最初のメタ言語を議論するための別のメタ言語を作成する、といったことが挙げられます。
入れ子構造(または階層構造)のメタ言語は、各レベルがより高い抽象度を表すという点で、順序付きメタ言語と似ています。しかし、入れ子構造のメタ言語は、各レベルが下位のレベルを含むという点で、順序付きメタ言語とは異なります。
入れ子構造のメタ言語の典型的な例は、生物学におけるリンネ式分類体系に見られる。この体系では、各階層がその下の階層を包含している。属を論じる際に用いられる言語は種を論じる際にも用いられ、目を論じる際に用いられる言語は属を論じる際にも用いられる、といった具合に、界に至るまで同様に用いられる。
自然言語は、入れ子構造で順序付けられたメタ言語を組み合わせたものである。自然言語には、より専門的な語彙とより単純な構文を持つメタ言語が無限に連鎖的に存在する。
言語を今指定する言語の文法はメタ言語における談話であるこれは、 [ 4 ]の中にネストされたサブ言語です。。
これらのメタ言語はすべて、、は入れ子になったメタ言語ですが、そして、続編は順序付きメタ言語である。[ 5 ]これらのメタ言語はすべて、それらはすべて、言語全体に関して言えば、埋め込み言語である。
形式体系のメタ言語はすべて、最終的には自然言語、つまり数学者や論理学者が用語や演算を定義し、数式を「読み上げる」ために会話する「共通言語」に帰着する。[ 6 ]
自然意味メタ言語(NSM)は、語彙を意味的プリミティブの集合に還元する言語理論です。これは、ポーランドの教授アンジェイ・ボグスワフスキの構想に基づいています。この理論は、1970年代初頭にワルシャワ大学、後にオーストラリア国立大学のアンナ・ヴィエルジビツカ[ 7 ]と、オーストラリアのグリフィス大学のクリフ・ゴダード[ 8 ]によって正式に発展しました。
メタ言語で表現される実体はいくつかある。論理学では、通常、メタ言語が扱う対象言語は形式言語であり、多くの場合、メタ言語自体も形式言語である。
演繹体系(または形式体系の演繹装置)は、その体系の定理を導出するために使用できる公理(または公理図式)と推論規則から構成される。 [ 9 ]
メタ変数(またはメタ言語変数、メタ構文変数)とは、メタ言語における記号または記号の集合であり、何らかの対象言語における記号または記号の集合を表すものです。例えば、次の文では、
記号AとBは対象言語の記号ではないそれらは、対象言語について議論しているメタ言語(この場合は英語)におけるメタ変数である。。
メタ理論とは、その主題が別の理論である理論(理論についての理論)のことである。メタ理論の中でその理論についてなされる記述はメタ定理と呼ばれる。メタ定理は、メタ言語で表現された形式体系に関する真の記述である。与えられた形式体系内で証明される定理とは異なり、メタ定理はメタ理論内で証明され、メタ理論には存在するが対象理論には存在しない概念を参照することがある。[ 10 ]
メタ言語意識(メタ言語能力とも呼ばれる)とは、言語の本質について意識的に考察し、メタ言語を用いて言語を説明する能力を指します。メタ言語意識の概念は、言語知識の言語間における実行と伝達(例えば、コードスイッチングやバイリンガル間の翻訳など)を説明する上で役立ちます。メタ言語学は、以下のような形で表現されます。
したがって、メタ言語意識は通常の言語操作に関わるという概念とは異なり、言語使用のプロセスとそれに関連する制御の行使に関わるものである。
現在、メタ言語意識に関する最も一般的な概念では、その発達は認知制御(つまり、言語操作を理解するために必要な関連情報の選択と調整)と分析された知識(つまり、操作された言語の意味と構造の認識)によって構成されているとされています。[ 11 ]
マイケル・J・レディ(1979)は、言語について話すために私たちが使う言語の多くは、彼が導管メタファーと呼ぶものによって概念化され、構造化されていると主張している。[ 12 ]このパラダイムは、2つの異なる関連する枠組みを通して機能する。
主要な枠組みでは、言語は人々の間で密閉されたパイプラインとして捉えられている。
マイナーフレームワークでは、言語を精神的な内容を虚空に注ぎ込む開いたパイプとみなしている。
コンピュータは、形式言語で記述された命令の集合であるプログラムに従います。プログラミング言語の開発には、メタ言語の使用が伴います。プログラミングにおいてメタ言語を扱う行為は、メタプログラミングと呼ばれます。
1960年代にジョン・バッカスとピーター・ナウアによって開発されたバッカス・ナウア記法は、コンピュータで使用された最も初期のメタ言語の1つです。メタプログラミングでよく使用される現代のプログラミング言語の例としては、ML、Lisp、m4、Yaccなどがあります。
コンピュータサイエンスにおいて、メタ言語的抽象化とは、問題領域をより深く理解するために新しい言語や語彙を作り出すことで複雑な問題を解決するプロセスを指します。より一般的には、プログラマーが特定の言語の既成概念にとらわれずに考え、問題領域を探索的に調査し、最も自然で認知的に人間工学的に優れた解決策を見つける能力やスキルも含まれます。これは、Lispの方言であるSchemeを新しい言語を構築するためのフレームワークとして用いた、 MITの代表的な教科書『コンピュータプログラムの構造と解釈』で繰り返し取り上げられているテーマです。