ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Приведем общую форму правила с восстановительным дейст-Вием оператор: error {resynch(); Yyclearin; yyerror;} Предполагается, что пользовательская процедура resynch() Просматривает входной поток до начала очередного оператора. Вызвавшая ошибку лексема, хранимая анализатором в качестве Входной лексемы, стирается, после этого гасится состояние Ошибки. При построении анализаторов, работающих в интерактивном режиме, для обработки ошибок рекомендуются правила вида: входная_строка: error '\n' {yyerrok; printf("Повторите последнюю строку \n");} входная_строка {$$=$4;} В действии, предусмотренном после ввода ошибочной строки, Пользователю делается подсказка, а состояние ошибки гасится. Значением нетерминала после свертки здесь становится значе- Ние повторно введенной строки. Диагностика ошибок Yacc выдает ряд сообщений об ошибках в случае невозмож- Ности построения грамматического анализатора. В тексте сооб- щения, предваряемом заголовком "ошибка:", содержится указа- Ние причины ошибки и номер просматриваемой в момент ее появ- Ления строки спецификационного файла. Перечислим основные типы фиксируемых yacc ошибок: Неверно заданные флаги командной строки; Невозможность открытия входного или временных файлов; отсутствие файла /usr/lib/yaccpar с текстом процедуры Yyparse; Не нашли, что искали? Воспользуйтесь поиском:
|