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