Skip to content

vain0x/jacco-lang

Repository files navigation

THE JACCO LANGUAGE

WIP: TODOs

ジャッコ言語 (jacco-lang) は自作プログラミング言語。

特徴

当面は「シンプルなC言語」を目指す。(のちのち、ジェネリクスなどの機能を入れて「シンプルな C++」を目指したい。)

  • Rust 風の構文: なじみやすく、ほどよく冗長で、高速に解析できる
  • C 風の意味論: 相互運用しやすく、枯れていて、オーバーヘッドが小さい

追加要素:

  • 型安全な分岐: タグつきユニオン・パターンマッチ・網羅性検査
  • 型推論: ローカルのみ
  • モジュールシステム (未定)

除外要素:

  • マクロ
  • 条件コンパイル

ツール:

  • ビルドツール
  • パッケージマネージャー
  • コードフォーマッター
  • LSP
  • DAP

実装状況

(tests ディレクトリを参照。)

開発

開発: 環境

インストールするもの:

ビルドスクリプトなど:

# ビルド
cargo build

# テストの実行
./test

開発: テスト

テストランナーは jl_tests/src/main.rs

tests/xxx/xxx.jacco がコンパイルされて xxx.txt が生成される。(アサーションは特にない。一部のテストケースでは、C言語として有効でないコードが生成されてしまう。)

その他

About

🚧 would be Rust-flavor C-like language?

Resources

License

Stars

Watchers

Forks

Languages