English | 日本語
jv 言語(やわ-らんぐ)は、読みやすいJava 25ソースコードにコンパイルされるJavaシンタックスシュガーです。Kotlinスタイルのシンタックスシュガーを提供しながら、ランタイム依存関係ゼロで完全なJVM互換性を維持します。
jvは、モダンで簡潔な構文を純粋なJava 25ソースコードにトランスパイルし、両方の世界の最良の部分を提供します:Kotlinライクな機能による開発者の生産性と、シームレスなJavaエコシステム統合。
- ターゲット: Java 25 LTS
- 出力: 純粋なJavaソースコード(追加ランタイムなし)
- 実装: Rustベースのコンパイラツールチェーン
- 哲学: ランタイムオーバーヘッドゼロ、最大限の互換性
ir-java-codegenマイルストーンを完了し、0.1.0リリースに向けた機能が揃いました。変換・コード生成・ソースマップ・CLI統合の全タスクを出荷し、cargo fmt --all と cargo test -p jv_ir -p jv_codegen_java -p jv_mapper -p jv_cli を通過しています(その他のクレートは引き続き開発中です)。反映された内容は CHANGELOG.md と release notes を参照してください。
- 暗黙不変宣言(identifier = expression)とvarによる可変制御
- null安全演算子: ?, ?., ?:
- when式 → Javaのswitch/パターンマッチング(深度10までの分解・範囲ガード対応)
- data class → record(不変)またはclass(可変)
- data Name(field ...)簡略構文と型推論
- 拡張関数 → 静的ユーティリティメソッド
- 文字列補間: "Hello, ${name}"
- JSONリテラル + JSONC コメント → 自動POJO生成と型安全アクセス
- 仮想スレッド: spawn {}
- 非同期/await: async {}.await() → CompletableFuture
- リソース管理: use {} → try-with-resources
- デフォルト引数と名前付き引数 → メソッドオーバーロード
- トップレベル関数 → ユーティリティクラス
- 読みやすいJava 25への高速コンパイル
- デバッグサポート用ソースマップ
- jvレジストリ + Mavenブリッジ付きパッケージマネージャー
- 自動インストール付きJDK管理
- Language Server Protocol経由のIDE統合
- javac統合付きビルドシステム
- コードフォーマッターと静的解析
- テレメトリ/診断可視化: jv check --telemetry で pattern_cache_hits, pattern_bridge_ms, when_strategy を集計表示
新しいプロジェクトを作成:
jvコードを書く(src/main.jv):
name = ...のような暗黙宣言は自動的にfinalとして扱われます。再代入が必要な変数だけvarを付けてください。
ビルドして実行:
生成されるJavaコードはクリーンで読みやすい:
このリポジトリには複数のクレートを含むRustワークスペースが含まれています:
jv_parser の延期構文状況は jv/crates/jv_parser/docs/deferred-syntax.md を参照してください。
- Rust 1.75+
- Java 21+(生成されたコードのテスト用)
- ローカルでの回帰検知: cargo test --package jv_ir --lib と cargo test --package jv_ir -- --ignored perf_phase1
- CLI経由のメトリクス採取: jv build --perf(または cargo run --bin jv_cli -- build --perf)
- 生成レポート: target/perf-reports/ast-ir-phase1.json に summary / checks が保存され、3,000ms / 100MB / 再利用率0.90が閾値
- 運用フローとベースライン更新は AST→IR性能ベースラインガイド を参照
新しい統合テストスイート crates/jv_cli/tests/tour_tests.rs は、jv tour のメインフロー・環境チェック・ポートフォリオ生成を通して学習体験を検証します。以下のコマンドで再現可能です。
模擬JDKプローブを用いるためクロスプラットフォームで安全に実行でき、生成される成果物の整合性も自動確認されます。継続的テストやドキュメント更新時の回帰チェックに活用してください。
jvにはIDE統合用のLanguage Server Protocol実装が含まれています:
- 構文ハイライト
- エラー診断
- 自動補完
- 定義へのジャンプ
- リファクタリングサポート
- デバッグ(ソースマップ経由)
マーケットプレイスからjv拡張機能をインストール。
IDEA UltimateとCommunity用プラグインが利用可能。
| 変数宣言 | final var name = "value"; | val name = "value" |
| null安全 | 手動nullチェック | ?., ?:演算子 |
| パターンマッチング | switch式 | when式 |
| データクラス | Record + ボイラープレート | data class |
| コレクション | 冗長なstream API | 拡張関数 |
| 文字列テンプレート | テキストブロック + 連結 | "Hello ${name}" |
| 非同期プログラミング | CompletableFuture | async/await |
開発セットアップとガイドラインについてはCONTRIBUTING.mdを参照してください。
以下のいずれかでライセンスされています:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
お好みの方をお選びください。
- フェーズ1: コアコンパイラ(字句解析器、構文解析器、基本コード生成)
- フェーズ2: 高度な機能(null安全、パターンマッチング)
- フェーズ3: ツール(LSP、フォーマッター、パッケージマネージャー)
- フェーズ4: エコシステム(レジストリ、IDEプラグイン、ドキュメント)
このプロジェクトが役に立ったら、開発を支援してください:
.png)


