-1

我有一个为DParser 编写并使用 Python 绑定的大型语法。当我第一次运行解析器并且 DParser 生成它的内部表时,我收到了许多类似这样的警告:

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

不确定这些警告的来源是什么。我唯一能找到的是 DParser 源代码“write_tables.c”:

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;
    }
    ...
}

任何提示或想法将不胜感激。

4

1 回答 1

1

我发现这些警告的问题是因为我的语法有错误,并且在某些情况下我忘记在 [ ] 周围添加引号。像:

 [ example_non_terminal ]

它将 example_non_terminal 作为字符集。其中一些是导致问题的原因。正确的语法应该是:

 '[' example_non_terminal ']'
于 2013-08-12T17:51:58.120 回答