我正在尝试制作一个可执行脚本,以便可以将项目提交给教授。通常,代码是用Java编写的,我使用的脚本如下所示(并且始终有一个输入文件):
#!/bin/bash
java Main $1
,我的教授通过运行./p1 file.txt
来执行它。但是,对于该项目,我们使用lex和yacc创建了一个简单的解析器。这些脚本令我感到困惑,我不确定如何为C创建相同的可执行文件。我的lex文件称为aa.l
,而bison文件称为aa.y
。首先,他将运行make
,然后运行可执行文件。使用这些名称,我的文件应该看起来如何?
这是我的makefile:
aa: aa.tab.o lex.yy.o
cc -o aa lex.yy.o aa.tab.o
aa.tab.o: aa.tab.c
cc -c aa.tab.c
aa.tab.c: aa.y
bison -d aa.y
lex.yy.o: lex.yy.c aa.tab.h
cc -c lex.yy.c
lex.yy.c: aa.l aa.tab.c
flex aa.l