いわゆる自作プログラミング言語です。 分類としては静的型付けコンパイラ言語になります。コンパイラのバックエンドにはLLVMを用い、フロントエンドをGo言語で実装しました。
以下のサイトにて実行できます。 Try online: Visket Playground
構文など言語の詳細については、以下のドキュメントを参照してください。 Visket Specifications
また実行環境の構築に手間がかかるため今回はWeb上での公開としましたが、この作品自体はバイナリ形式のコンパイラです。一応Docker上での実行手順を以下にまとめています。 Visket/README.md
Visketの特徴は以下の通りです。
構文を平易なものとし、学習コストが小さくなるように言語設計を行いました。セミコロンは必要ありません。
コンパイル時に型チェック及び静的解析を行うことで実行時エラーを防ぐ工夫をしています。nullとかnilとかNoneは存在しません。
速さは正義です。この言語では「実行速度」のテストにおいてC言語と同等の結果が得られています。 以下に40番目のフィボナッチ数の計算によるベンチマーク結果を示します。
lang | time[s] |
---|---|
Visket | 0.55 |
C (clang 9.0.1) O3 | 0.51 |
津山高専の1年です。
低レイヤとセキュリティと数学が好きです。CTFに出没することがあります。
Twitter: @arata_nvm GitHub: arata-nvm