converted jlc.y -> jlc.yy for C++ support
git-svn-id: svn://anubis/misc/llvm@73 bd8a9e45-a331-0410-811e-c64571078777
This commit is contained in:
parent
e223ffa733
commit
416f9a3b8e
15
jlc/Makefile
15
jlc/Makefile
@ -3,17 +3,24 @@ FLEX := flex
|
||||
BISON := bison
|
||||
|
||||
TARGET := jlc
|
||||
LDFLAGS := -lfl
|
||||
|
||||
all: $(TARGET)
|
||||
|
||||
$(TARGET): lex.yy.c $(TARGET).tab.c
|
||||
$(CC) -o $@ $^
|
||||
$(TARGET): lex.yy.o $(TARGET).tab.o
|
||||
$(CXX) -o $@ $^ $(LDFLAGS)
|
||||
|
||||
$(TARGET).tab.c $(TARGET).tab.h: $(TARGET).y
|
||||
lex.yy.o: lex.yy.c $(TARGET).tab.hh
|
||||
$(CC) -c -o $@ $<
|
||||
|
||||
$(TARGET).tab.o: $(TARGET).tab.cc
|
||||
$(CXX) -c -o $@ $<
|
||||
|
||||
$(TARGET).tab.cc $(TARGET).tab.hh: $(TARGET).yy
|
||||
$(BISON) -d $<
|
||||
|
||||
lex.yy.c: $(TARGET).lex
|
||||
$(FLEX) $<
|
||||
|
||||
clean:
|
||||
-rm -f lex.yy.c $(TARGET).tab.c $(TARGET).tab.h *~ *.o $(TARGET)
|
||||
-rm -f lex.yy.c $(TARGET).tab.cc $(TARGET).tab.hh *~ *.o $(TARGET)
|
||||
|
@ -1,6 +1,6 @@
|
||||
|
||||
%{
|
||||
#include "jlc.tab.h"
|
||||
#include "jlc.tab.hh"
|
||||
%}
|
||||
|
||||
%%
|
||||
|
@ -2,6 +2,10 @@
|
||||
%{
|
||||
#include <stdio.h>
|
||||
|
||||
extern "C" {
|
||||
int yylex(void);
|
||||
}
|
||||
|
||||
extern FILE * yyin;
|
||||
|
||||
void yyerror(const char * str)
|
||||
@ -14,15 +18,6 @@ int yywrap()
|
||||
return 1;
|
||||
}
|
||||
|
||||
int main(int argc, char * argv[])
|
||||
{
|
||||
if (argc > 0)
|
||||
{
|
||||
yyin = fopen(argv[1], "r");
|
||||
}
|
||||
yyparse();
|
||||
}
|
||||
|
||||
%}
|
||||
|
||||
%token ASSIGN;
|
||||
@ -150,3 +145,15 @@ number: BIN_NUMBER
|
||||
;
|
||||
|
||||
assignment: ID ASSIGN number SEMICOLON ;
|
||||
|
||||
%%
|
||||
|
||||
int main(int argc, char * argv[])
|
||||
{
|
||||
if (argc > 0)
|
||||
{
|
||||
yyin = fopen(argv[1], "r");
|
||||
}
|
||||
yyparse();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user