summaryrefslogtreecommitdiff
path: root/src/xkbcomp/ast-build.h
diff options
context:
space:
mode:
authorRan Benita <ran234@gmail.com>2013-11-27 13:49:13 +0200
committerRan Benita <ran234@gmail.com>2013-11-27 13:52:54 +0200
commit9dc5b8cb6097c5bfd61dbe6a17b59aa8fe9638e5 (patch)
treea5944d0ed8308e52dc89b0831efa3dc5b0f0f4d1 /src/xkbcomp/ast-build.h
parentba7530fa90795e077e685346444ebe3a3c1595ee (diff)
downloadlibxkbcommon-9dc5b8cb6097c5bfd61dbe6a17b59aa8fe9638e5.tar.gz
libxkbcommon-9dc5b8cb6097c5bfd61dbe6a17b59aa8fe9638e5.tar.bz2
libxkbcommon-9dc5b8cb6097c5bfd61dbe6a17b59aa8fe9638e5.zip
Resolve keysyms early in parser
Instead of having the parser passing strings to the AST, and symbols/compat etc. resolving them themselves. This simplifies the code a bit, and makes it possible to print where exactly in the file the bad keysym originates from. The previous lazy approach had an advantage of not needlessly resolving keysyms from unrelated maps. However, I think reporting these errors in *any* map is better, and the parser is also a bit smarter then old xkbcomp and doesn't parse many useless maps. So there's no discernible speed/memory difference with this change. Signed-off-by: Ran Benita <ran234@gmail.com>
Diffstat (limited to 'src/xkbcomp/ast-build.h')
-rw-r--r--src/xkbcomp/ast-build.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/xkbcomp/ast-build.h b/src/xkbcomp/ast-build.h
index 4340c8c..4413f88 100644
--- a/src/xkbcomp/ast-build.h
+++ b/src/xkbcomp/ast-build.h
@@ -56,7 +56,7 @@ VarDef *
BoolVarCreate(xkb_atom_t nameToken, unsigned set);
InterpDef *
-InterpCreate(char *sym, ExprDef *match);
+InterpCreate(xkb_keysym_t sym, ExprDef *match);
KeyTypeDef *
KeyTypeCreate(xkb_atom_t name, VarDef *body);
@@ -83,13 +83,13 @@ ExprDef *
CreateMultiKeysymList(ExprDef *list);
ExprDef *
-CreateKeysymList(char *sym);
+CreateKeysymList(xkb_keysym_t sym);
ExprDef *
AppendMultiKeysymList(ExprDef *list, ExprDef *append);
ExprDef *
-AppendKeysymList(ExprDef *list, char *sym);
+AppendKeysymList(ExprDef *list, xkb_keysym_t sym);
IncludeStmt *
IncludeCreate(struct xkb_context *ctx, char *str, enum merge_mode merge);