Я пишу yacc-файл как часть компилятора.У меня есть следующая ошибка:
lang_grammar.y:143.54-55: $2 of `ClassDeclaration' has no declared type
lang_grammar.y:143.69-70: $4 of `ClassDeclaration' has no declared type
lang_grammar.y:143.84-85: $6 of `ClassDeclaration' has no declared type
в этой строке в моем файле .y:
CLASS { /* code will be embedded here */ } ID EXTENDS ID '{' ClassBody '}'
{ $$.classDeclaration = new ClassDeclaration($2.identifier, $4.identifier, $6.classBody); }
Когда я удаляю внутренний встроенный код:
CLASS ID EXTENDS ID '{' ClassBody '}'
{ $$.classDeclaration = new ClassDeclaration($2.identifier, $4.identifier, $6.classBody); }
Работает просто отлично.
Существуют ли ограничения для встраивания кода в yacc?У меня сложилось впечатление, что это возможно.
Спасибо.