Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

KuinInKuinの方向性について語るスレッド #2

Open
kuina opened this issue Nov 4, 2019 · 2 comments
Open

KuinInKuinの方向性について語るスレッド #2

kuina opened this issue Nov 4, 2019 · 2 comments

Comments

@kuina
Copy link
Owner

@kuina kuina commented Nov 4, 2019

このリポジトリで開発している、KuinInKuin (Kuinで書かれたKuinコンパイラ) の方向性について語るスレッドです。 誰でも書き込んで構いません。

なお、正式な Kuin のリポジトリは
https://github.com/kuina/Kuin
です。

@kuina

This comment has been minimized.

Copy link
Owner Author

@kuina kuina commented Nov 4, 2019

「KuinInKuin (Kuinで書かれたKuinコンパイラ)」と言いつつ、単に既存のコンパイラをKuinで書き直すだけに留まらずに、一度改めて見直すチャンスだと捉えていろいろ計画しています。
今のところ予定しているのは以下の通りです!

  • 言語仕様や、コアに近いライブラリ(kuin@、lib@、file@など)は変えません。これまで通り使え、互換性が維持されます。(なぜなら2018年までに十分踏み固められたので、もう不満が無いためです。)
  • ただし、便利になるように機能追加は行います。 特にKuinコンパイラをKuinで実装してみて、いろいろと欲しい機能が明らかになりました。(list型のforEachなど。)
  • これまではWindowsで動く機械語(.exe)しか生成できませんでしたが、.cpp や .js も生成できるようにして、他のOSやブラウザ上で動くものも作れるようにします。 (すでにKuinコンパイラ自体を .cpp や .js で生成してみて動いています。ブラウザ上でKuinコンパイラが動作しました!)
  • それ以外の言語を生成するかは未定。
  • 最終的には、Kuinリポジトリにある本家コンパイラを、このKuinInKuinで置き換えたいです。(グラフィックスや高機能ライブラリを実装して同じくらいの機能になれば。) そのときは、このリポジトリは消滅して向こうへ合流します。
@kuina

This comment has been minimized.

Copy link
Owner Author

@kuina kuina commented Dec 21, 2019

##、$<、$> 演算子の実装が終わったため、言語の基本部分はC++出力、Web出力ともに出来上がったと思います。
C++出力、Web出力で、本家Kuinの開発で使っていたテストの 0~13 が通りました。

ちなみに、言語の基本部分で若干仕様を修正しました:

  • ##、$<、$> 演算子は、これまではインスタンスがnullだとエラーになっていましたが、nullとして正しく復元されるようになります。
  • list型の内部ポインタの位置は、これまでは ##、$<、$> 演算子で復元されることを保証していませんでしたが、保証されるようになります。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
1 participant
You can’t perform that action at this time.