Я хочу сгенерировать C-код. Я не буду читать из входного файла одну строку за раз (как, например, может быть компилятор). Скорее, я буду анализировать пользовательский ввод по мере его поступления, по одной строке за раз.
Я бы предпочел обнаруживать и обрабатывать неверные данные в лексере / парсере, например,
/* lexer tokens */
foo : "FOO";
bar : "BAR";
baz : "BAZ";
/* grammar*/
grammar : foo "=" BAZ
| foo "=" BAR
| <some non-existent Antrl-else> : {printf(stderr, "bad input\n");}
;
ОК, если я не могу поймать его в лексере / парсере, похоже, мне нужно использовать displayRecognitionError()
, но как ??
Может кто-нибудь указать мне на очень простой пример, который генерирует код C и показывает некоторую обработку ошибок при неверном вводе?
Спасибо!
Хорошо, щедрость, ура!
Но только для реального, рабочего ответа, с реальным, рабочим кодом. Нет "use method X ()" без wxample.