aboutsummaryrefslogtreecommitdiffstats
path: root/libical/src/libicalss/icalssyacc.y
diff options
context:
space:
mode:
Diffstat (limited to 'libical/src/libicalss/icalssyacc.y')
-rw-r--r--libical/src/libicalss/icalssyacc.y37
1 files changed, 17 insertions, 20 deletions
diff --git a/libical/src/libicalss/icalssyacc.y b/libical/src/libicalss/icalssyacc.y
index 224841f520..85ee6c64c5 100644
--- a/libical/src/libicalss/icalssyacc.y
+++ b/libical/src/libicalss/icalssyacc.y
@@ -1,5 +1,3 @@
-%pure_parser
-
%{
/* -*- Mode: C -*-
======================================================================
@@ -8,7 +6,7 @@
DESCRIPTION:
- $Id: icalssyacc.y,v 1.2 2003/09/11 22:04:30 hansp Exp $
+ $Id: icalssyacc.y,v 1.3 2003/09/24 02:06:52 hansp Exp $
$Locker: $
(C) COPYRIGHT 2000, Eric Busboom, http://www.softwarestudio.org
@@ -36,12 +34,11 @@
#include "icalgauge.h"
#include "icalgaugeimpl.h"
+extern struct icalgauge_impl *icalss_yy_gauge;
#define YYPARSE_PARAM yy_globals
#define YYLEX_PARAM yy_globals
#define YY_EXTRA_TYPE icalgauge_impl*
- /* ick...*/
-#define yyextra ((struct icalgauge_impl*)ssget_extra(yy_globals))
static void ssyacc_add_where(struct icalgauge_impl* impl, char* prop,
@@ -73,32 +70,32 @@ query_min: SELECT select_list FROM from_list WHERE where_list
;
select_list:
- STRING {ssyacc_add_select(yyextra,$1);}
- | select_list COMMA STRING {ssyacc_add_select(yyextra,$3);}
+ STRING {ssyacc_add_select(icalss_yy_gauge,$1);}
+ | select_list COMMA STRING {ssyacc_add_select(icalss_yy_gauge,$3);}
;
from_list:
- STRING {ssyacc_add_from(yyextra,$1);}
- | from_list COMMA STRING {ssyacc_add_from(yyextra,$3);}
+ STRING {ssyacc_add_from(icalss_yy_gauge,$1);}
+ | from_list COMMA STRING {ssyacc_add_from(icalss_yy_gauge,$3);}
;
where_clause:
/* Empty */
- | STRING EQUALS STRING {ssyacc_add_where(yyextra,$1,ICALGAUGECOMPARE_EQUAL,$3); }
- | STRING IS SQLNULL {ssyacc_add_where(yyextra,$1,ICALGAUGECOMPARE_ISNULL,""); }
- | STRING IS NOT SQLNULL {ssyacc_add_where(yyextra,$1,ICALGAUGECOMPARE_ISNOTNULL,""); }
- | STRING NOTEQUALS STRING {ssyacc_add_where(yyextra,$1,ICALGAUGECOMPARE_NOTEQUAL,$3); }
- | STRING LESS STRING {ssyacc_add_where(yyextra,$1,ICALGAUGECOMPARE_LESS,$3); }
- | STRING GREATER STRING {ssyacc_add_where(yyextra,$1,ICALGAUGECOMPARE_GREATER,$3); }
- | STRING LESSEQUALS STRING {ssyacc_add_where(yyextra,$1,ICALGAUGECOMPARE_LESSEQUAL,$3); }
- | STRING GREATEREQUALS STRING {ssyacc_add_where(yyextra,$1,ICALGAUGECOMPARE_GREATEREQUAL,$3); }
+ | STRING EQUALS STRING {ssyacc_add_where(icalss_yy_gauge,$1,ICALGAUGECOMPARE_EQUAL,$3); }
+ | STRING IS SQLNULL {ssyacc_add_where(icalss_yy_gauge,$1,ICALGAUGECOMPARE_ISNULL,""); }
+ | STRING IS NOT SQLNULL {ssyacc_add_where(icalss_yy_gauge,$1,ICALGAUGECOMPARE_ISNOTNULL,""); }
+ | STRING NOTEQUALS STRING {ssyacc_add_where(icalss_yy_gauge,$1,ICALGAUGECOMPARE_NOTEQUAL,$3); }
+ | STRING LESS STRING {ssyacc_add_where(icalss_yy_gauge,$1,ICALGAUGECOMPARE_LESS,$3); }
+ | STRING GREATER STRING {ssyacc_add_where(icalss_yy_gauge,$1,ICALGAUGECOMPARE_GREATER,$3); }
+ | STRING LESSEQUALS STRING {ssyacc_add_where(icalss_yy_gauge,$1,ICALGAUGECOMPARE_LESSEQUAL,$3); }
+ | STRING GREATEREQUALS STRING {ssyacc_add_where(icalss_yy_gauge,$1,ICALGAUGECOMPARE_GREATEREQUAL,$3); }
;
where_list:
- where_clause {set_logic(yyextra,ICALGAUGELOGIC_NONE);}
- | where_list AND where_clause {set_logic(yyextra,ICALGAUGELOGIC_AND);}
- | where_list OR where_clause {set_logic(yyextra,ICALGAUGELOGIC_OR);}
+ where_clause {set_logic(icalss_yy_gauge,ICALGAUGELOGIC_NONE);}
+ | where_list AND where_clause {set_logic(icalss_yy_gauge,ICALGAUGELOGIC_AND);}
+ | where_list OR where_clause {set_logic(icalss_yy_gauge,ICALGAUGELOGIC_OR);}
;