Xshogi: build scanner separately from parser.
authorYann Dirson <ydirson@free.fr>
Sat, 14 Dec 2013 19:37:28 +0000 (20:37 +0100)
committerYann Dirson <ydirson@free.fr>
Sun, 12 Jan 2014 14:31:22 +0000 (15:31 +0100)
.gitignore
xshogi/Makefile.in
xshogi/parser.y
xshogi/scanner.l

index 658125d..3e1d8b1 100644 (file)
@@ -23,6 +23,7 @@
 
 /xshogi/scanner.c
 /xshogi/parser.c
+/xshogi/parser.h
 /xshogi/xshogi
 
 /doc/gnushogi*.info
index c015cad..3100f2d 100644 (file)
@@ -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
index 0d2784b..809d3a4 100644 (file)
@@ -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()
 { 
index ff3cb1f..92ec42f 100644 (file)
  * ------------------------------------------------------------------------
  *
  */
-static int lines = 1, cols = 1;
+
+#include "parser.h"
+
+extern int lines, cols;
+
 %}
 
 PIECE   [PLNSGBRK]