我有一些源代码文件,例如hashtable.c等。主要问题是当我写main.c时:
#include "tokens.h"
#include <stdio.h>
void yyerror(char *errorMsg)
{
fprintf(stderr, "%s\n", errorMsg);
}
main()
{
yyparse();
hsh = createHashtable();
}
在我的yacc文件(parser.y)的顶部,我想要解析一个哈希表:
%{
#include <stdio.h>
#include "tokens.h"
#include "ast.c"
struct hashtable *hsh;
.............................
..............................
但是我收到了这个错误。
main.c: In function ‘main’:
main.c:24: error: ‘hsh’ undeclared (first use in this function)
main.c:24: error: (Each undeclared identifier is reported only once
main.c:24: error: for each function it appears in.)
make: *** [main.o] Error 1
在C编程方面我很天真,任何帮助都会很棒
答案 0 :(得分:6)
您的extern struct hashtable* hsh;
main.c