仕様と範囲

まずData ModelとASTから読む。

Data Modelは文書nodeとvalueの意味・構造を定める基礎仕様、ASTはそのモデルを処理系で扱うobject形式です。その上でGrammar v0.3が現在のsource構文とparse・評価の契約を定めます。Data Model/ASTはv0.2、現行文法はv0.3で、版と役割は別です。

仕様v0.3、個別npm package version、compiler ABIは別々に管理されます。

仕様を読む順序

文書の値を定める基礎仕様から

最初にData Modelでnodeとvalueを理解し、次にASTで処理系内の表現を確認します。Grammar v0.3はMatra sourceの書き方と処理を定めます。package versionと言語仕様versionは独立しており、規範的な要件は各一次資料を参照してください。

仕様を読む

テーマごとの解説と一次資料。

01

基礎仕様 — Data Model

文書nodeとvalueが何を表すかを定める基礎です。tag・props・childrenの構造、JSON互換value、MatraJSON、文書Morphionを定義します。

Data Modelを読む →規範的な定義 →

02

基礎仕様 — AST

Data Modelを処理系が扱うobject形式で表したものです。visitor・transformer・rendererでの利用と、MatraJSONとの相互変換を定義します。

ASTを読む →規範的な定義 →

03

現行仕様 — 文法 v0.3

Matra sourceの式、node構築、XML-style markup、parseと静的取得の規則。基礎仕様のData Model/ASTとは役割が異なります。

文法を読む →規範的な定義 →

05

release範囲

検証対象、既知の制限、公開packageのrelease条件。

v0.3計画 →

区別すること

仕様の適用範囲を確認してください。

Data Model/AST v0.2は値の表現を定義し、Grammar v0.3は現行source文法・parse・静的取得を定義します。旧Parser v0.2は歴史的資料です。HTML描画やtag固有の意味は別domainの仕様です。

文書data model