xtextの本番ルールとデータ型ルールの違いを誰かに説明してもらえますか?これまでのところ、どちらもパーサールールであり、データ型ルールはプリミティブEDataypeを返し、プロダクションルールはASTでEObjectを作成することを知っています。しかし、文法定義に違いは見られません。
Dataypeルール:10進数:INT'。' INT;
生産ルール:モデル:(統計+ =ステートメント)*;
パーサーはどのルールがどれであるかをどのようにして知りましたか?
パーサーは、パーサールールの(推測された)戻り型を使用して、プロダクションとデータ型を区別します。返される型がEMFEDataTypeの場合、ルールはデータ型ルールです。それ以外の場合は、実動ルールです。
このブログエントリは、Xtextのルールの種類間のいくつかの違いを強調しようとしています。