Update of /cvsroot/monetdb/pathfinder/compiler/include
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv20201/compiler/include
Modified Files:
logical.h logical_mnemonic.h
Log Message:
Basic Algebra implementation for the fn:error functions (32 files edited).
Introduced a new operator on the logical level, namely la_error.
Operator la_error takes a BAT of strings as parameter (containing the error
message) and carry it all the way until the MIL level where the conditions are
checked and the mil if-statement is printed.
Disclaimer:
Most likely the switch-case clauses on the prop/ and opt/ directories
are not always treated correctly for the la_error operator, but a man has
to start from somewhere.
Index: logical_mnemonic.h
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/include/logical_mnemonic.h,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- logical_mnemonic.h 6 Dec 2007 08:42:36 -0000 1.29
+++ logical_mnemonic.h 10 Dec 2007 15:10:04 -0000 1.30
@@ -198,6 +198,9 @@
#define empty_frag() PFla_empty_frag ()
/* conditional error operator */
+#define error(a) PFla_error ((a))
+
+/* conditional error operator */
#define cond_err(a,b,c,d) PFla_cond_err ((a),(b),(c),(d))
#define nil() PFla_nil ()
Index: logical.h
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/include/logical.h,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -d -r1.46 -r1.47
--- logical.h 6 Dec 2007 22:41:33 -0000 1.46
+++ logical.h 10 Dec 2007 15:10:04 -0000 1.47
@@ -145,7 +145,8 @@
, la_frag_union = 72 /**< special node type used to form an algebraic
union of fragments */
, la_empty_frag = 73 /**< representation of an empty fragment */
-
+
+ , la_error = 79 /**< error operator for the fn:error function*/
, la_cond_err = 80 /**< facility to trigger runtime errors */
, la_nil = 81 /**< end of the list of parameters */
, la_trace = 82 /**< debug operator */
@@ -1072,6 +1073,11 @@
/****************************************************************/
/**
+ * Constructor for error
+ */
+PFla_op_t * PFla_error (const PFla_op_t *n);
+
+/**
* Constructor for conditional error
*/
PFla_op_t * PFla_cond_err (const PFla_op_t *n, const PFla_op_t *err,
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins