/** defines the type to store content of each token */ #define YYSTYPE ConfigString typedef char * ConfigString; /** yacc's main function that does all the parsing */ int yyparse(void); /** enum to define yyparse return code */ enum { CONFIG_YACC_SUCCESS = 0, CONFIG_YACC_FAIL = 1 }; /** sets the current rule's path */ void config_set_currentpath(char *path); /** push the setting onto stack */ bool config_push_setting(char *rule, char *setting); /** tells config that current rule is done */ void config_rule_end(void); /** tells config to pop two rules up and push as an || rule */ void config_or_setting(void); /** tells config to pop two rules up and push as an && rule */ void config_and_setting(void);