summaryrefslogtreecommitdiff
path: root/openbox/parse.h
diff options
context:
space:
mode:
Diffstat (limited to 'openbox/parse.h')
-rw-r--r--openbox/parse.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/openbox/parse.h b/openbox/parse.h
new file mode 100644
index 00000000..3c649db1
--- /dev/null
+++ b/openbox/parse.h
@@ -0,0 +1,42 @@
+#ifndef __parse_h
+#define __parse_h
+
+#include <glib.h>
+#include "y.tab.h"
+
+typedef enum {
+ TOKEN_REAL = REAL,
+ TOKEN_INTEGER = INTEGER,
+ TOKEN_STRING = STRING,
+ TOKEN_IDENTIFIER = IDENTIFIER,
+ TOKEN_BOOL = BOOL,
+ TOKEN_LBRACKET = '(',
+ TOKEN_RBRACKET = ')',
+ TOKEN_LBRACE = '{',
+ TOKEN_RBRACE = '}',
+ TOKEN_EQUALS = '=',
+ TOKEN_COMMA = ',',
+ TOKEN_NEWLINE = '\n'
+} ParseTokenType;
+
+typedef void (*ParseFunc)(ParseTokenType type, union ParseToken token);
+
+void parse_startup();
+void parse_shutdown();
+
+/* Parse the RC file
+ found in parse.yacc
+*/
+void parse_rc();
+
+void parse_reg_section(char *section, ParseFunc func);
+
+
+/* Free a parsed token's allocated memory */
+void parse_free_token(ParseTokenType type, union ParseToken token);
+
+/* Display an error message while parsing.
+ found in parse.yacc */
+void yyerror(char *err);
+
+#endif