Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Clover2ほぼ完成

More than 1 year has passed since last update.

コンパイラ、インタプリタハイブリッド言語のClover2がだいぶ自分でも満足できる出来になってきました。速度はコンパイラとして使うと、かなりの速度が出ます。Clover2で作ったエディッタはvimと遜色ない速度が出ています。(ネイティブコンパイルすると)。遜色ないとは言いすぎかもしれませんが。

ちょっと残念な点はポインタが使えるので、動的エラー、要するに書き方によってはセグメンテーションフォルトする点です。ここは厳しくするべきでした。まあ、ポインタが使えるので、C的にも書けますし、個人的には好きなんですけど、今どきセグメンテーションフォルトに対応したくないですよねぇ、、、うーん。

現在は完全な実行形式のプログラムも出力できます。コンパイラですね。ただ、ネイティブコンパイルはコンパイルが重いので、インタプリタとして使うのも手ですね。コンパイラとしてClover2をコンパイルしても(./configure --with-optimize --with-interpter --with-jitとします。)インタプリタとしても使えるので、とりあえず、コンパイラとしてClover2をコンパイルしておけば、どっちにも対応できて便利です。

一応HELLO WORLDの例を出しておきます。

vim a.cl
println("HELLO WORLD");
clover2 a.cl
HELLO WORLD
です。
コンパイルする場合は
cclover2 a.cl
bclover2 a.ocl
./a
HELLO WORLD
とすればいいです。
詳しくはgithubのwikiを見てください。
結構詳しく書いてあるので、ちょっとめんどくさいと思いますけど。読むのが。まあ、このブログの方に色々書き込んでいきますね。

ab25cq
シェル、エディッタ、コンパイラを作っています。githubにあるので、試してみてください。
https://ab25cq.github.io
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away