2011-12-27 3 views
2

私は私のバイソンファイルで使用したいC関数を持っています。それ、どうやったら出来るの?私のコードはどこに置くのですか?BisonのMy C関数?

おかげで、あなたが何かを行うことができます.Yファイルで

答えて

5

%{ 
#include "types.h" 
#include "interface.h" 
void doStuff(void);  
%} 

どちらか#includeヘッダファイルをINGのか、右がそれを宣言します。

これはinterface.hはadd_colouradd_colourd機能を宣言した場合は、後でこのような何かを行うことができることを意味します

Colour: 
      ColourSpace { add_colour($1); } 
     | STAR ColourSpace { add_colourd($2); } 

があなたの生成されたコードwitinからそれらを呼び出します。

あなたはその中でそれらを実装したい場合は、ファイルの末尾に%%を使用してのような何かを行うことができますにコードを生成:だからあなたはあなたの.Y内の「昔ながらのC」を書くことができます

%% 
void doStuff() { 
    // Do some stuff! 
} 

をファイルも。