From: Yann Dirson Date: Sat, 14 Dec 2013 19:37:28 +0000 (+0100) Subject: Xshogi: build scanner separately from parser. X-Git-Url: http://winboard.nl/cgi-bin?p=gnushogi.git;a=commitdiff_plain;h=597bdc54b866e7578023a56e2b340d9877792ebf Xshogi: build scanner separately from parser. --- diff --git a/.gitignore b/.gitignore index 658125d..3e1d8b1 100644 --- a/.gitignore +++ b/.gitignore @@ -23,6 +23,7 @@ /xshogi/scanner.c /xshogi/parser.c +/xshogi/parser.h /xshogi/xshogi /doc/gnushogi*.info diff --git a/xshogi/Makefile.in b/xshogi/Makefile.in index c015cad..3100f2d 100644 --- a/xshogi/Makefile.in +++ b/xshogi/Makefile.in @@ -83,7 +83,7 @@ SECOND_HOST = -DSECOND_HOST=\"@SECOND_HOST@\" all: xshogi xshogi: - $(CC) -o xshogi xshogi.o parser.o $(CFLAGS) $(LDFLAGS) + $(CC) -o xshogi xshogi.o parser.o scanner.o $(CFLAGS) $(LDFLAGS) xshogi.o: xshogi.c $(CC) -c $< $(CWARNINGS) $(CFLAGS) \ @@ -98,10 +98,13 @@ xshogi.o: xshogi.c parser.o: parser.c $(CC) $(CFLAGS) -I$(SRCDIR) -c $< +scanner.o: scanner.c parser.h + $(CC) $(CFLAGS) -I$(SRCDIR) -c $< -parser.c: parser.y - $(YACC) $< +parser.c parser.h: parser.y + $(YACC) -d $< mv y.tab.c parser.c + mv y.tab.h parser.h scanner.c: scanner.l $(LEX) $< @@ -143,7 +146,7 @@ clean: # Dependencies. # -xshogi: xshogi.o parser.o +xshogi: xshogi.o parser.o scanner.o xshogi.o: xshogi.c $(SRCDIR)/sysdeps.h $(SRCDIR)/xshogi.h $(SRCDIR)/bitmaps.h ../config.h parser.o: parser.c $(SRCDIR)/xshogi.h parser.c: parser.y scanner.c diff --git a/xshogi/parser.y b/xshogi/parser.y index 0d2784b..809d3a4 100644 --- a/xshogi/parser.y +++ b/xshogi/parser.y @@ -89,6 +89,8 @@ extern void SendToProgram(char *message, FILE *fp); extern void MakeMove(ShogiMove *move_type, int from_x, int from_y, int to_x, int to_y); +int lines = 1, cols = 1; + %} %start goal @@ -198,10 +200,6 @@ extern void MakeMove(ShogiMove *move_type, int from_x, int from_y, %% - -#include "scanner.c" - - static void yyerror(char *errmsg) { if (strlen(token) > 0) @@ -219,6 +217,7 @@ static void yyerror(char *errmsg) exit(-1); } +extern FILE *yyin; void parseGameFile() { diff --git a/xshogi/scanner.l b/xshogi/scanner.l index ff3cb1f..92ec42f 100644 --- a/xshogi/scanner.l +++ b/xshogi/scanner.l @@ -61,8 +61,11 @@ * ------------------------------------------------------------------------ * */ - -static int lines = 1, cols = 1; + +#include "parser.h" + +extern int lines, cols; + %} PIECE [PLNSGBRK]