/** 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);
|