0
나는 임베디드 C++ 응용 프로그램에서 얻은 메시지를 구문 분석하기 위해 github (v 1.1)에서 컴파일 한 preon을 사용하려고합니다. 나는 내 프로젝트에 antlr 3.3-complete 버전을 포함시켰다.Preon에서 열거 형은 어떻게 정의됩니까?
public class Header {
@BoundNumber(byteOrder = org.codehaus.preon.buffer.ByteOrder.BigEndian)
public MessageType MsgType;
@BoundNumber(byteOrder = org.codehaus.preon.buffer.ByteOrder.BigEndian)
public int MsgNo;
@BoundNumber(byteOrder = org.codehaus.preon.buffer.ByteOrder.BigEndian)
public int RspNo;
@BoundNumber(byteOrder = org.codehaus.preon.buffer.ByteOrder.BigEndian)
public int Length;
}
메세지 유형 열거는 다음과 같다 :
Codec<Header> headerCodec = Codecs.create(Header.class);
Header h = Codecs.decode(headerCodec, headerData);
System.out.println(h);
을 :
public enum MessageType{
@BoundEnumOption(0x0000) Dummy1,
@BoundEnumOption(0x0001) Dummy2
}
나는 다음과 같은 수신 된 네트워크 버퍼를 캐스팅해야 할 내가 네트워크 메시지의 헤더로 다음과 같은 클래스를 정의 다음 antlr 오류가 발생합니다. 내 정의 또는 포함 된 패키지에 문제가 있습니까?
라인 1 : 0 입력에서 어떤 대안 '< EOF>'
감사