2015-05-01 17 views
5

Tôi đang cố gắng để viết một phân tích cú pháp javacc dựa trên có liên quan đến các thẻ sau/tiểu bang từ vựng:Sử dụng "~ []" mã thông báo với tiểu bang từ vựng

TOKEN : 
{ 
    <"{"> : FIRST 
} 
<FIRST, DEFAULT> TOKEN : 
{ 
    <"~[]"> : DEFAULT 
} 

Đang cố gắng để phân tích "{;}" kết quả trong lỗi lexical

Đã gặp phải: ";" (59), sau: ""

mà tôi không hiểu. Tôi có thể tránh lỗi theo hai cách:

  • bằng cách thay thế mẫu "~ []" bằng cách rõ ràng ";" đen
  • bằng cách loại bỏ các FIRST nhà nước từ vựng

Tuy nhiên, tôi cần cả hai (như bạn có thể đoán, ở trên chỉ là một trường hợp thử nghiệm tối thiểu), vì vậy đây không phải là một cách giải quyết phù hợp. Bất kỳ ý tưởng gì là sai với định nghĩa token trên?

Cảm ơn!

Trả lời

1

Quá nhiều dấu trích dẫn. Những gì bạn muốn là

TOKEN : 
{ 
    <"{"> : FIRST 
} 
<FIRST, DEFAULT> TOKEN : 
{ 
    <~[]> : DEFAULT 
} 
Các vấn đề liên quan