[PATCH libxkbcommon] Use yacc-generated header instead of tokens.h

Ran Benita ran234 at gmail.com
Sat Feb 25 09:38:54 PST 2012


The yacc implementation can generate all the necessary token
definitions itself; there is no need to maintain a hand written
file for that.

Signed-off-by: Ran Benita <ran234 at gmail.com>
---
Resending this one as suggested by Gaetan Nadon. Should apply cleanly
after the other fix patches. Tested to work both with bison and byacc.

 src/xkbcomp/.gitignore  |    1 +
 src/xkbcomp/Makefile.am |    4 +-
 src/xkbcomp/tokens.h    |  105 -----------------------------------------------
 src/xkbcomp/xkbscan.l   |    2 +-
 4 files changed, 5 insertions(+), 107 deletions(-)
 delete mode 100644 src/xkbcomp/tokens.h

diff --git a/src/xkbcomp/.gitignore b/src/xkbcomp/.gitignore
index f03a5af..f2976af 100644
--- a/src/xkbcomp/.gitignore
+++ b/src/xkbcomp/.gitignore
@@ -1,2 +1,3 @@
 xkbparse.c
+xkbparse.h
 xkbscan.c
diff --git a/src/xkbcomp/Makefile.am b/src/xkbcomp/Makefile.am
index ecee7d4..6176fb8 100644
--- a/src/xkbcomp/Makefile.am
+++ b/src/xkbcomp/Makefile.am
@@ -1,6 +1,7 @@
 AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src
 AM_CFLAGS = $(X11_CFLAGS) $(CWARNFLAGS) \
 	-DDFLT_XKB_CONFIG_ROOT='"$(XKBCONFIGROOT)"'
+AM_YFLAGS = -d
 
 noinst_LTLIBRARIES = libxkbcomp.la
 libxkbcomp_la_SOURCES = \
@@ -24,7 +25,6 @@ libxkbcomp_la_SOURCES = \
 	parseutils.c \
 	parseutils.h \
 	symbols.c \
-	tokens.h \
 	utils.c \
 	utils.h \
 	vmod.c \
@@ -35,3 +35,5 @@ libxkbcomp_la_SOURCES = \
 	xkbpath.c \
 	xkbpath.h \
 	xkbscan.l
+
+BUILT_SOURCES = xkbparse.h
diff --git a/src/xkbcomp/tokens.h b/src/xkbcomp/tokens.h
deleted file mode 100644
index c936c01..0000000
--- a/src/xkbcomp/tokens.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/************************************************************
- Copyright (c) 1994 by Silicon Graphics Computer Systems, Inc.
-
- Permission to use, copy, modify, and distribute this
- software and its documentation for any purpose and without
- fee is hereby granted, provided that the above copyright
- notice appear in all copies and that both that copyright
- notice and this permission notice appear in supporting
- documentation, and that the name of Silicon Graphics not be
- used in advertising or publicity pertaining to distribution
- of the software without specific prior written permission.
- Silicon Graphics makes no representation about the suitability
- of this software for any purpose. It is provided "as is"
- without any express or implied warranty.
-
- SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
- AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
- GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
- DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
- THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
- ********************************************************/
-#ifndef TOKENS_H
-#define	TOKENS_H 1
-
-#include <stdint.h>
-
-#define	END_OF_FILE	0
-#define	ERROR_TOK	255
-
-#define	XKB_KEYMAP	1
-#define	XKB_KEYCODES	2
-#define	XKB_TYPES	3
-#define	XKB_SYMBOLS	4
-#define	XKB_COMPATMAP	5
-#define	XKB_GEOMETRY	6
-#define	XKB_SEMANTICS	7
-#define	XKB_LAYOUT	8
-
-#define	INCLUDE		10
-#define	OVERRIDE	11
-#define	AUGMENT		12
-#define	REPLACE		13
-#define	ALTERNATE	14
-
-#define	VIRTUAL_MODS	20
-#define	TYPE		21
-#define	INTERPRET	22
-#define	ACTION_TOK	23
-#define	KEY		24
-#define	ALIAS		25
-#define	GROUP		26
-#define	MODIFIER_MAP	27
-#define	INDICATOR	28
-#define	SHAPE		29
-#define	KEYS		30
-#define	ROW		31
-#define	SECTION		32
-#define	OVERLAY		33
-#define	TEXT		34
-#define	OUTLINE		35
-#define	SOLID		36
-#define	LOGO		37
-#define	VIRTUAL		38
-
-#define	EQUALS		40
-#define	PLUS		41
-#define	MINUS		42
-#define	DIVIDE		43
-#define	TIMES		44
-#define	OBRACE		45
-#define	CBRACE		46
-#define	OPAREN		47
-#define	CPAREN		48
-#define	OBRACKET	49
-#define	CBRACKET	50
-#define	DOT		51
-#define	COMMA		52
-#define	SEMI		53
-#define	EXCLAM		54
-#define	INVERT		55
-
-#define	STRING		60
-#define	INTEGER		61
-#define	FLOAT		62
-#define	IDENT		63
-#define	KEYNAME		64
-
-#define	PARTIAL		70
-#define	DEFAULT		71
-#define	HIDDEN		72
-#define	ALPHANUMERIC_KEYS	73
-#define	MODIFIER_KEYS		74
-#define	KEYPAD_KEYS		75
-#define	FUNCTION_KEYS		76
-#define	ALTERNATE_GROUP		77
-
-extern uint32_t tok_ONE_LEVEL;
-extern uint32_t tok_TWO_LEVEL;
-extern uint32_t tok_KEYPAD;
-
-#endif
diff --git a/src/xkbcomp/xkbscan.l b/src/xkbcomp/xkbscan.l
index 84fc200..adf03db 100644
--- a/src/xkbcomp/xkbscan.l
+++ b/src/xkbcomp/xkbscan.l
@@ -30,9 +30,9 @@
 #include <ctype.h>
 #include <X11/Xos.h>
 
-#include "tokens.h"
 #include "utils.h"
 #include "parseutils.h"
+#include "xkbparse.h"
 
 char *scanFile = NULL;
 int lineNum = 0;
-- 
1.7.9.2



More information about the xorg-devel mailing list