WIP: TODOs
ジャッコ言語 (jacco-lang
) は自作プログラミング言語。
当面は「シンプルなC言語」を目指す。(のちのち、ジェネリクスなどの機能を入れて「シンプルな C++」を目指したい。)
- Rust 風の構文: なじみやすく、ほどよく冗長で、高速に解析できる
- C 風の意味論: 相互運用しやすく、枯れていて、オーバーヘッドが小さい
追加要素:
型安全な分岐: タグつきユニオン・パターンマッチ・網羅性検査型推論: ローカルのみモジュールシステム(未定)
除外要素:
- マクロ
- 条件コンパイル
ツール:
ビルドツールパッケージマネージャーコードフォーマッターLSPDAP
(tests ディレクトリを参照。)
インストールするもの:
- Git (Windows でシェルスクリプトを動かすのには Git Bash を推奨)
- Rust https://www.rustlang.org
ビルドスクリプトなど:
# ビルド
cargo build
# テストの実行
./test
テストランナーは jl_tests/src/main.rs
。
tests/xxx/xxx.jacco
がコンパイルされて xxx.txt
が生成される。(アサーションは特にない。一部のテストケースでは、C言語として有効でないコードが生成されてしまう。)