タグ

ブックマーク / zenn.dev/unhappychoice (1)

  • TUIタイピングゲームを作ったので仕組みをまとめる(Rust × Tree-sitter × Ratatui)

    コードを素材にしたOSSのTUIタイピングゲーム GitType を作った。この記事では「どんな仕組みか」をまとめる。 どういうゲームか 全体アーキテクチャ GitType の構成は次の通り。 問題生成フロー ゲームプレイフロー AST とコード片切り出し(Tree-sitter) GitType は Tree-sitter を使ってソースコードを構造的に解析し、意味のある単位でコード片を抽出する。 抽出の仕組み 1. パーサーレジストリによる言語管理 各言語専用の LanguageExtractor とTree-sitterパーサーを事前に登録。言語固有のクエリパターンと抽出ロジックを一元管理。 2. AST構築とクエリ実行 ソースファイルをTree-sitterでパースしてAST(抽象構文木)を構築。言語固有のクエリを使って関数、クラス、メソッドなどの構文要素を検索。 3. 構造的なチ

    TUIタイピングゲームを作ったので仕組みをまとめる(Rust × Tree-sitter × Ratatui)
    System
    System 2025/09/15
  • 1