Lex 和 Yacc 工作,但是当我尝试编译 y.tab.c 文件时,我收到以下错误。我感觉它是一个链接问题,编译器找不到它需要的库,但我不知道如何修复它。
在我的 nor.y 文件中,我在顶部有这个:
%{
#include <stdio.h>
%}
在我的 nor.l 文件中,我在顶部有这个:
%{
#include "y.tab.h"
#include <stdlib.h>
extern YYSTYPE yylval;
%}
然后,当我尝试编译时
gcc y.tab.h -ly -ll
我得到错误:
Undefined symbols for architecture x86_64:
"_yyparse", referenced from:
_main in liby.a(main.o)
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status