diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-04-02 19:25:41 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-04-02 19:25:41 +0000 |
| commit | 67bbd6970ce0b807397e5ecb3255982d7b1cc617 (patch) | |
| tree | 6f537f3f61f7ef1d7474b20f0db91d6c2dbe5186 /openbox/parse.yacc | |
| parent | fadc760c66ebc0d76b3a4b827ac488c19b252d77 (diff) | |
rename the parse.yacc to parse.y
Diffstat (limited to 'openbox/parse.yacc')
| -rw-r--r-- | openbox/parse.yacc | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/openbox/parse.yacc b/openbox/parse.yacc deleted file mode 100644 index e9b469e0..00000000 --- a/openbox/parse.yacc +++ /dev/null @@ -1,98 +0,0 @@ -%{ -#include "parse.h" -#ifdef HAVE_STDIO_H -# include <stdio.h> -#endif - -extern int yylex(); - -extern int yylineno; -extern FILE *yyin; - -static char *path; -static union ParseToken t; - -/* in parse.c */ -void parse_token(ParseTokenType type, union ParseToken token); -void parse_set_section(char *section); -%} - -%union ParseToken { - float real; - int integer; - char *string; - char *identifier; - gboolean bool; - char character; -} - -%token <real> REAL -%token <integer> INTEGER -%token <string> STRING -%token <identifier> IDENTIFIER -%token <bool> BOOL -%token <character> '(' -%token <character> ')' -%token <character> '{' -%token <character> '}' -%token <character> '=' -%token <character> ',' -%token <character> '\n' -%token INVALID - -%% - -sections: - | sections '[' IDENTIFIER ']' { parse_set_section($3); } '\n' lines - ; - -lines: - | lines tokens '\n' { t.character = $3; parse_token(TOKEN_NEWLINE, t); } - ; - -tokens: - tokens token - | token - ; - -token: - REAL { t.real = $1; parse_token(TOKEN_REAL, t); } - | INTEGER { t.integer = $1; parse_token(TOKEN_INTEGER, t); } - | STRING { t.string = $1; parse_token(TOKEN_STRING, t); } - | IDENTIFIER { t.identifier = $1; parse_token(TOKEN_IDENTIFIER, t); } - | BOOL { t.bool = $1; parse_token(TOKEN_BOOL, t); } - | '(' { t.character = $1; parse_token(TOKEN_LBRACKET, t); } - | ')' { t.character = $1; parse_token(TOKEN_RBRACKET, t); } - | '{' { t.character = $1; parse_token(TOKEN_LBRACE, t); } - | '}' { t.character = $1; parse_token(TOKEN_RBRACE, t); } - | '=' { t.character = $1; parse_token(TOKEN_EQUALS, t); } - | ',' { t.character = $1; parse_token(TOKEN_COMMA, t); } - ; - -%% - -void yyerror(char *err) { - g_message("%s:%d: %s", path, yylineno, err); -} - -void parse_rc() -{ - /* try the user's rc */ - path = g_build_filename(g_get_home_dir(), ".openbox", "rc3", NULL); - if ((yyin = fopen(path, "r")) == NULL) { - g_free(path); - /* try the system wide rc */ - path = g_build_filename(RCDIR, "rc3", NULL); - if ((yyin = fopen(path, "r")) == NULL) { - g_warning("No rc2 file found!"); - g_free(path); - return; - } - } - - yylineno = 1; - - yyparse(); - - g_free(path); -} |
