]> git.draconx.ca Git - gob-dx.git/blobdiff - src/parse.y
Release 0.0.4
[gob-dx.git] / src / parse.y
index b718cdc9d417650a2d4c1646fa3370773f29a277..77e5692bdf18dca67ba51c459f47429d47d05eb5 100644 (file)
@@ -500,8 +500,7 @@ method:             SIGNAL TOKEN sigtype type TOKEN '(' funcargs ')' onerror '{' CCODE {
                                                }
        ;
        
-onerror:       ONERROR TOKEN           { $<id>$ = $<id>2; }
-       |       ONERROR number          { $<id>$ = $<id>2; }
+onerror:       ONERROR numtok          { $<id>$ = $<id>2; }
        |       ONERROR '{' CCODE       {
                        $<id>$ = ($<cbuf>3)->str;
                        g_string_free($<cbuf>3,FALSE);
@@ -570,37 +569,38 @@ check:            TOKEN                   {
                        }
                        g_free($<id>1);
                                        }
-       |       '>' number              {
+       |       '>' numtok              {
                        Node *node = new_check(GT_CHECK,$<id>2);
                        checks = g_list_append(checks,node);
                                        }
-       |       '<' number              {
+       |       '<' numtok              {
                        Node *node = new_check(LT_CHECK,$<id>2);
                        checks = g_list_append(checks,node);
                                        }
-       |       '>' '=' number          {
+       |       '>' '=' numtok          {
                        Node *node = new_check(GE_CHECK,$<id>3);
                        checks = g_list_append(checks,node);
                                        }
-       |       '<' '=' number          {
+       |       '<' '=' numtok          {
                        Node *node = new_check(LE_CHECK,$<id>3);
                        checks = g_list_append(checks,node);
                                        }
-       |       '=' '=' number          {
+       |       '=' '=' numtok          {
                        Node *node = new_check(EQ_CHECK,$<id>3);
                        checks = g_list_append(checks,node);
                                        }
-       |       '!' '=' number          {
+       |       '!' '=' numtok          {
                        Node *node = new_check(NE_CHECK,$<id>3);
                        checks = g_list_append(checks,node);
                                        }
        ;
        
-number:                NUMBER                  { $<id>$ = $<id>1; }
+numtok:                NUMBER                  { $<id>$ = $<id>1; }
        |       '-' NUMBER              {
                        $<id>$ = g_strconcat("-",$<id>2,NULL);
                        g_free($<id>2);
                                        }
+       |       TOKEN                   { $<id>$ = $<id>1; }
        ;
        
 %%