src/inc/rql.h 1.4

1.4 2009/12/03 19:26:05 kent
Making rqlParser handle arrays and field-separating-dots. Evaluation handles arrays but not dots yet.
Index: src/inc/rql.h
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/inc/rql.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -b -B -U 4 -r1.3 -r1.4
--- src/inc/rql.h	3 Dec 2009 18:19:29 -0000	1.3
+++ src/inc/rql.h	3 Dec 2009 19:26:05 -0000	1.4
@@ -13,25 +13,23 @@
     {
     rqlOpUnknown,	/* Should not occur */
     rqlOpLiteral,        /* Literal string or number. */
     rqlOpSymbol,	/* A symbol name. */
-    rqlOpEq,	/* An equals comparison */
-    rqlOpNe,	/* A not equals comparison */
 
     /* Type casts. */
     rqlOpStringToBoolean,	
     rqlOpIntToBoolean,
     rqlOpDoubleToBoolean,
     rqlOpStringToInt,
-    rqlOpStringToDouble,
+    rqlOpDoubleToInt,
     rqlOpBooleanToInt,
+    rqlOpStringToDouble,
     rqlOpBooleanToDouble,
     rqlOpIntToDouble,
 
-    rqlOpUnaryMinusInt,
-    rqlOpUnaryMinusDouble,
-
     /* Comparisons. */
+    rqlOpEq,	/* An equals comparison */
+    rqlOpNe,	/* A not equals comparison */
     rqlOpGt,  /* Greater than comparison. */
     rqlOpLt,  /* Less than comparison. */
     rqlOpGe,  /* Greater than or equals comparison. */
     rqlOpLe,  /* Less than or equals comparison. */
@@ -40,8 +38,16 @@
     /* Logic ops. */
     rqlOpAnd,     /* An and */
     rqlOpOr,      /* An or */
     rqlOpNot,	  /* A unary not. */
+
+    /* Leading minus. */
+    rqlOpUnaryMinusInt,
+    rqlOpUnaryMinusDouble,
+
+    /* Fancy ops to fetch sub-parts. */
+    rqlOpArrayIx,	/* An array with an index. */
+    rqlOpSubDot,	/* A field.subfield selection. */
     };
 
 char *rqlOpToString(enum rqlOp op);
 /* Return string representation of parse op. */