From 1913bf0e5c9ee58497b1c058e4498ed72b03d85e Mon Sep 17 00:00:00 2001 From: Mateusz Poszwa Date: Thu, 4 Aug 2011 17:12:54 +0200 Subject: [PATCH] Add "instance" to matching criteria --- src/cfgparse.l | 1 + src/cfgparse.y | 6 ++++++ src/cmdparse.l | 1 + src/cmdparse.y | 6 ++++++ 4 files changed, 14 insertions(+) diff --git a/src/cfgparse.l b/src/cfgparse.l index 2e1d240a..4cf1a1c3 100644 --- a/src/cfgparse.l +++ b/src/cfgparse.l @@ -167,6 +167,7 @@ ctrl { return TOKCONTROL; } 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; } diff --git a/src/cfgparse.y b/src/cfgparse.y index 38f306e9..59b22c6c 100644 --- a/src/cfgparse.y +++ b/src/cfgparse.y @@ -547,6 +547,7 @@ void parse_file(const char *f) { %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" @@ -694,6 +695,11 @@ criterion: 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); diff --git a/src/cmdparse.l b/src/cmdparse.l index 898416c2..6c756b0d 100644 --- a/src/cmdparse.l +++ b/src/cmdparse.l @@ -153,6 +153,7 @@ false { return TOK_DISABLE; } 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; } diff --git a/src/cmdparse.y b/src/cmdparse.y index e115f3e5..32558f2e 100644 --- a/src/cmdparse.y +++ b/src/cmdparse.y @@ -175,6 +175,7 @@ bool definitelyGreaterThan(float a, float b, float epsilon) { %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" @@ -300,6 +301,11 @@ criterion: 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);