0
我想使用從github編譯的preon(1.1版)來解析我從嵌入式C++應用程序獲得的消息。我在我的項目中包含了antlr 3.3完整版本。我定義的下列類作爲網絡消息的報頭: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;
}
消息類型枚舉如下:
public enum MessageType{
@BoundEnumOption(0x0000) Dummy1,
@BoundEnumOption(0x0001) Dummy2
}
我嘗試投所接收的網絡緩衝區如下:
Codec<Header> headerCodec = Codecs.create(Header.class);
Header h = Codecs.decode(headerCodec, headerData);
System.out.println(h);
我得到以下antlr錯誤。我的定義或包含的軟件包有問題嗎?
線1:0在輸入沒有可行的替代 '< EOF>'
由於