DParser-警告:尝试将代码写入二进制文件

时间:2013-08-07 03:26:04

标签: parsing compiler-construction parser-generator glr

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

任何提示或想法都将受到赞赏。

1 个答案:

答案 0 :(得分:1)

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

 [ example_non_terminal ]

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

 '[' example_non_terminal ']'