2014-09-25 46 views
0

我想使用幾個詞法分析模式,它們共享相當一部分規則。在不同的詞法分析器模式下重複使用規則

「共享」規則也應該產生相同的標記。

到目前爲止,我必須這樣做,這是這樣的:

Id : [a-z]+; 
// 50 other shared rules... 

mode otherMode; 

Id_otherMode : [a-z]+ {setType(Id);}; 

有沒有更好的方式來做到這一點?

回答

1
Id_otherMode : [a-z]+ {setType(Id);}; 

可以寫成

Id_otherMode :Id -> type(Id); 

也爲更多的「優先級」 ID可以是片段

但我猜你需要聽到的是:不,你不能redifine相同令牌以不同的模式。也許重組模式...

相關問題