1

解析しようとしているドキュメントは次のとおりです。

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';

私が問題を抱えている部分は、phraseDictionary です。

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

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

Expected : «EOF»
Line : 2
Near : = Ta 
Found : =

ParseKit の無限先読みで、phraseDictionary の文法に合わせて進めるべきではないでしょうか?

私は何が欠けていますか?

ありがとう、シュリダール

4

1 に答える 1