- コンパイラ読み回
# Gears
# 入出力Interface
- IO Interfaceの方がいい気がしてきた
|
|
IO_File
,IO_Pipe
みたいなのを実装したいstruct file
はDataGearとして定義する- コレ自体をInterfaceとか、InterfaceのImplの引数のfieldに分解しない
- DataGearを宣言する専用の構文がほしい気がする
# DataGear宣言用
|
|
# やること
- generate_contextでのstruct回収ルーチンの修正
- parseに失敗したらskipするようにする
- おわった
- file Interfaceの残骸の削除
# generate_contextでのstruct回収ルーチンの修正
- Gears::Utilの
_parse
でパースしている typedef struct (.*) <.*> .* {
に引っかからなかった場合、 対象から落とすようにした- 構文木みたいなのを作るタイミングで落としている
- .hか.dgがみつからなかった場合でも落とす
|
|
- 理論上は
//:skip
を書かなくてもすむようになった気がする
# __codeの引数に構造体があるケース
- DataGearになっている場合は、
D_struct_name
になる都合上、struct
とかunion
が`stubの時点で落とされる struct hoge
を引数にいれている場合はhoge = Gearef(cbc_context, hoge)
になるみたいな- 対処療法的に
typedef
しているが、DataGearをいれる構文を入れたほうが早そう- とはいえgenerate_stub, generate_contextを直さないといけなさそう