shift { return TOKSHIFT; }
class { yy_push_state(WANT_QSTRING); return TOK_CLASS; }
+instance { yy_push_state(WANT_QSTRING); return TOK_INSTANCE; }
id { yy_push_state(WANT_QSTRING); return TOK_ID; }
con_id { yy_push_state(WANT_QSTRING); return TOK_CON_ID; }
con_mark { yy_push_state(WANT_QSTRING); return TOK_MARK; }
%token TOK_MARK "mark"
%token TOK_CLASS "class"
+%token TOK_INSTANCE "instance"
%token TOK_ID "id"
%token TOK_CON_ID "con_id"
%token TOK_TITLE "title"
printf("criteria: class = %s\n", $3);
current_match.class = $3;
}
+ | TOK_INSTANCE '=' STR
+ {
+ printf("criteria: instance = %s\n", $3);
+ current_match.instance = $3;
+ }
| TOK_CON_ID '=' STR
{
printf("criteria: id = %s\n", $3);
no { return TOK_DISABLE; }
class { BEGIN(WANT_QSTRING); return TOK_CLASS; }
+instance { BEGIN(WANT_QSTRING); return TOK_INSTANCE; }
id { BEGIN(WANT_QSTRING); return TOK_ID; }
con_id { BEGIN(WANT_QSTRING); return TOK_CON_ID; }
con_mark { BEGIN(WANT_QSTRING); return TOK_MARK; }
%token TOK_NOP "nop"
%token TOK_CLASS "class"
+%token TOK_INSTANCE "instance"
%token TOK_ID "id"
%token TOK_CON_ID "con_id"
%token TOK_TITLE "title"
printf("criteria: class = %s\n", $3);
current_match.class = $3;
}
+ | TOK_INSTANCE '=' STR
+ {
+ printf("criteria: instance = %s\n", $3);
+ current_match.instance = $3;
+ }
| TOK_CON_ID '=' STR
{
printf("criteria: id = %s\n", $3);