コード生成のアクション言語

インターフェースおよびポートの C コード生成サポートには、以下の構文を使用します。以下に示す例では、インターフェース x、操作 f、ポート p、クラス A を使用します。

C インターフェースを介した操作の呼び出し

[Interface]_[Operation]([object realizing the interface]
[, argList])

例: ポート番号が 5 の operation x_f (object realizing the interface, port number) を呼び出すには、

x_f(me->itsl, 5);

C インターフェースを介したイベントの送信

RiCGEN_[Interface]([object realizing the interface], [event([argList])])

例: 送信イベント RiCGEN_l(object realizing the interface, port number) を送信するには、

RiCGEN_l(me->itsl, evt());

C ポートを介した操作の呼び出し

[Interface]_[Operation](OUT_PORT([class], [port], [interface]) 
[, argList])

例: ポート番号が 5 の操作 x_f (object realizing the port, port number) を呼び出すには、

x_f(OUT_PORT(A, p, x), 5);

C 高速ポートを介したイベントの送信

RiCGEN_PORT([pointer to port], [event])

例: イベント RiCGEN_PORT(object realizing the port, event) を送信するには、

RiCGEN_PORT(me->p, evt());

ISR を使用した C 高速ポートを介したイベントの送信

RiCGEN_PORT_ISR([pointer to port], [event])

例: イベント RiCGEN_PORT_ISR を送信するには、

RiCGEN_PORT_ISR(me->p, evt());

イベントを受信したポートのクエリー

RiCIS_PORT([object], [pointer to port])

例: ポート RiCIS をクエリーするには、

RiCIS_PORT(me, me->p);

C 非高速ポートを介したイベントの送信

RiCGEN_PORT_I([class], [port], [interface], [event([argList])])

例: イベント RiCGEN_PORT_I(object realizing the port, event) を送信するには、

RiCGEN_PORT_I(A, p, x, evt());

フィードバック