メタ言語とは何なのでしょうか?wikiを見たのですが、イマイチ理解ができません。

ご教授願えますでしょうか?

wikiから流用

メタ言語(メタげんご)とは言語を定義するための言語。 それだけでは具体的な利用に関する目的をもっておらず、特定のルールを加えることで具体的な応用として利用可能となる。

→ メタ言語の目的とはなんでしょうか?
→ 特定のルールを加えることで具体的な応用として利用可能とする「目的」とはなんでしょうか?

http://ja.wikipedia.org/wiki/%E3%83%A1%E3%82%BF%E8%A8%80%E8%AA%9E

回答の条件
  • 1人10回まで
  • 150 ptで終了
  • 登録:
  • 終了:2009/04/05 13:10:03
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答13件)

すべて | 次のツリー>
まずはメタの意味から uehaj2009/03/29 21:17:39ポイント2pt

コンピューターの分野で使われるメタの意味は、

「一段と高いレベルの」という意味です。

たとえばある「何か」に対して「何かを対象として記述する」

という1段階あがったものを、メタであるといいます。

# 「上から目線」で、客観的な操作対象とするってわけです。

ちなみに、言語は、何かを記述するものなのでもともと記述対象に対しては

メタなものだと言えます。たとえば、HTML言語は、WEBページを記述する言語

(ここでは、言語というより、記述方法/記述の枠組み/記述体系/と

思った方がいいかもしれません)であり、HTMLは、個々のWEBページに

対して1段メタなもの(WEBページを記述する体系/記述方法)です。

さて、ご質問の「メタ言語」ですが、例えばHTML(厳密にはXHTML)という

WEBページの記述体系をさらに記述するための枠組み/記述体系がXML

です。このとき、XMLは、「XHTML言語(など)を記述するための言語/

体系/記述方法」つまりメタ言語になります。

XHTMLだけでなく、いろいろなXMLベースの記法(MathML,VRML,X3D,

XML...)を記述するメタ言語としての体系がXMLです。

ご回答ありがとうございます。 masa1932009/04/01 00:02:37

大変わかりやすい説明です。

メタを「一段と高いレベルの」意味としておけば、理解できます。

言語はメタなもので、HTML<XMLの方がよりメタである。

うーん、

①C<C++の方がメタである。

②C++<C#の方がメタである。

③C<JAVAの方がメタである。</p>

④BASIC<Cのほうがメタである。</p>

ってなるのでしょうか?

答え uehaj2009/04/03 20:00:55ポイント1pt

表記する、表記される、という階層の話として言うと、C,C++,Java,BASIC,Cはメタレベルとしては同じです。

(レベル1)Cで書かれたあるプログラムやJavaで書かれたあるプログラム

(レベル2)C、Java

(レベル3)C・Java言語仕様書を書いている日本語

(レベル4)日本語の文法について書いている英語の文法書

(レベル5)その英語の文法を書いている・・・

とかのように上がっていくのではないでしょうか。

つぎに目的を与える uehaj2009/03/29 21:26:18ポイント1pt

メタ言語は「言語を記述する体系」ですが、それを用いて

いざ「何かの言語を記述する」ということをして初めて

具体的な、何かに使える言語(記述体系)になります。


(1)個々のWEBページ(たとえばmasa193さんのページ)

(2)個々のWEBページ(たとえばmasa193さんのページ)を記述できる体系=言語=例えばXHTML

(3)個々の言語(例えばXHTML言語)を記述できる体系=メタ言語=例えばXML


(3)だけでは、(1)の個々のWEBページを記述できません。

具体的な役に立つ(=応用する)には(2)のレベルの言語が必要なのです。

(2)を作るというのが、メタ言語の目的です。

「メタ言語を使って(2)を作る」ことがご質問中の

「特定のルールを加える」ということと同じ意味です。

すべて | 次のツリー>

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません