Update of /cvsroot/monetdb/pathfinder/compiler/mil
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv29129/compiler/mil

Modified Files:
      Tag: PF_ROX
        milgen.brg milprint.c 
Log Message:
propagated changes of Thursday May 22 2008 - Saturday May 24 2008
from the development trunk to the PF_ROX branch

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/05/22 - sjoerd:
        runtime/pf_support.mx,1.299(Current_DailyBuild-24,Current_DailyBuild-23)
Fixed some type punning problems.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/05/23 - sjoerd: NT/Makefile,1.20(Current_DailyBuild-24)
        
NT/MonetDB4-XQuery/MonetDB4-XQuery64.sln,1.1(Stable_DailyBuild-24,Current_DailyBuild-24)
        
NT/MonetDB4-XQuery/MonetDB4-XQuery64.vdproj,1.1(Stable_DailyBuild-24,Current_DailyBuild-24)
Added 64 bit Windows installer.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/05/23 - sjoerd:
        
NT/MonetDB4-XQuery/MonetDB4-XQuery.vdproj,1.3(Stable_DailyBuild-24,Current_DailyBuild-24)
Use registry to store where the product is installed.
This means you only get to choose the location in MonetDB-Common.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/05/23 - tsheyar:
        compiler/algebra/prop/prop_key.c,1.47(Current_DailyBuild-24)
-- some recently added property inference (for path steps) was to optimistic.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/05/23 - tsheyar:
        compiler/semantics/subtyping.c,1.48(Current_DailyBuild-24)
-- Complete the hierarchy information (integer <-> decimal) for disjoint types.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/05/23 - lsidir: compiler/algebra/physical.c,1.69(Current_DailyBuild-24)
        compiler/algebra/planner.c,1.62(Current_DailyBuild-24)
        compiler/include/physical.h,1.45(Current_DailyBuild-24)
        compiler/mil/milgen.brg,1.157(Current_DailyBuild-24)
        compiler/mil/milprint.c,1.78(Current_DailyBuild-24)
implementation for id/idref...

works only for elements for now, but I wanted to commit before the branching.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


U milprint.c
Index: milprint.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/mil/milprint.c,v
retrieving revision 1.62.2.7
retrieving revision 1.62.2.8
diff -u -d -r1.62.2.7 -r1.62.2.8
--- milprint.c  22 May 2008 08:48:39 -0000      1.62.2.7
+++ milprint.c  24 May 2008 10:51:37 -0000      1.62.2.8
@@ -1062,7 +1062,7 @@
             print_expression (n->child[5]);
             milprintf (", ");
             print_expression (n->child[6]);
-            milprintf (", ");
+            milprintf (")");
             break;
 
         /* expression : 'htordered_unique_thetajoin (' exp ',' exp ','

U milgen.brg
Index: milgen.brg
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/mil/milgen.brg,v
retrieving revision 1.103.2.14
retrieving revision 1.103.2.15
diff -u -d -r1.103.2.14 -r1.103.2.15
--- milgen.brg  22 May 2008 08:48:35 -0000      1.103.2.14
+++ milgen.brg  24 May 2008 10:51:34 -0000      1.103.2.15
@@ -204,6 +204,7 @@
 %term fun_call       = 150
 %term fun_param      = 151
 %term string_join    = 160
+%term findnodes      = 170
 /* fold)  */
 
 /** @cond GRAMMAR */ /* make doxygen ignore the grammar */
@@ -300,6 +301,7 @@
 Param:    nil                                                      = 154 (10);
 
 Rel:      string_join (Rel, Rel)                                   = 160 (10);
+Rel:      findnodes (Rel)                                          = 170 (10);
 /* fold) */
 
 %%
@@ -9147,6 +9149,51 @@
             env_add (p->env, p->sem.ii.item, aat_str, item);
         }   break; /* fold) */
 
+        /* Rel:      findnodes (Rel) */
+        case 170: /* fold( */
+        {
+            mvar_t *nodes     = new_var (1);
+            mvar_t *iter      = new_var (p->refctr);
+            mvar_t *item_res  = new_var (p->refctr);
+            
+            PFmil_t *pre      = VAR (L(p)->env,
+                                     p->sem.findnodes.item_doc, 
+                                     aat_pre),
+                    *pre_cont = VAR (L(p)->env,
+                                     p->sem.findnodes.item_doc,
+                                     aat_frag);
+
+            execute (
+                assgn (var (nodes->name),
+                       ws_findnodes (
+                           var (PF_MIL_VAR_WS),
+                           VAR (L(p)->env, p->sem.findnodes.iter, aat_nat),
+                           pre,
+                           set_kind (pre_cont, var (PF_MIL_VAR_ELEM)),
+                           /*mposjoin (
+                               pre,
+                               pre_cont,
+                               fetch (var (PF_MIL_VAR_WS),*/
+                           pre_cont,
+                           VAR (L(p)->env, p->sem.findnodes.item, aat_str),
+                           p->sem.findnodes.id == la_dj_id ? lit_bit (true) :
+                                                             lit_bit (false)
+                       )));
+
+            execute (
+                assgn (var (iter->name),
+                       hmark ( var (nodes->name), lit_oid(0))),
+                assgn (var (item_res->name),
+                       tmark ( var (nodes->name), lit_oid(0))));
+
+            env_add (p->env, p->sem.findnodes.iter, aat_nat, iter);
+            env_add (p->env, p->sem.findnodes.item_res, aat_pre, item_res);
+            env_add (p->env, p->sem.findnodes.item_res, aat_frag, item_res);
+
+            unpin (nodes, 1);
+
+        }   break; /* fold) */
+
         default:
             PFoops (OOPS_FATAL, "unknown rule %u", rule);
             break;


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to