2013-08-07 6 views
-1

У меня есть большая грамматика, написанная для DParser и использующая связывание с Python. Когда я первый запустить анализатор, и DParser генерирует свои внутренние таблицы, я получаю количество предупреждений, подобные этим:DParser- warning: пытается записать код в двоичный файл

warning: trying to write code to binary file 
warning: trying to write code to binary file 
warning: trying to write code to binary file 

Не уверен, что причина источника этих предупреждений. Единственное, что я смог найти в исходном коде «write_tables.c» DParser:

write_code(FILE *fp, Grammar *g, Rule *r, char *code, 
      char *fname, int line, char *pathname) 
{ 
    char *c; 

    if (!fp) { 
     d_warn("trying to write code to binary file"); 
     return; 
    } 
    ... 
} 

Любые намеки или идеи будут оценены.

+0

Я бы сказал, что вы не дали Dparser имя файла, в котором можно было бы написать созданные таблицы. Вы читали его документы об использовании? –

+0

Конечно, я прочитал документы. Имя файла для таблиц автоматически выбирается (d_parser_mach_gen.g.d_parser.dat, d_parser_mach_gen.g.md5). Я узнал, что проблема с этими предупреждениями была в том, что у меня были ошибки в моей грамматике, и я забыл добавлять цитаты вокруг [] в некоторых случаях. Например [example_non_terminal]. В качестве набора символов он принимал example_non_terminal. Многие из них вызывали проблему. – Amal

+0

Вы можете добавить свое обнаружение проблемы в качестве ответа (да, вы можете ответить на свой вопрос), чтобы этот вопрос был закрыт. [Я должен признать, причинно-следственная связь между провалом цитаты элемента грамматики и сообщением об ошибке, которое вы получили, полностью убегает от меня]. –

ответ

1

Я узнал, что проблема с этими предупреждениями была в том, что у меня были ошибки в моей грамматике, и я забыл добавлять цитаты вокруг [] в некоторых случаях. Вроде:

[ example_non_terminal ] 

В качестве набора символов принимал example_non_terminal. Многие из них вызывали проблему. Правильная грамматика должна быть:

'[' example_non_terminal ']' 

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

  • Нет связанных вопросов^_^