yacc은 내 토큰이 내가 정의한 유형일 때 좋아하지 않습니다. 내 문법 %{ ... %}
블록 (.y
) 파일의 맨 위에 yacc - 필드에 불완전한 유형이 있습니다.
typedef struct _spim_register {
spim_register_type type; /* This is a simple enumeration, already defined */
int number;
} spim_register;
을, 내가 가진 :
%token AREG
...
%union {
struct _spim_register reg;
}
...
%type <reg> register AREG
은 내가의 라인에
error: field ‘reg’ has incomplete type
를 얻을 수bison이 작성한 코드를 컴파일하는 동안 절. 내 %union
성명에서, spim_register reg;
를 작성하여 등록을 선언하려고하면 오류가 있습니다 : 나는 대한 조치에 내 헤더 파일의 데이터 구조를 사용할 수이기 때문에, 뭔가 특별한에 대한 %union { ... }
이처럼
unknown type name ‘spim_register’
보인다 규칙.
[아마도 관련 됨] (http://stackoverflow.com/questions/1430390/include-struct-in-the-union-def-with-bison-yacc) – user786653