このページの目的は、「独自のプログラミング言語を作る」ことです。
「プログラミング言語を作る」というのは、 やったことのない方からすれば、ずいぶん無謀な目標に見えるのかもしれません。 でも、いくつかの基礎知識さえ修得すれば、技術的には、 実はそんなに難しいものでもありません。
だったら、ひとつぐらい作ってみたいと思いませんか? なにしろプログラミング言語を作るなんて、 いかにもかっこ良さげじゃないですか。
私は作ってみたいと思いました。だから作ります。
プログラミング言語なんてもう山ほどあるのに、 今さら新しい言語なんて付け足して何をしたいんだよ!
などというツッコミは入れてはいけません。 「なぜプログラミング言語なんか作るんですか?」 と聞かれたら、その答は
そこにyaccがあるからだ。
で充分だろうと私は思います(yaccが何かは後述します)。
というわけで―― ただ私なんぞが新言語を作ってもそうそう画期的なものになる筈もなく、 ていうか画期的なものなんか作ろうとしても仕様が発散するに決まってるわけで、 ここはひとつ、ライターの世界に片足突っ込んでしまった身としては、 へなちょこな言語でいいから、「プログラミング言語の作り方」 の解説文でも書いてみようかと。
これを読んで、「よし俺も言語を作ってみよう」と思った人は、 混迷したバベルの塔にさらに新たな一言語を付け加えてみましょう。 面白いですよ。意味があるかどうかは別として。
お願い:
この文書にウソ、間違い、誤解を招く表現などを見つけられた方は、 ぜひ掲示板 の方にご連絡願います。 「確かにそれでもできるけど、その実装はアホだろ」というご指摘も歓迎いたします。
私は言語処理系が専門というわけではないので、 結構変なことをやってる可能性もあります…
また、このページに関していただいたご意見・ご質問・ご感想等は、 公開することがありますのであらかじめご承知おきください。
反論があるようでしたら、オープンな場で議論すべきだと思いますし、 同じ疑問を持っている人が他にもいるかもしれないからです。
プログラミング言語雑記
crowbarの現状の最新版のダウンロードはこちらから。
Diksamの現状の最新版のダウンロードはこちらから。