X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Fparse.h;h=bd6c03f8bfe01ad2866edd824097bbdafd6e3b03;hb=aeb6d817eda0365ac4824b8942f943c4b8e39a51;hp=1b72667d0597c3ac11efb8d9f5b7b250d433182d;hpb=87fbee961fcf302ed92cbc2681375a3bea9ce713;p=chaz%2Fopenbox diff --git a/openbox/parse.h b/openbox/parse.h index 1b72667d..bd6c03f8 100644 --- a/openbox/parse.h +++ b/openbox/parse.h @@ -2,16 +2,15 @@ #define __parse_h #include -#include "y.tab.h" +#include "parse.tab.h" typedef enum { - TOKEN_REAL, - TOKEN_INTEGER, - TOKEN_STRING, - TOKEN_IDENTIFIER, - TOKEN_BOOL, - TOKEN_LBRACKET = '(', - TOKEN_RBRACKET = ')', + TOKEN_REAL = REAL, + TOKEN_INTEGER = INTEGER, + TOKEN_STRING = STRING, + TOKEN_IDENTIFIER = IDENTIFIER, + TOKEN_BOOL = BOOL, + TOKEN_LIST, TOKEN_LBRACE = '{', TOKEN_RBRACE = '}', TOKEN_EQUALS = '=', @@ -19,7 +18,12 @@ typedef enum { TOKEN_NEWLINE = '\n' } ParseTokenType; -typedef void (*ParseFunc)(ParseTokenType type, union ParseToken token); +typedef struct { + ParseTokenType type; + union ParseTokenData data; +} ParseToken; + +typedef void (*ParseFunc)(ParseToken *token); void parse_startup(); void parse_shutdown(); @@ -33,7 +37,7 @@ void parse_reg_section(char *section, ParseFunc func); /* Free a parsed token's allocated memory */ -void parse_free_token(ParseTokenType type, union ParseToken token); +void parse_free_token(ParseToken *token); /* Display an error message while parsing. found in parse.yacc */