Skip to content

docs: add DNCL mode language specification (Japanese)#488

Merged
takaokouji merged 1 commit into
developfrom
docs/dncl-spec
Apr 11, 2026
Merged

docs: add DNCL mode language specification (Japanese)#488
takaokouji merged 1 commit into
developfrom
docs/dncl-spec

Conversation

@takaokouji
Copy link
Copy Markdown

Summary

smalruby3-editor の日本語モード(DNCLモード)の言語仕様ドキュメントを追加します。

  • docs/smalruby-language-spec.ja.md(Ruby モード)と同等の情報量で DNCL モードの仕様を網羅
  • 実装(packages/scratch-gui/src/lib/dncl/)を正として記述
  • DNCLv2(大学入学共通テスト手順記述標準言語)との違いを明確に記載

ドキュメント構成

  1. 概要・動作の仕組み
  2. プログラム構造(インデント、コメント)
  3. データ型(リテラル、文字列、真偽値)
  4. 変数(命名規則、禁止文字、代入記法)
  5. 演算子(算術、比較、論理)
  6. 制御構造(if/elsif/else、while、for ループ)
  7. 関数(定義、戻り値)
  8. 組み込み関数(表示する、外部からの入力、型変換、配列操作)
  9. ブロックパレット(使用可能なブロック一覧)
  10. エディタ機能(ハイライト、オートインデント、スニペット)
  11. DNCLv2 との違い(構文・機能の比較表)
  12. サポートされていない構文
  13. 完全なサンプルプログラム

背景

このドキュメントは、次のタスク(DNCLモードのブロックパレット最適化)の基礎資料として作成しました。現在のブロックパレットには DNCL として不適切なブロック(say, when_flag_clicked 等の英語名ブロック)が選択可能になっている問題があり、このドキュメントを元にパレット内容を精査します。

Test plan

  • ドキュメントの内容が実装と一致していることを確認
  • DNCLv2 との差分が正確であることを確認

Add comprehensive language specification for smalruby3-editor's
DNCL (Japanese) mode, documenting syntax, operators, control flow,
built-in functions, block palette restrictions, and differences
from standard DNCLv2.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

🚀 Preview deployed: https://smalruby.jp/smalruby3-editor/docs/dncl-spec/

@takaokouji takaokouji merged commit 6aa593d into develop Apr 11, 2026
9 checks passed
@takaokouji takaokouji deleted the docs/dncl-spec branch April 11, 2026 11:38
github-actions Bot pushed a commit that referenced this pull request Apr 11, 2026
docs: add DNCL mode language specification (Japanese)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant