В настоящее время я пишу небольшой парсер на erlang, используя yecc, и столкнулся с некоторыми проблемами.Проблемы возникают, когда я разбираю правила с 'lbrack'.Следующее правило является иллюстрацией моей проблемы:
program -> 'char' 'ident' 'lbrack' 'int_constant' 'rbrack' 'semi'
Он компилируется нормально, но когда я пытаюсь проанализировать следующие токены:
[{char,1},
{ident,1,1,t},
{lbrack,1},
{int_constant,1,10},
{rbrack,1},
{semi,1}]
анализатор падает с
{error,
{1,parser,["syntax error before: ","lbrack"]}}}