読み込みのコマンド

<< 目次を表示 >>

ページ位置:  Enterprise Architectの拡張 > コード読み込みの独自定義 > 読み込みの文法 >

読み込みのコマンド

読み込みのコマンドは、動作指示と同じような形式の表現です。

読み込みコマンドは、分割された構成の意味を決める目的と、ルールの呼び出し元に対して結果を返す目的の2つがあります。

 

 

コマンド

説明

attribute

(Name: String,

Value: Expression)

attributeコマンドは、ASTノードの現在の位置に指定された名前の属性を追加します。

値は、Expressionが評価された結果を格納します。

このコマンドは、最終的にEnterprise Architectの属性となるASTノート属性を生成します。

attributeEx

(Name: String)

 

attributeEx

(Name: String ,

Value: String)

attributeExコマンドは、ASTノードの現在の位置に指定された名前の属性を追加しますが、解析処理は進めません。Valueが指定される場合には、指定された値を設定します。指定がない場合には空になります。

このコマンドは、最終的にEnterprise Architectの属性となるASTノート属性を生成します。

except

(Target: Expression,  

Exception: Expression)

exceptコマンドはTargetの表現に合致するまで入力内容を無視しますが、Exceptionの表現に合致する内容がある場合には解析は失敗となります。

fail()

failコマンドがあると、解析処理が失敗したものとして扱われ、一致する定義が存在しない場合と同じ挙動になります。

keywords()

keywordsコマンドは、対象の言語のキーワードとして指定されたものと一致させるために利用します。

mapLeft

(Target: Expression,

 Common: Expression)

ターゲットの式に一致する入力データを処理し、次に共通の式に一致する入力データを処理します。

 

共通の式から生成されたASTノードと属性は、次にターゲットの式から生成されたトップレベルの各ノードにコピーされます。

 

この処理が成功するためには、ターゲットの式と共通の式の両方が正常に解析される必要があります。

mapRight

(Common: Expression,

 Target: Expression)

共通の式に一致する入力データを処理し、次にターゲットの式に一致する入力データを処理します。

 

ターゲットの式から生成されたASTノードと属性は、次に共通の式から生成されたトップレベルの各ノードにコピーされます。

 

この処理が成功するためには、ターゲットの式と共通の式の両方が正常に解析される必要があります。

node

(Name: String,

Target: Expression)

nodeコマンドは、ASTノードの現在の位置に指定された名前のノードを追加します。文法ソースで指定された名前を持つノードが追加されます。

preProcess

(Target: Expression)

preProcessコマンドは入力内容を複数の定義で事前処理する場合に利用します。このコマンドは主に構文解析中に利用されます。ある入力内容が、複数のルールで解釈される可能性がある場合に適用することで、意味解析の段階での誤解釈の削減や処理の効率化に役立てることができます。

skip

(Target: Expression)

 

skip

(Target: Expression,

Escape: Expression)

skipコマンドは入力内容(構文解析中は文字列・意味解析中はトークン)を無視します。Expressionに一致する内容があるまで、内容の無視を継続します。Escapeの引数を指定する場合には、文字列内の引用符をエスケープさせるような文字列を指定します。

skipBalanced

(Origin: Expression,

Target: Expression)

 

skipBalanced

(Origin: Expression,

Target: Expression,

Escape: Expression)

skipBalancedコマンドは入力内容(構文解析中は文字列・意味解析中はトークン)を無視します。その際に、skipコマンドのように特定内容まで無視するのではなく、ネストレベルが同じになるまで、内容を無視します。

Originの引数の内容が解析中に発見された場合には、ネストレベルを1つ増やします。Targetの引数の内容が解析中に発見された場合には、ネストレベルを1つ減らします。ネストレベルが0になった時点で、処理は成功となり終了します。skipコマンドと同様にEscapeの引数を指定できます。

skipEOF()

skipEOFコマンドは、ファイルの最後までのすべての残されたデータ(文字列あるいはトークン)をすべて無視するために利用します。

token

(Target: Expression)

tokenコマンドは、構文解析中に、意味解析で利用するトークンを生成します。トークンの値は、指定されたExpressionを評価した結果になります。

warning()

warningコマンドは、AST 結果のタブにメッセージを表示するために利用します。

 

 

参照: