2011-12-27 1 views
2

필자는 .y bison 파일에서 사용하고자하는 C 함수를 사용하고 있습니다. 어떻게해야합니까? 내 기능 코드는 어디에 두어야합니까?들소의 C 함수?

감사합니다 당신과 같이 할 수 있습니다 .Y 파일에서

답변

5

:

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

어느 #include는 헤더 파일을 보내고 또는 오른쪽으로 거기를 선언합니다.

이 interface.h는 add_colouradd_colourd 기능을 선언 한 경우 나중에 같은 것을 할 수 있다는 것을 의미 :

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

가 생성 된 코드 witin에서 그들을 호출.

당신이 파일의 끝에 %%을 사용하고 같은 것을 할 수있는에 그 생성 된 코드에서 구현하고 싶었 :

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

을 그래서 당신은 당신의 .Y 내부 "평범한 구식 C"를 쓸 수 있습니다 파일도.