• Showing Page History #45838
  • Showing Page History #85837
  • Showing Page History #86065

Show page source of ExNewProgLang #83863

{{{ GoogleAdsense
<script type="text/javascript"><!--
google_ad_client="pub-3720045127958150";
google_ad_host="pub-9941151214016196";
google_alternate_color="FFFFFF";
google_ad_width=468;
google_ad_height=60;
google_ad_format="468x60_as";
google_ad_type="text_image";
google_color_border="003399";
google_color_bg="EEEEEE";
google_color_link="0000FF";
google_color_url="0000FF";
google_color_text="000000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
}}}

[[BR]]
[FrontPage ← 前のページに戻る]


== 新プログラミング言語のつくりかた


デカルト言語を使った、「新プログラミング言語のつくりかた」について説明しましょう。

独自のプログラミング言語を考えている人は多いと思いますが、それをプロトタイプ的にとりあえず作るにはどうすればよいのか、参考になると思います。

ここでは最初に、まず[http://ja.wikipedia.org/wiki/PL/0 PL/0]と呼ばれる良く知られたプログラミング言語を実装します。

PL/0は、「Algorithms + Data Structures = Programs」(ニクラウス・ヴィルト: Niklaus Wirth) で紹介されたもので、Pascalを簡略化した基本的なモデルともいうべきプログラミング言語でした。

このPL/0を基にして、構文を拡張し、Pascalとは異なる構文にしていきます。そして、クロージャ機能を持った言語や純関数型の言語を派生させ、高階関数やプロトタイプベースのオブジェクト指向を導入します。

こうして、最終的にはいろいろな機能を持った独自のプログラミング言語をいくつか実現してしまいましょう。


=== [ExPL0Lang 1. プログラミング言語PL/0]

=== [ExPL0Impl 2. プログラミング言語PL/0の実装]

=== 3. 一式言語: PL/0の構文の改造と拡張

=== 4. 二式言語: 純関数型プログラミング言語

=== 5. 三式言語: クロージャを持つプログラミング言語

=== 6. 四式言語: 高階関数をサポートするプログラミング言語

=== 7. 五式言語: 高階関数をサポートする純関数型プログラミング言語

=== 8. 六式言語: クロージャと高階関数をサポートするプログラミング言語



{{{ GoogleAdsense
<script type="text/javascript"><!--
google_ad_client = "ca-pub-3720045127958150";
/* 728x90, 作成済み 10/04/09 */
google_ad_slot = "4963196949";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
}}}