From fff7284d68ddbf61d43ee3019f8b56e09c77457f Mon Sep 17 00:00:00 2001 From: Ole Streicher Date: Fri, 12 Jan 2024 12:42:00 +0100 Subject: [PATCH] Adjust lex and grammar files --- obm/ObmW/Makefile | 17 ++++++----------- obm/ObmW/laygram.y | 5 +++++ obm/ObmW/laylex.l | 20 ++++++++++---------- 3 files changed, 21 insertions(+), 21 deletions(-) diff --git a/obm/ObmW/Makefile b/obm/ObmW/Makefile index b19c901..6af5b43 100644 --- a/obm/ObmW/Makefile +++ b/obm/ObmW/Makefile @@ -1,7 +1,7 @@ OBJS = Arrow.o Board.o Button.o Common.o DrawIString.o DrawString.o \ DrawingArea.o Frame.o Group.o Gterm.o Icon.o iconutil.o Label.o \ MenuBar.o MultiList.o RadioGrp.o RowCol.o Scrollbar.o \ - Layout.o laygram.o laylex.o \ + laygram.o laylex.o Layout.o \ Slider2.o Tablist2Tabs.o TextWidth.o Toggle.o cvtLong.o scroll.o \ strnchr.o Tabs.o Gcs.o ListTree.o Separator.o Container.o color.o @@ -24,15 +24,10 @@ Gterm.o: Gterm.c GtermCnv.c GtermGraphics.c GtermImaging.c \ GtermCmap.c GtermMapping.c GtermMarker.c GtermUtil.c GtermDebug.c clean: - rm -f $(OBJS) + rm -f $(OBJS) laygram.[ch] laylex.[ch] -laygram.c: laygram.y - yacc -d laygram.y - sed -e 's/yy/LayYY/g' y.tab.c > laygram.c - sed -e 's/yy/LayYY/g' y.tab.h > laygram.h - rm y.tab.c y.tab.h +.y.c: + yacc -d $< -o $@ -p LayYY -laylex.c: laylex.l - lex laylex.l - sed -e 's/yy/LayYY/g' lex.yy.c > laylex.c - rm lex.yy.c +.l.c: + lex -o $@ -P LayYY $< diff --git a/obm/ObmW/laygram.y b/obm/ObmW/laygram.y index c209b64..c646f3e 100644 --- a/obm/ObmW/laygram.y +++ b/obm/ObmW/laygram.y @@ -11,6 +11,11 @@ #include "LayoutP.h" static LayoutPtr *dest; +#define yysetdest LayYYsetdest +#define yywrap LayYYwrap +#define yyerror LayYYerror +extern int layYYlex ( void ); +extern void yyerror(char *s); %} diff --git a/obm/ObmW/laylex.l b/obm/ObmW/laylex.l index 7de4f2d..0a2061f 100644 --- a/obm/ObmW/laylex.l +++ b/obm/ObmW/laylex.l @@ -14,6 +14,10 @@ #include "laygram.h" static char *yysourcebase, *yysource; +#define yylval LayYYlval +#define yyerror LayYYerror +#define yysetsource LayYYsetsource + #ifndef FLEX_SCANNER #define input() (*yysource++) #define unput(c) (--yysource) @@ -24,7 +28,7 @@ static void my_yyinput(char *buf, int *result, int max_size); #endif #ifdef __STDC__ -static int count (); +static int count (char *s, char c); #endif %} %% @@ -75,9 +79,7 @@ height return HEIGHT; %% static int -count (s, c) - char *s; - char c; +count (char *s, char c) { int i = 0; while (*s) @@ -86,14 +88,13 @@ count (s, c) return i; } -yysetsource(s) - char *s; +yysetsource(char *s) { yysourcebase = yysource = s; } -yyerror(s) - char *s; +void +yyerror(char *s) { char *t; @@ -115,8 +116,7 @@ yyerror(s) #ifdef FLEX_SCANNER static void -my_yyinput(buf, result, max_size) - char *buf; int *result; int max_size; +my_yyinput(char *buf, int *result, int max_size) { int size = max_size < strlen(yysource) ? max_size : strlen(yysource);