諸事情から、やっぱりとっとと進めておけば良かったと思い始めている構文定義シリーズ、今日はDeclareです。
- Declareステートメント
- ‘Declare’ 関数指定子 関数名 呼出規約指定子? ‘Lib’ DLL指定子 別名指定? 関数引数戻り値宣言
- 関数指定子
- Function
- Sub
- Macro
- 関数名
- 識別子
- 呼出規約指定子
- CDecl
- DLL指定子
- 文字列定数
- 別名指定
- ‘Alias’ 文字列定数
- 文字列定数
- 文字列リテラル
- 識別子
関数引数戻り値宣言は、(x As Long) As Longの部分で、次週に回します。とは言ったものの、手前の部分だけでは特に言うこともないんですよね。
Declare Macroとか出来そうにない気がしますが、関数指定子は普通の関数定義にも使い回すつもりなので、ここにMacroも入れてしまいました。
AB5から、LibとAliasの指定ににConstで定義した定数が使えるようになります。例えばこんな感じです。
Const DLLNAME = "MyLib.dll"
Declare Sub MyFunc Lib DLLNAME (x As Long)
来週に後半が出てきます。引数や戻り値とややっこしい要素が詰め込まれています。と言っても、型名の解析まではまだやらないつもりですが。
タイトルが間違っていたので修正しました。
スポンサード リンク |