Parsing 这个语法有什么问题?

Parsing 这个语法有什么问题?,parsing,parsekit,Parsing,Parsekit,以下是我正在尝试解析的文档: Tha Dhi Thom Num ThaKaThaRiKiTaThaKa ThaKaThaRiKiTaThaKa = Ta Tha Chap Tha Ki Ta Tha Ka 我对语法的定义如下: @start = expr; expr = singleExpr+ phraseDictionary*; singleExpr = aksharaGroup; phraseDictionary = phrase '='! aksharaGroup; phras

以下是我正在尝试解析的文档:

Tha Dhi Thom Num ThaKaThaRiKiTaThaKa 
ThaKaThaRiKiTaThaKa = Ta Tha Chap Tha Ki Ta Tha Ka
我对语法的定义如下:

@start = expr;

expr = singleExpr+ phraseDictionary*;

singleExpr = aksharaGroup;

phraseDictionary = phrase '='! aksharaGroup;

phrase = Word;

aksharaGroup = akshara+ ('/'! noteDuration)?;

akshara = tha | dhi | thom | num | ki | ta | ka | chap | phrase;

noteDuration = Number;

tha = 'Tha';
dhi = 'Dhi';
thom = 'Thom';
num = 'Num';
ki = 'Ki';
ta = 'Ta';
ka = 'Ka';
chap = 'Chap';
我遇到问题的部分是短语词典——第二个ThaKaThaRiKiTaThaKa被解析为短语,正如预期的那样,akshara和aksharaGroup,但是我得到了例外,我希望它与短语词典相匹配

Expected : /
Line : 2
Near : = Ta 
Found : =

Expected : Uppercase Word
Line : 2
Near : = Ta 
Found : =

Expected : «EOF»
Line : 2
Near : = Ta 
Found : =
有了ParseKit的无限前瞻,它不应该继续并匹配短语词典语法吗

我错过了什么

谢谢, Sridhar是这里的开发者

你的语法在谷歌代码上的ParseKit head of trunk上为我工作

以下是解析的PKAssembly输出:

[Tha, Dhi, Thom, Num, ThaKaThaRiKiTaThaKa, ThaKaThaRiKiTaThaKa, Ta, Tha, Chap, Tha, Ki, Ta, Tha, Ka]Tha/Dhi/Thom/Num/ThaKaThaRiKiTaThaKa/ThaKaThaRiKiTaThaKa/=/Ta/Tha/Chap/Tha/Ki/Ta/Tha/Ka^

方括号内的堆栈和末尾的插入符号表明从语法生成的解析器能够成功识别您的输入。

感谢您的回复!对不起,我已经放弃了一段时间,现在正在重新开始。我将使用最新的parsekit代码再次尝试并还原。