如何将结构传递给yacc文件中的函数?

时间:2009-12-05 08:53:01

标签: c parsing yacc

我的yacc文件中有这个。

var_declaration : type_specifier ID ';' {$2->args = ""; $2->value = 0; $2->arraysize = 0; $2->type = "variable";}

以上所有事情都有效。

我想将此添加到其中。

fn($2);

从功能内部,我想做这样的事情。

 fn(struct symtab sp)
    {
    sp->value = 0;
    }

但是当我尝试编译程序时,我收到了这个错误:

  

错误:' - >'的无效类型参数   (有'struct symtab')

1 个答案:

答案 0 :(得分:6)

我猜你的功能应该是

fn(struct symtab* sp)

而不是

fn(struct symtab sp)

顺便说一句,因为$ 2是联盟我不认为

$2->args = ""; $2->value = 0; $2->arraysize = 0; 

是对的。 并且

$2->type = "variable";

无效。