Update of /cvsroot/monetdb/pathfinder/compiler/core
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv8099/compiler/core

Modified Files:
        fs.brg 
Log Message:
propagated changes of Wednesday Feb 07 2007 - Friday Feb 09 2007
from the XQuery_0-16 branch to the development trunk



Index: fs.brg
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/core/fs.brg,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -d -r1.53 -r1.54
--- fs.brg      23 Jan 2007 14:03:52 -0000      1.53
+++ fs.brg      9 Feb 2007 23:41:06 -0000       1.54
@@ -3421,8 +3421,10 @@
             PFvar_t *v4     = new_var (NULL);
             PFvar_t *ins    = new_var (NULL);
 
+            PFfun_t *exactly_one
+                = function (PFqname (PFns_fn, "exactly-one"));
             PFfun_t *is2ns
-                = function (PFqname 
(PFns_pf,"item-sequence-to-node-sequence"));
+                = function (PFqname (PFns_pf, 
"item-sequence-to-node-sequence"));
             PFfun_t *matn
                 = function (PFqname (PFns_pf, "merge-adjacent-text-nodes"));
             PFfun_t *insert = NULL;
@@ -3484,7 +3486,7 @@
                      */
                     C(p)
                         = flwr (
-                            let (letbind (var (target), C(R(p))),
+                            let (letbind (var (target), APPLY(exactly_one, 
C(R(p)))),
                             let (letbind (var (v1), C(L(p))),
                             let (letbind (var (v2), APPLY (is2ns, var (v1))),
                             let (letbind (var (v3), APPLY (matn, var (v2))),
@@ -3596,6 +3598,8 @@
                 PFvar_t *pi       = new_var (NULL);
                 PFvar_t *c        = new_var (NULL);
 
+                PFfun_t *exactly_one
+                    = function (PFqname (PFns_fn, "exactly-one"));
                 PFfun_t *is2uA
                     = function (PFqname (PFns_pf,
                                          "item-sequence-to-untypedAtomic"));
@@ -3611,7 +3615,7 @@
                             let (letbind (var (string), fn_data (var (expr))),
                                 let (letbind (var (step1),
                                               APPLY (is2uA, var (string))),
-                                    let (letbind (var (target), C(L(p))),
+                                    let (letbind (var (target), 
APPLY(exactly_one, C(L(p)))),
                                          nil())))),
                         typeswitch (
                             var (target),
@@ -3757,6 +3761,8 @@
                 PFvar_t *repl   = new_var (NULL);
                 PFvar_t *parent = new_var (NULL);
 
+                PFfun_t *exactly_one
+                    = function (PFqname (PFns_fn, "exactly-one"));
                 PFfun_t *is2ns
                     = function (PFqname (PFns_pf,
                                          "item-sequence-to-node-sequence"));
@@ -3772,7 +3778,7 @@
 
                 C(p)
                   = flwr (
-                      let (letbind (var (target), C(L(p))),
+                      let (letbind (var (target), APPLY(exactly_one, C(L(p)))),
                       let (letbind (var (v1), C(R(p))),
                       let (letbind (var (v2), APPLY (is2ns, var (v1))),
                       let (letbind (var (v3), APPLY (matn, var (v2))),
@@ -3857,7 +3863,7 @@
         case 222:
         {
             /*
-             * [[ do rename <TargetExpr> as <NewNameExpr> ]]
+             * [[ do rename <TargetExpr> into <NewNameExpr> ]]
              *  ==
              * let $target := [[ <TargetExpr> ]] return
              *   let $newName := [[ <NewNameExpr ]] return
@@ -3866,8 +3872,9 @@
             PFvar_t *target  = new_var (NULL);
             PFvar_t *newName = new_var (NULL);
             PFfun_t *rename  = function (PFqname (PFns_upd, "rename"));
+            PFfun_t *exactly_one = function (PFqname (PFns_fn, "exactly-one"));
 
-            C(p) = flwr (let (letbind (var (target), C(L(p))),
+            C(p) = flwr (let (letbind (var (target), APPLY(exactly_one, 
C(L(p)))),
                               nil ()),
                          flwr (let (letbind (var (newName), C(R(p))),
                                     nil ()),


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to