Compiler construction 使文件为预期的冒号

Compiler construction 使文件为预期的冒号,compiler-construction,makefile,syntax-error,Compiler Construction,Makefile,Syntax Error,我想为酷语言制作一个编译器,我有一个Makefile: FFLAGS= BFLAGS=-d -v -y CFLAGS=-g -Wall -Wextra -std=c++11 -Wno-write-strings -I /usr/local/boost_1_50_0 FLEX=flex BISON=bison CC=g++ SRCS=y.tab.c ast.cpp tokentable.cpp symboltable.cpp main.cpp lex.yy.c semanticanalyze

我想为酷语言制作一个编译器,我有一个Makefile:

FFLAGS=
BFLAGS=-d -v -y 
CFLAGS=-g -Wall -Wextra -std=c++11 -Wno-write-strings -I /usr/local/boost_1_50_0

FLEX=flex
BISON=bison
CC=g++

SRCS=y.tab.c ast.cpp tokentable.cpp symboltable.cpp main.cpp lex.yy.c semanticanalyzer.cpp astnodevisitor.cpp constants.cpp astnodetypechecker.cpp utility.cpp astnodecodegenerator.cpp
OBJS=y.tab.o ast.o tokentable.o symboltable.o main.o lex.yy.o semanticanalyzer.o astnodevisitor.o constants.o astnodetypechecker.o utility.o astnodecodegenerator.o

cooc : ${OBJS} 
    ${CC} ${CFLAGS} -o $@ ${OBJS}

%.o : %.cpp
    ${CC} ${CFLAGS} -c $<

y.tab.c : cool.y
    ${BISON} ${BFLAGS} cool.y

lex.yy.c : cool.flex
    ${FLEX} ${FFLAGS} cool.flex

.depend: ${SRCS} 
    rm -f ./.depend
    ${CC} ${CFLAGS} -MM $^>>./.depend

include .depend
FFLAGS=
BFLAGS=-d-v-y
CFLAGS=-g-Wall-Wextra-std=c++11-Wno write strings-I/usr/local/boost\u 1\u 50\u 0
FLEX=FLEX
野牛
CC=g++
SRCS=y.tab.c ast.cpp tokentable.cpp symboltable.cpp main.cpp lex.yy.c semanticalyzer.cpp astnodevisitor.cpp constants.cpp astnodetypechecker.cpp utility.cpp astnodecodegenerator.cpp
OBJS=y.tab.o ast.o tokentable.o symboltable.o main.o lex.yy.o semanticalyzer.o astnodevisitor.o constants.o astnodetypechecker.o utility.o astnodecodegenerator.o
cooc:${OBJS}
${CC}${CFLAGS}-o$@${OBJS}
%.o:%.cpp
${CC}${CFLAGS}-c$<
y、 表c:酷
${BISON}${BFLAGS}cool.y
lex.yy.c:酷
${FLEX}${FFLAGS}cool.FLEX
.depend:${SRCS}
rm-f./.取决于
${CC}${CFLAGS}-MM$^>./.depend
包括,取决于

但当我在cmd中运行它时,我得到了这些错误,在这部分中,应该是“rm-f./.depend”冒号,最后3行有语法错误。请帮助我解决此问题。

当您出现错误时,请发布准确的错误文本(以及有用的上下文)。请不要解释错误消息。错误消息中的确切措辞、标点符号等通常是至关重要的。还应提供系统类型和软件版本(本例中为make)。例如,据我所知,GNU make中(至少)没有显示类似于“预期使用冒号”的错误

但是,我猜您已经用空格缩进了配方行(
rm-f…
等)。每个配方行上的第一个字符必须是实际的制表符


我不知道为什么
include
行会有语法错误。同样,如果您显示实际的错误文本,我们会更有帮助。

您使用的是选项卡,而不是配方中的空格,是吗?MAKE Version 5.0版权所有19871997 Borland International Error makefile 25:冒号预期错误makefile 26:命令语法错误makefile 27:命令语法错误makefile 29:命令语法错误***4生成过程中的错误***嗯,您正在查看的生成文件似乎是GNU生成的生成文件,并且似乎是为在UNIX系统上运行而编写的。我不知道Borland支持什么语法,我严重怀疑makefile是否能在Windows上工作。因此,除非该软件包支持Windows或您愿意添加它,否则您就倒霉了。我可以为Windows创建一个相同的文件吗?还有吗?当然,只是代码而已。GNU make的一些端口将在Windows上运行(询问google),这些端口将直接运行makefile。找到在Windows上运行make的方法只是第一步:您需要获得一个编译器并更改make文件,以便它能够找到您的编译器并正确运行它。根据代码的编写方式,它可能会也可能不会按原样移植到Windows;如果没有,则必须更改代码以添加特定于Windows的内容。这不是一项适合StackOverflow的任务。您需要在邮件列表或论坛上询问您试图构建的软件。