- ベストアンサー
新しいプログラミング言語の作り方について
こんにちは、Visual Basic 2010を使ってプログラミング学習中の中2です。 最近疑問に思ったのは、どうすれば新しいプログラミング言語が作れるのかということです。 先週その疑問に対し、「新たに作りたい言語のコンパイラーを作ればよいではないか。」とひらめいたのですが、本当にこれであっているのかと思い質問を投稿しました。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
そのとおりです。 それを実現するのに、「コンパイラコンパイラ」というものもあります。 http://www.google.co.jp/#hl=ja&gs_rn=5&gs_ri=psy-ab&gs_is=1&pq=%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9&cp=0&gs_id=ad&xhr=t&q=%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9&es_nrs=true&pf=p&sclient=psy-ab&oq=%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9&gs_l=&pbx=1&bav=on.2,or.r_qf.&fp=99cccefae757f733&biw=1133&bih=748 もっと言えばCPUを設計して、機械語から考えれば面白いと思います。 これからいろいろ勉強なさってください。
その他の回答 (2)
- lv4u
- ベストアンサー率27% (1862/6715)
>>新たに作りたい言語のコンパイラーを作ればよいではないか。 そうですね。でも、その前に新しい言語の構文をどうするか?命令はどんなものを用意するか?など、いろいろと決めないといけないことがあると思います。
- ok-kaneto
- ベストアンサー率39% (1798/4531)
コンパイラをどのようにして作るか、ですね。コンパイラは手段であり目的ではありません。 プログラム言語を作るうえで必要な事は、 ・どのような機能を与えるか ・人間に対してのインタフェース(文法)はどのようにするか です。単純に画面に文字を出せばよいのか、もっと色々と処理を行う必要があるのかにもよります。 それが決まれば、機能を実現するためにそれをコンピュータに対してどのように指示を行うかです。自然言語(普通に人間が使う言葉)は曖昧になる事が多く、コンピュータには不向きとされていますので、人工言語を作ることが多いです。 これらをコンパイラとして実装するにあたり、 (1)字句解析・・・ソースコードをコンピュータに理解できる形に変換する http://ja.wikipedia.org/wiki/%E5%AD%97%E5%8F%A5%E8%A7%A3%E6%9E%90 (2)構文解析・・・(1)で変換したものを解析し、具体的にコンピュータに指示を与える http://ja.wikipedia.org/wiki/%E6%A7%8B%E6%96%87%E8%A7%A3%E6%9E%90 ここら辺は難しい理論がありますので、ここでは割愛します。