Update of /cvsroot/monetdb/pathfinder/compiler/core
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv11560
Modified Files:
core.c coreopt.brg fs.brg simplify.brg
Log Message:
undo XQuery Fulltext checkin in HEAD. Updates are now in XQFT branch
Index: core.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/core/core.c,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -d -r1.69 -r1.70
--- core.c 5 Nov 2009 16:23:58 -0000 1.69
+++ core.c 10 Nov 2009 09:44:16 -0000 1.70
@@ -614,7 +614,6 @@
* @param bindvar variable bound in the for clause
* @param pos positional variable
*/
-
PFcnode_t *
PFcore_forvars (const PFcnode_t *bindvar, const PFcnode_t *pos)
{
@@ -625,23 +624,6 @@
}
/**
- * Variables bound in a for clause with score variable
- *
- * @param bindvar variable bound in the for clause
- * @param pos positional variable
- * @param score full-text score variable
- */
-PFcnode_t *
-PFcore_forvars2 (const PFcnode_t *bindvar, const PFcnode_t *pos, const
PFcnode_t *score)
-{
- assert (bindvar); assert (bindvar->kind == c_var);
- assert (pos); assert (pos->kind == c_var || pos->kind == c_nil);
- assert (score); assert (score->kind == c_var || score->kind == c_nil);
-
- return PFcore_wire2 (c_forvars, bindvar, PFcore_wire2(c_vars, pos, score));
-}
-
-/**
* Create a core tree node representing a let binding:
*
* let v := e1 return e2
@@ -1687,26 +1669,20 @@
PFcnode_t *
PFcore_some (const PFcnode_t *v, const PFcnode_t *expr, const PFcnode_t *qExpr)
{
+ PFfun_t *fn_exists = PFcore_function (PFqname (PFns_fn, "exists"));
- PFfun_t *fn_not = PFcore_function (PFqname (PFns_fn, "not"));
- PFfun_t *fn_empty = PFcore_function (PFqname (PFns_fn, "empty"));
-
- return APPLY (fn_not,
- APPLY (fn_empty,
- PFcore_flwr (
- PFcore_for (
- PFcore_forbind (
- PFcore_forvars (
- v,
- PFcore_nil ()),
- expr),
- PFcore_nil ()),
- PFcore_if
- (PFcore_ebv (qExpr),
- PFcore_then_else (
- PFcore_num (1),
- PFcore_empty ())))));
-
+ return APPLY (fn_exists,
+ PFcore_flwr (
+ PFcore_for (
+ PFcore_forbind (
+ PFcore_forvars (
+ v,
+ PFcore_nil ()),
+ expr),
+ PFcore_nil ()),
+ PFcore_where (
+ PFcore_ebv (qExpr),
+ PFcore_num (1))));
}
/**
Index: simplify.brg
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/core/simplify.brg,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- simplify.brg 5 Nov 2009 16:23:58 -0000 1.45
+++ simplify.brg 10 Nov 2009 09:44:16 -0000 1.46
@@ -221,9 +221,6 @@
/* Pathfinder extension: XRPC */
%term xrpc = 76 /**< XRPC calls: "execute at" */
- /* Associated For variable holders */
-%term vars = 77 /**< variable pair (position. var + score. var)
of a for */
-
%%
Query: main (FunctionDecls, CoreExpr) = 1 (10);
@@ -233,7 +230,7 @@
CoreExpr: flwr (OptBindExpr, WhereExpr) = 32 (10);
CoreExpr: flwr (OptBindExpr, OrdWhereExpr) = 33 (10);
-
+
OptBindExpr: for_ (forbind (forvars (var, nil),
LiteralValue),
OptBindExpr) = 2 (10);
@@ -381,20 +378,6 @@
/* Pathfinder extension: XRPC */
CoreExpr: xrpc (CoreExpr, FunExpr) = 124 (10);
-/* full-text score variable extension */
-OptBindExpr: for_ (forbind (forvars (var,
- vars (nil, OptVar)),
- LiteralValue),
- OptBindExpr) = 125 (10);
-OptBindExpr: for_ (forbind (forvars (var,
- vars (var, OptVar)),
- LiteralValue),
- OptBindExpr) = 126 (10);
-OptBindExpr: for_ (forbind (forvars (var, vars(
- OptVar, OptVar)),
- CoreExpr),
- OptBindExpr) = 127 (10);
-
%%
/** Maximum number of pattern leaves */
@@ -736,27 +719,6 @@
*/
p->sem.fun->core = R(p);
break;
-
- /* OptBindExpr: for_ (forbind (forvars (var,
- vars (nil, var)),
- LiteralValue),
- OptBindExpr) */
- case 125:
- *p = *let (letbind (LLL(p), LR(p)), R(p));
- relabel (p, kids);
- rewrite_again = true;
- break;
-
- /* OptBindExpr: for_ (forbind (forvars (var, vars(
- var, var)),
- LiteralValue),
- OptBindExpr) */
- case 126:
- *p = *let (letbind (LLL(p), LR(p)),
- let (letbind (LLRL(p), num (1)), R(p)));
- relabel (p, kids);
- rewrite_again = true;
- break;
default:
break;
Index: coreopt.brg
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/core/coreopt.brg,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -d -r1.78 -r1.79
--- coreopt.brg 5 Nov 2009 16:23:58 -0000 1.78
+++ coreopt.brg 10 Nov 2009 09:44:16 -0000 1.79
@@ -222,9 +222,6 @@
/* Pathfinder extension: XRPC */
%term xrpc = 76 /**< XRPC calls: "execute at" */
- /* Associated For variable holders */
-%term vars = 77 /**< variable pair (position. var + score. var)
of a for */
-
%%
/* all rules starting from rule 40 are never used
@@ -247,7 +244,7 @@
OptBindExpr: for_ (forbind (forvars (var, OptVar),
CoreExpr),
OptBindExpr) = 5 (10);
-
+
OptVar: nil = 42(10);
OptVar: var = 43(10);
@@ -386,19 +383,6 @@
/* Pathfinder extension: XRPC */
CoreExpr: xrpc (CoreExpr, FunExpr) = 116(10);
-/* Pathfinder full-text score var */
-CoreExpr: flwr (for_ (forbind (forvars (var,
-
vars (nil, nil)),
- CoreExpr),
- nil), var) = 117 (10);
-
-OptBindExpr: for_ (forbind (forvars (var,
- vars (OptVar,
- OptVar)
- ),
- CoreExpr),
- OptBindExpr) = 118 (10);
-
%%
/** Type of a core tree node */
@@ -1157,7 +1141,7 @@
*p = *LL(p);
TY(p) = ty;
rewritten = true;
- break;
+ break;
}
}
@@ -1559,56 +1543,6 @@
break;
}
break;
-
- /* CoreExpr: flwr (for_ (forbind (forvars (var,
-
vars (nil, nil)),
- CoreExpr),
- nil), var) */
- case 117:
- /* replace for loops of the form
- 'for $a in ... return $a' by its input '...' */
- if (LLLL(p)->sem.var == R(p)->sem.var) {
- *p = *LLR(p);
- relabel (p, kids);
- rewritten = true;
- }
- break;
-
- /* OptBindExpr: for_ (forbind (forvars (var,
- vars (OptVar,
- OptVar)
- ),
- CoreExpr),
- OptBindExpr) */
- case 118:
- /*
- * If we iterate over a sequence that we know (from static
- * typing) to always have length 1, replace the `for' by
- * a corresponding `let'.
- */
- if (PFty_subtype (TY(LR(p)), PFty_xs_anyItem ())) {
-
- PFcnode_t *c = R(p);
-
- if (LLRL(p)->kind != c_nil )
- c = let (letbind (LLRL(p), num (1)), c);
-
- *p = *let (letbind (LLL(p), LR(p)), c);
-
- /* type-check what we just created */
- PFty_check (flwr (p, num(1)));
-
- rewritten = true;
-
- /*
- * Re-label entire subtree. Type-checking may have
- * modified all the state labels in the subtree, so
- * we have to restore them.
- */
- PFcoreopt_label (p);
- break;
- }
- break;
default:
break;
@@ -1728,32 +1662,8 @@
/* a for loop increases the nesting depth */
base++;
-
- if (LLR(c)->kind == c_vars) {
- if (LLRL(c)->kind == c_var) {
- /* add variable to the environment */
- *((bind_t *) PFarray_add (unused_var_env))
- = (bind_t) { .var = LLRL(c)->sem.var,
- .atom = parent,
- .child = child };
- /* reset reference counter */
- LLRL(c)->sem.var->used = 0;
- /* record the current scope */
- LLRL(c)->sem.var->base = base;
- }
-
- if (LLRR(c)->kind == c_var) {
- /* add variable to the environment */
- *((bind_t *) PFarray_add (unused_var_env))
- = (bind_t) { .var = LLRR(c)->sem.var,
- .atom = parent,
- .child = child };
- /* reset reference counter */
- LLRR(c)->sem.var->used = 0;
- /* record the current scope */
- LLRR(c)->sem.var->base = base;
- }
- } else if (LLR(c)-> kind == c_var) {
+
+ if (LLR(c)->kind == c_var) {
/* add variable to the environment */
*((bind_t *) PFarray_add (unused_var_env))
= (bind_t) { .var = LLR(c)->sem.var,
@@ -1881,18 +1791,7 @@
unused_var = true;
} else if (n->kind == c_for) {
- if(LLR(n)->kind == c_var)
- LLR(n) = nil();
- else {
- if(LLRL(n)->sem.var == var)
- LLRL(n) = nil ();
- else
- LLRR(n) = nil ();
- if(LLRL(n)->kind == c_nil && LLRR(n)->kind == c_nil)
- LLR(n) = nil();
- else if(LLRR(n)->kind == c_nil)
- LLR(n) = LLRL(n);
- }
+ LLR(n) = nil ();
unused_var = true;
}
} else if (var->used == 1 && n->kind == c_let)
Index: fs.brg
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/core/fs.brg,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -d -r1.79 -r1.80
--- fs.brg 5 Nov 2009 16:23:58 -0000 1.79
+++ fs.brg 10 Nov 2009 09:44:16 -0000 1.80
@@ -46,7 +46,6 @@
#include "abssyn.h"
#include "qname.h"
#include "mem.h"
-
#include "options.h" /* extract option declarations from parse tree */
#include "string_utils.h" /* trimming for pragmas */
@@ -221,13 +220,6 @@
%term seed = 128
%term xrpc = 129
%term docmgmt_ty = 130
-%term ftcontains = 131
-%term ftfilter = 132
-%term ftignore = 133
-%term ftor = 134
-%term ftand = 135
-%term ftmildnot = 136
-%term ftnot = 137
%%
@@ -363,7 +355,7 @@
OptPosVar),
OptExpr),
OptBindExpr) = 66 (10);
-
+
OptPosVar: nil = 68 (10);
OptPosVar: Var = 69 (10);
@@ -447,22 +439,22 @@
AndExpr: ComparisonExpr = 104 (10);
AndExpr: and (ComparisonExpr, AndExpr) = 105 (10);
-ComparisonExpr: FTContainsExpr = 106 (10);
-ComparisonExpr: eq (FTContainsExpr, FTContainsExpr) = 107 (10);
-ComparisonExpr: ne (FTContainsExpr, FTContainsExpr) = 108 (10);
-ComparisonExpr: lt (FTContainsExpr, FTContainsExpr) = 109 (10);
-ComparisonExpr: le (FTContainsExpr, FTContainsExpr) = 110 (10);
-ComparisonExpr: gt (FTContainsExpr, FTContainsExpr) = 111 (10);
-ComparisonExpr: ge (FTContainsExpr, FTContainsExpr) = 112 (10);
-ComparisonExpr: val_eq (FTContainsExpr, FTContainsExpr) = 113 (10);
-ComparisonExpr: val_ne (FTContainsExpr, FTContainsExpr) = 114 (10);
-ComparisonExpr: val_lt (FTContainsExpr, FTContainsExpr) = 115 (10);
-ComparisonExpr: val_le (FTContainsExpr, FTContainsExpr) = 116 (10);
-ComparisonExpr: val_gt (FTContainsExpr, FTContainsExpr) = 117 (10);
-ComparisonExpr: val_ge (FTContainsExpr, FTContainsExpr) = 118 (10);
-ComparisonExpr: is (FTContainsExpr, FTContainsExpr) = 119 (10);
-ComparisonExpr: ltlt (FTContainsExpr, FTContainsExpr) = 121 (10);
-ComparisonExpr: gtgt (FTContainsExpr, FTContainsExpr) = 122 (10);
+ComparisonExpr: RangeExpr = 106 (10);
+ComparisonExpr: eq (RangeExpr, RangeExpr) = 107 (10);
+ComparisonExpr: ne (RangeExpr, RangeExpr) = 108 (10);
+ComparisonExpr: lt (RangeExpr, RangeExpr) = 109 (10);
+ComparisonExpr: le (RangeExpr, RangeExpr) = 110 (10);
+ComparisonExpr: gt (RangeExpr, RangeExpr) = 111 (10);
+ComparisonExpr: ge (RangeExpr, RangeExpr) = 112 (10);
+ComparisonExpr: val_eq (RangeExpr, RangeExpr) = 113 (10);
+ComparisonExpr: val_ne (RangeExpr, RangeExpr) = 114 (10);
+ComparisonExpr: val_lt (RangeExpr, RangeExpr) = 115 (10);
+ComparisonExpr: val_le (RangeExpr, RangeExpr) = 116 (10);
+ComparisonExpr: val_gt (RangeExpr, RangeExpr) = 117 (10);
+ComparisonExpr: val_ge (RangeExpr, RangeExpr) = 118 (10);
+ComparisonExpr: is (RangeExpr, RangeExpr) = 119 (10);
+ComparisonExpr: ltlt (RangeExpr, RangeExpr) = 121 (10);
+ComparisonExpr: gtgt (RangeExpr, RangeExpr) = 122 (10);
RangeExpr: AdditiveExpr = 123 (10);
RangeExpr: range (RangeExpr, RangeExpr) = 124 (10);
@@ -642,58 +634,6 @@
/* Pathfinder extension: statement type for document management functions */
SequenceType: seq_ty (docmgmt_ty (nil)) = 238 (10);
-/* Pathfinder full-text support */
-FTContainsExpr: RangeExpr = 239 (10);
-FTContainsExpr: ftcontains (RangeExpr, FTSelectionExpr) = 240 (10);
-FTContainsExpr: ftcontains (RangeExpr, FTFilterExpr) = 241 (10);
-
-OptBindExpr: binds (bind (vars (vars (var_type (Var,
- nil),
- OptPosVar),
- OptFTScoreVar),
- OptExpr),
- OptBindExpr) = 242 (10);
-OptBindExpr: binds (bind (vars (vars (var_type
- (Var,
- TypeDeclaration),
- OptPosVar),
- OptFTScoreVar),
- OptExpr),
- OptBindExpr) = 243 (10);
-
-OptFTScoreVar: nil = 244 (10);
-OptFTScoreVar: Var = 245 (10);
-
-FTFilterExpr: ftfilter (FTSelectionExpr,
- FTIgnoreOption) = 246 (10);
-FTIgnoreOption: ftignore (UnionExpr) = 247 (10);
-
-FTSelectionExpr: FTOrExpr = 248 (10);
-
-FTOrExpr: FTAndExpr = 249 (10);
-FTOrExpr: ftor (FTOrExpr, FTAndExpr) = 250 (10);
-
-FTAndExpr: FTMildNot = 251 (10);
-FTAndExpr: ftand (FTAndExpr, FTMildNot) = 252 (10);
-
-FTMildNot: FTUnaryNot = 253 (10);
-FTMildNot: ftmildnot (FTMildNot, FTUnaryNot) = 254 (10);
-
-FTUnaryNot: FTPrimaryWithOptions = 255 (10);
-FTUnaryNot: ftnot (FTPrimaryWithOptions) = 256 (10);
-
-FTPrimaryWithOptions: FTPrimaryExpr = 257 (10);
-
-FTPrimaryExpr: FTWordsExpr = 258 (10);
-FTPrimaryExpr: FTSelectionExpr = 259 (10);
-
-FTWordsExpr: FTWordsValueExpr = 260 (10);
-
-FTWordsValueExpr: Literal = 261 (10);
-
-OptBindExpr: binds (let (Var, OptExpr),
- OptBindExpr) = 262 (10);
-
%%
/** Access the Core representation of any node */
@@ -1506,7 +1446,7 @@
C(R(p))));
} break;
-
+
/* OptBindExpr: binds (bind (vars (var_type (Var,
nil),
OptPosVar),
@@ -3966,156 +3906,6 @@
C(p) = seqtype (PFty_star (PFty_docmgmt ()));
break;
- /* FTContainsExpr: RangeExpr */
- case 239:
- break;
-
- /* FTContainsExpr: ftcontains (RangeExpr, FTSelectionExpr) */
- case 240:
- {
- PFfun_t *op_ftcontains = function (PFqname (PFns_fts,
"ftcontains"));
- two_arg_fun_worker (p, op_ftcontains);
-
- } break;
-
- /* FTContainsExpr: ftcontains (RangeExpr, FTFilterExpr) */
- case 241:
- break;
-
- /* OptBindExpr: binds (bind (vars (vars (var_type (Var,
- nil),
- OptPosVar),
- OptFTScoreVar),
- OptExpr),
- OptBindExpr) */
- case 242:
- C(p) = for_ (forbind (forvars2 (C(LLLLL(p)), C(LLLR(p)),
C(LLR(p))),
- C(LR(p))),
- C(R(p)));
- break;
-
- /* OptBindExpr: binds (bind (vars (vars (var_type (
- Var,
-
TypeDeclaration),
- OptPosVar),
- OptFTScoreVar),
- OptExpr),
- OptBindExpr) */
- case 243:
- {
- PFvar_t *v = new_var (NULL);
-
- C(p) = for_ (forbind (forvars2 (var (v), C(LLLR(p)), C(LLR(p))),
- C(LR(p))),
- let (letbind (C(LLLLL(p)),
- proof (subty (var (v),
- C(LLLLR(p))),
- seqcast (C(LLLLR(p)),
- var (v)))),
- C(R(p))));
- } break;
-
- /* OptFTScoreVar: nil */
- case 244:
- C(p) = nil ();
- break;
-
- /* OptFTScoreVar: Var */
- case 245:
- break;
-
- /*FTFilterExpr: ftfilter (FTSelectionExpr,
- OptFTIgnoreOption) */
- case 246:
- break;
-
- /*FTIgnoreOption: ftignore (UnionExpr) */
- case 247:
- PFoops_loc (OOPS_NOTSUPPORTED, p->loc,
- "Full text ignore options not yet implemented");
- break;
-
- /*FTSelectionExpr: FTOrExpr */
- case 248:
- break;
-
- /*FTOrExpr: FTAndExpr */
- case 249:
- break;
-
- /*FTOrExpr: ftor (FTAndExpr, FTAndExpr) */
- case 250:
- PFoops_loc (OOPS_NOTSUPPORTED, p->loc,
- "Full text Or operator not yet supported");
- break;
-
- /*FTAndExpr: FTMildNot */
- case 251:
- break;
-
- /*FTAndExpr: ftand (FTMildNot, FTMildNot) */
- case 252:
- PFoops_loc (OOPS_NOTSUPPORTED, p->loc,
- "Full text And operator not yet supported");
- break;
-
- /*FTMildNot: FTUnaryNot */
- case 253:
- break;
-
- /*FTMildNot: ftmildnot ( FTUnaryNot, FTUnaryNot) */
- case 254:
- PFoops_loc (OOPS_NOTSUPPORTED, p->loc,
- "Full text mild-not not yet supported");
- break;
-
- /*FTUnaryNot: FTPrimaryWithOptions */
- case 255:
- break;
-
- /*FTUnaryNot: ftnot (FTPrimaryWithOptions) */
- case 256:
- PFoops_loc (OOPS_NOTSUPPORTED, p->loc,
- "Full text Not operator not yet supported");
- break;
-
- /*FTPrimaryWithOptions: FTPrimaryExpr */
- case 257:
- break;
-
- /*FTPrimaryExpr: FTWordsExpr */
- case 258:
- break;
-
- /*FTPrimaryExpr: FTSelectionExpr */
- case 259:
- assert (C(p));
- break;
-
- /*FTWordsExpr: FTWordsValueExpr */
- case 260:
- break;
-
- /*FTWordsValueExpr: Literal */
- case 261:
- assert (C(p));
- break;
-
- /* OptBindExpr: binds (let (Var, OptExpr),
- OptBindExpr) */
- case 262:
- {
- PFfun_t *op_score = function (PFqname (PFns_fts, "score"));
-
- /*C(p) = APPLY (op_plus,
- num (0),
- fs_convert_op_by_type (
- fn_data (C(L(p))),
- PFty_xs_double ()));*/
- C(p) = let (letbind (C(LL(p)), APPLY (op_score, C(LR(p)))),
C(R(p)));
-
- } break;
-
default:
PFoops_loc (OOPS_FATAL, p->loc, "untranslated expression");
break;
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now. http://p.sf.net/sfu/bobj-july
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins