2013-05-07 2 views
0

Я пытаюсь разобрать кусок кода запуска с помощью antlr. Хотя мне удалось успешно проанализировать его в Windows, это приводит к исключению в Linux для функции MATCHT() (которая, в свою очередь, вызывает функцию match()).Проблемы с анализом в Antlr3 для Linux и Windows

В чем разница между Linux и Windows?

+0

Вы правильно обработали новые линии? Windows использует \ r \ n, в то время как Linux использует \ n –

ответ

1

Звучит как проблема времени выполнения ANTLR3 (вы используете цель C?). В Linux время выполнения может быть установлено в пути к системе и, следовательно, может быть устаревшим. В Windows время выполнения должно быть частью приложения, поэтому он может использовать более новую версию. Я видел несколько ошибок во время выполнения и даже в настоящее время not all of them are fixed.

+0

Но эта проблема находится в файлах грамматики, которые генерируются из antlr-.3.4-complete jar – user1616699

+0

Не имеет значения. Сгенерированный парсер требует времени выполнения на целевом языке, и эта среда выполнения может иметь ошибки/ошибки. Время выполнения содержит классы поддержки/код для анализатора, чтобы он фактически работал. –

Смежные вопросы