m-chrzan.xyz
aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/pl/edu/mimuw/cloudatlas/interpreter/query/parser.java
diff options
context:
space:
mode:
authorMarcin Chrzanowski <marcin.j.chrzanowski@gmail.com>2019-11-04 10:27:29 +0100
committerMarcin Chrzanowski <marcin.j.chrzanowski@gmail.com>2019-11-04 10:27:29 +0100
commit900fb0aee0b68cbb88f578f20019738b4416f436 (patch)
tree9ac25ac14f2b8eaac7bbd152e4ae567de6b63e16 /src/main/java/pl/edu/mimuw/cloudatlas/interpreter/query/parser.java
parent362310157373eef80f49ea6023b1666b3883f4b1 (diff)
Add query language interpreter code
Diffstat (limited to 'src/main/java/pl/edu/mimuw/cloudatlas/interpreter/query/parser.java')
-rw-r--r--src/main/java/pl/edu/mimuw/cloudatlas/interpreter/query/parser.java923
1 files changed, 923 insertions, 0 deletions
diff --git a/src/main/java/pl/edu/mimuw/cloudatlas/interpreter/query/parser.java b/src/main/java/pl/edu/mimuw/cloudatlas/interpreter/query/parser.java
new file mode 100644
index 0000000..85a196b
--- /dev/null
+++ b/src/main/java/pl/edu/mimuw/cloudatlas/interpreter/query/parser.java
@@ -0,0 +1,923 @@
+
+//----------------------------------------------------
+// The following code was generated by CUP v0.11a beta 20060608
+// Sat Nov 16 17:39:43 CET 2013
+//----------------------------------------------------
+
+package pl.edu.mimuw.cloudatlas.interpreter.query;
+
+
+/** CUP v0.11a beta 20060608 generated parser.
+ * @version Sat Nov 16 17:39:43 CET 2013
+ */
+public class parser extends java_cup.runtime.lr_parser {
+
+ /** Default constructor. */
+ public parser() {super();}
+
+ /** Constructor which sets the default scanner. */
+ public parser(java_cup.runtime.Scanner s) {super(s);}
+
+ /** Constructor which sets the default scanner. */
+ public parser(java_cup.runtime.Scanner s, java_cup.runtime.SymbolFactory sf) {super(s,sf);}
+
+ /** Production table. */
+ protected static final short _production_table[][] =
+ unpackFromStrings(new String[] {
+ "\000\071\000\002\002\004\000\002\002\003\000\002\002" +
+ "\005\000\002\003\003\000\002\003\005\000\002\004\003" +
+ "\000\002\004\005\000\002\005\002\000\002\005\003\000" +
+ "\002\005\005\000\002\006\003\000\002\007\006\000\002" +
+ "\010\002\000\002\010\004\000\002\011\002\000\002\011" +
+ "\005\000\002\012\005\000\002\013\003\000\002\013\003" +
+ "\000\002\013\002\000\002\014\002\000\002\014\004\000" +
+ "\002\014\004\000\002\015\003\000\002\015\005\000\002" +
+ "\016\005\000\002\016\005\000\002\016\003\000\002\017" +
+ "\005\000\002\017\003\000\002\020\005\000\002\020\003" +
+ "\000\002\021\004\000\002\021\003\000\002\022\005\000" +
+ "\002\022\005\000\002\022\003\000\002\023\005\000\002" +
+ "\023\005\000\002\023\005\000\002\023\003\000\002\024" +
+ "\004\000\002\024\003\000\002\025\003\000\002\025\003" +
+ "\000\002\025\006\000\002\025\003\000\002\025\003\000" +
+ "\002\025\003\000\002\025\005\000\002\025\005\000\002" +
+ "\026\003\000\002\026\003\000\002\026\003\000\002\026" +
+ "\003\000\002\026\003\000\002\026\003" });
+
+ /** Access to production table. */
+ public short[][] production_table() {return _production_table;}
+
+ /** Parse-action table. */
+ protected static final short[][] _action_table =
+ unpackFromStrings(new String[] {
+ "\000\124\000\004\037\006\001\002\000\004\002\126\001" +
+ "\002\000\006\002\000\004\124\001\002\000\022\007\024" +
+ "\013\023\032\030\041\012\042\026\043\025\044\015\045" +
+ "\016\001\002\000\004\002\ufff7\001\002\000\062\002\uffd7" +
+ "\004\uffd7\005\uffd7\006\uffd7\007\uffd7\010\uffd7\011\uffd7\012" +
+ "\uffd7\014\uffd7\015\uffd7\016\uffd7\017\uffd7\020\uffd7\021\uffd7" +
+ "\022\uffd7\023\uffd7\024\uffd7\025\uffd7\027\uffd7\033\uffd7\034" +
+ "\uffd7\035\uffd7\036\uffd7\040\uffd7\001\002\000\062\002\uffd9" +
+ "\004\uffd9\005\uffd9\006\uffd9\007\uffd9\010\uffd9\011\uffd9\012" +
+ "\uffd9\014\uffd9\015\uffd9\016\uffd9\017\uffd9\020\uffd9\021\uffd9" +
+ "\022\uffd9\023\uffd9\024\uffd9\025\uffd9\027\uffd9\033\uffd9\034" +
+ "\uffd9\035\uffd9\036\uffd9\040\uffd9\001\002\000\062\002\uffd3" +
+ "\004\uffd3\005\uffd3\006\uffd3\007\uffd3\010\uffd3\011\uffd3\012" +
+ "\uffd3\014\uffd3\015\uffd3\016\uffd3\017\uffd3\020\uffd3\021\uffd3" +
+ "\022\uffd3\023\uffd3\024\uffd3\025\uffd3\027\uffd3\033\uffd3\034" +
+ "\uffd3\035\uffd3\036\uffd3\040\uffd3\001\002\000\054\002\uffe6" +
+ "\004\uffe6\005\uffe6\006\110\007\107\014\uffe6\015\117\016" +
+ "\116\017\115\020\114\021\113\022\111\023\uffe6\024\uffe6" +
+ "\025\uffe6\027\uffe6\033\uffe6\034\uffe6\035\uffe6\036\106\040" +
+ "\uffe6\001\002\000\062\002\uffdd\004\uffdd\005\uffdd\006\uffdd" +
+ "\007\uffdd\010\100\011\102\012\101\014\uffdd\015\uffdd\016" +
+ "\uffdd\017\uffdd\020\uffdd\021\uffdd\022\uffdd\023\uffdd\024\uffdd" +
+ "\025\uffdd\027\uffdd\033\uffdd\034\uffdd\035\uffdd\036\uffdd\040" +
+ "\uffdd\001\002\000\062\002\uffd1\004\uffd1\005\uffd1\006\uffd1" +
+ "\007\uffd1\010\uffd1\011\uffd1\012\uffd1\014\uffd1\015\uffd1\016" +
+ "\uffd1\017\uffd1\020\uffd1\021\uffd1\022\uffd1\023\uffd1\024\uffd1" +
+ "\025\uffd1\027\uffd1\033\uffd1\034\uffd1\035\uffd1\036\uffd1\040" +
+ "\uffd1\001\002\000\062\002\uffd2\004\uffd2\005\uffd2\006\uffd2" +
+ "\007\uffd2\010\uffd2\011\uffd2\012\uffd2\014\uffd2\015\uffd2\016" +
+ "\uffd2\017\uffd2\020\uffd2\021\uffd2\022\uffd2\023\uffd2\024\uffd2" +
+ "\025\uffd2\027\uffd2\033\uffd2\034\uffd2\035\uffd2\036\uffd2\040" +
+ "\uffd2\001\002\000\014\002\ufff5\004\ufff5\014\ufff5\035\ufff5" +
+ "\040\056\001\002\000\022\002\uffea\004\uffea\005\uffea\014" +
+ "\uffea\024\054\034\042\035\uffea\040\uffea\001\002\000\032" +
+ "\002\uffe2\004\uffe2\005\uffe2\014\uffe2\023\uffe2\024\uffe2\025" +
+ "\uffe2\027\uffe2\033\uffe2\034\uffe2\035\uffe2\040\uffe2\001\002" +
+ "\000\032\002\uffe4\004\uffe4\005\uffe4\014\uffe4\023\044\024" +
+ "\uffe4\025\uffe4\027\uffe4\033\uffe4\034\uffe4\035\uffe4\040\uffe4" +
+ "\001\002\000\024\007\024\013\023\032\030\037\006\041" +
+ "\012\042\026\043\025\044\015\045\016\001\002\000\020" +
+ "\007\024\013\023\041\012\042\026\043\025\044\015\045" +
+ "\016\001\002\000\064\002\uffd5\004\uffd5\005\uffd5\006\uffd5" +
+ "\007\uffd5\010\uffd5\011\uffd5\012\uffd5\013\035\014\uffd5\015" +
+ "\uffd5\016\uffd5\017\uffd5\020\uffd5\021\uffd5\022\uffd5\023\uffd5" +
+ "\024\uffd5\025\uffd5\027\uffd5\033\uffd5\034\uffd5\035\uffd5\036" +
+ "\uffd5\040\uffd5\001\002\000\062\002\uffd6\004\uffd6\005\uffd6" +
+ "\006\uffd6\007\uffd6\010\uffd6\011\uffd6\012\uffd6\014\uffd6\015" +
+ "\uffd6\016\uffd6\017\uffd6\020\uffd6\021\uffd6\022\uffd6\023\uffd6" +
+ "\024\uffd6\025\uffd6\027\uffd6\033\uffd6\034\uffd6\035\uffd6\036" +
+ "\uffd6\040\uffd6\001\002\000\016\002\ufffc\004\ufffc\005\033" +
+ "\014\ufffc\035\ufffc\040\ufffc\001\002\000\022\007\024\013" +
+ "\023\032\030\041\012\042\026\043\025\044\015\045\016" +
+ "\001\002\000\032\002\uffe0\004\uffe0\005\uffe0\014\uffe0\023" +
+ "\uffe0\024\uffe0\025\uffe0\027\uffe0\033\uffe0\034\uffe0\035\uffe0" +
+ "\040\uffe0\001\002\000\032\002\uffe1\004\uffe1\005\uffe1\014" +
+ "\uffe1\023\uffe1\024\uffe1\025\uffe1\027\uffe1\033\uffe1\034\uffe1" +
+ "\035\uffe1\040\uffe1\001\002\000\022\007\024\013\023\032" +
+ "\030\041\012\042\026\043\025\044\015\045\016\001\002" +
+ "\000\014\002\ufffb\004\ufffb\014\ufffb\035\ufffb\040\ufffb\001" +
+ "\002\000\024\007\024\013\023\014\ufffa\032\030\041\012" +
+ "\042\026\043\025\044\015\045\016\001\002\000\010\005" +
+ "\041\014\ufff9\034\042\001\002\000\004\014\040\001\002" +
+ "\000\062\002\uffd4\004\uffd4\005\uffd4\006\uffd4\007\uffd4\010" +
+ "\uffd4\011\uffd4\012\uffd4\014\uffd4\015\uffd4\016\uffd4\017\uffd4" +
+ "\020\uffd4\021\uffd4\022\uffd4\023\uffd4\024\uffd4\025\uffd4\027" +
+ "\uffd4\033\uffd4\034\uffd4\035\uffd4\036\uffd4\040\uffd4\001\002" +
+ "\000\024\007\024\013\023\014\ufffa\032\030\041\012\042" +
+ "\026\043\025\044\015\045\016\001\002\000\022\007\024" +
+ "\013\023\032\030\041\012\042\026\043\025\044\015\045" +
+ "\016\001\002\000\032\002\uffe5\004\uffe5\005\uffe5\014\uffe5" +
+ "\023\044\024\uffe5\025\uffe5\027\uffe5\033\uffe5\034\uffe5\035" +
+ "\uffe5\040\uffe5\001\002\000\022\007\024\013\023\032\030" +
+ "\041\012\042\026\043\025\044\015\045\016\001\002\000" +
+ "\032\002\uffe3\004\uffe3\005\uffe3\014\uffe3\023\uffe3\024\uffe3" +
+ "\025\uffe3\027\uffe3\033\uffe3\034\uffe3\035\uffe3\040\uffe3\001" +
+ "\002\000\004\014\ufff8\001\002\000\062\002\uffd8\004\uffd8" +
+ "\005\uffd8\006\uffd8\007\uffd8\010\uffd8\011\uffd8\012\uffd8\014" +
+ "\uffd8\015\uffd8\016\uffd8\017\uffd8\020\uffd8\021\uffd8\022\uffd8" +
+ "\023\uffd8\024\uffd8\025\uffd8\027\uffd8\033\uffd8\034\uffd8\035" +
+ "\uffd8\036\uffd8\040\uffd8\001\002\000\006\014\053\034\042" +
+ "\001\002\000\004\014\052\001\002\000\062\002\uffcf\004" +
+ "\uffcf\005\uffcf\006\uffcf\007\uffcf\010\uffcf\011\uffcf\012\uffcf" +
+ "\014\uffcf\015\uffcf\016\uffcf\017\uffcf\020\uffcf\021\uffcf\022" +
+ "\uffcf\023\uffcf\024\uffcf\025\uffcf\027\uffcf\033\uffcf\034\uffcf" +
+ "\035\uffcf\036\uffcf\040\uffcf\001\002\000\062\002\uffd0\004" +
+ "\uffd0\005\uffd0\006\uffd0\007\uffd0\010\uffd0\011\uffd0\012\uffd0" +
+ "\014\uffd0\015\uffd0\016\uffd0\017\uffd0\020\uffd0\021\uffd0\022" +
+ "\uffd0\023\uffd0\024\uffd0\025\uffd0\027\uffd0\033\uffd0\034\uffd0" +
+ "\035\uffd0\036\uffd0\040\uffd0\001\002\000\004\043\055\001" +
+ "\002\000\016\002\uffe9\004\uffe9\005\uffe9\014\uffe9\035\uffe9" +
+ "\040\uffe9\001\002\000\022\007\024\013\023\032\030\041" +
+ "\012\042\026\043\025\044\015\045\016\001\002\000\012" +
+ "\002\ufff3\004\ufff3\014\ufff3\035\061\001\002\000\010\002" +
+ "\ufff6\004\ufff6\014\ufff6\001\002\000\004\026\062\001\002" +
+ "\000\022\007\024\013\023\032\030\041\012\042\026\043" +
+ "\025\044\015\045\016\001\002\000\012\002\ufffe\004\ufffe" +
+ "\005\075\014\ufffe\001\002\000\022\002\uffee\004\uffee\005" +
+ "\uffee\014\uffee\025\067\027\066\033\uffee\034\042\001\002" +
+ "\000\010\002\ufff2\004\ufff2\014\ufff2\001\002\000\014\002" +
+ "\uffef\004\uffef\005\uffef\014\uffef\033\uffef\001\002\000\014" +
+ "\002\ufff0\004\ufff0\005\ufff0\014\ufff0\033\ufff0\001\002\000" +
+ "\014\002\uffed\004\uffed\005\uffed\014\uffed\033\072\001\002" +
+ "\000\012\002\ufff1\004\ufff1\005\ufff1\014\ufff1\001\002\000" +
+ "\006\030\074\031\073\001\002\000\012\002\uffeb\004\uffeb" +
+ "\005\uffeb\014\uffeb\001\002\000\012\002\uffec\004\uffec\005" +
+ "\uffec\014\uffec\001\002\000\022\007\024\013\023\032\030" +
+ "\041\012\042\026\043\025\044\015\045\016\001\002\000" +
+ "\010\002\ufffd\004\ufffd\014\ufffd\001\002\000\014\002\ufff4" +
+ "\004\ufff4\014\ufff4\034\042\035\ufff4\001\002\000\020\007" +
+ "\024\013\023\041\012\042\026\043\025\044\015\045\016" +
+ "\001\002\000\020\007\024\013\023\041\012\042\026\043" +
+ "\025\044\015\045\016\001\002\000\020\007\024\013\023" +
+ "\041\012\042\026\043\025\044\015\045\016\001\002\000" +
+ "\062\002\uffdb\004\uffdb\005\uffdb\006\uffdb\007\uffdb\010\uffdb" +
+ "\011\uffdb\012\uffdb\014\uffdb\015\uffdb\016\uffdb\017\uffdb\020" +
+ "\uffdb\021\uffdb\022\uffdb\023\uffdb\024\uffdb\025\uffdb\027\uffdb" +
+ "\033\uffdb\034\uffdb\035\uffdb\036\uffdb\040\uffdb\001\002\000" +
+ "\062\002\uffda\004\uffda\005\uffda\006\uffda\007\uffda\010\uffda" +
+ "\011\uffda\012\uffda\014\uffda\015\uffda\016\uffda\017\uffda\020" +
+ "\uffda\021\uffda\022\uffda\023\uffda\024\uffda\025\uffda\027\uffda" +
+ "\033\uffda\034\uffda\035\uffda\036\uffda\040\uffda\001\002\000" +
+ "\062\002\uffdc\004\uffdc\005\uffdc\006\uffdc\007\uffdc\010\uffdc" +
+ "\011\uffdc\012\uffdc\014\uffdc\015\uffdc\016\uffdc\017\uffdc\020" +
+ "\uffdc\021\uffdc\022\uffdc\023\uffdc\024\uffdc\025\uffdc\027\uffdc" +
+ "\033\uffdc\034\uffdc\035\uffdc\036\uffdc\040\uffdc\001\002\000" +
+ "\004\041\123\001\002\000\020\007\024\013\023\041\012" +
+ "\042\026\043\025\044\015\045\016\001\002\000\020\007" +
+ "\024\013\023\041\012\042\026\043\025\044\015\045\016" +
+ "\001\002\000\020\007\uffc9\013\uffc9\041\uffc9\042\uffc9\043" +
+ "\uffc9\044\uffc9\045\uffc9\001\002\000\020\007\024\013\023" +
+ "\041\012\042\026\043\025\044\015\045\016\001\002\000" +
+ "\020\007\uffca\013\uffca\041\uffca\042\uffca\043\uffca\044\uffca" +
+ "\045\uffca\001\002\000\020\007\uffcb\013\uffcb\041\uffcb\042" +
+ "\uffcb\043\uffcb\044\uffcb\045\uffcb\001\002\000\020\007\uffcc" +
+ "\013\uffcc\041\uffcc\042\uffcc\043\uffcc\044\uffcc\045\uffcc\001" +
+ "\002\000\020\007\uffcd\013\uffcd\041\uffcd\042\uffcd\043\uffcd" +
+ "\044\uffcd\045\uffcd\001\002\000\020\007\uffce\013\uffce\041" +
+ "\uffce\042\uffce\043\uffce\044\uffce\045\uffce\001\002\000\036" +
+ "\002\uffe8\004\uffe8\005\uffe8\006\110\007\107\014\uffe8\023" +
+ "\uffe8\024\uffe8\025\uffe8\027\uffe8\033\uffe8\034\uffe8\035\uffe8" +
+ "\040\uffe8\001\002\000\062\002\uffdf\004\uffdf\005\uffdf\006" +
+ "\uffdf\007\uffdf\010\100\011\102\012\101\014\uffdf\015\uffdf" +
+ "\016\uffdf\017\uffdf\020\uffdf\021\uffdf\022\uffdf\023\uffdf\024" +
+ "\uffdf\025\uffdf\027\uffdf\033\uffdf\034\uffdf\035\uffdf\036\uffdf" +
+ "\040\uffdf\001\002\000\062\002\uffde\004\uffde\005\uffde\006" +
+ "\uffde\007\uffde\010\100\011\102\012\101\014\uffde\015\uffde" +
+ "\016\uffde\017\uffde\020\uffde\021\uffde\022\uffde\023\uffde\024" +
+ "\uffde\025\uffde\027\uffde\033\uffde\034\uffde\035\uffde\036\uffde" +
+ "\040\uffde\001\002\000\032\002\uffe7\004\uffe7\005\uffe7\014" +
+ "\uffe7\023\uffe7\024\uffe7\025\uffe7\027\uffe7\033\uffe7\034\uffe7" +
+ "\035\uffe7\040\uffe7\001\002\000\004\037\006\001\002\000" +
+ "\004\002\uffff\001\002\000\004\002\001\001\002" });
+
+ /** Access to parse-action table. */
+ public short[][] action_table() {return _action_table;}
+
+ /** <code>reduce_goto</code> table. */
+ protected static final short[][] _reduce_table =
+ unpackFromStrings(new String[] {
+ "\000\124\000\010\002\006\006\003\007\004\001\001\000" +
+ "\002\001\001\000\002\001\001\000\026\004\016\015\026" +
+ "\016\030\017\017\020\021\021\020\022\012\023\013\024" +
+ "\010\025\007\001\001\000\002\001\001\000\002\001\001" +
+ "\000\002\001\001\000\002\001\001\000\004\026\111\001" +
+ "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
+ "\000\004\010\056\001\001\000\002\001\001\000\002\001" +
+ "\001\000\002\001\001\000\024\007\050\016\030\017\047" +
+ "\020\021\021\020\022\012\023\013\024\010\025\007\001" +
+ "\001\000\006\024\046\025\007\001\001\000\002\001\001" +
+ "\000\002\001\001\000\002\001\001\000\016\016\030\021" +
+ "\031\022\012\023\013\024\010\025\007\001\001\000\002" +
+ "\001\001\000\002\001\001\000\026\004\033\015\026\016" +
+ "\030\017\017\020\021\021\020\022\012\023\013\024\010" +
+ "\025\007\001\001\000\002\001\001\000\024\005\036\016" +
+ "\030\017\035\020\021\021\020\022\012\023\013\024\010" +
+ "\025\007\001\001\000\002\001\001\000\002\001\001\000" +
+ "\002\001\001\000\024\005\045\016\030\017\035\020\021" +
+ "\021\020\022\012\023\013\024\010\025\007\001\001\000" +
+ "\020\016\030\020\042\021\020\022\012\023\013\024\010" +
+ "\025\007\001\001\000\002\001\001\000\016\016\030\021" +
+ "\044\022\012\023\013\024\010\025\007\001\001\000\002" +
+ "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
+ "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
+ "\000\002\001\001\000\002\001\001\000\022\016\030\017" +
+ "\076\020\021\021\020\022\012\023\013\024\010\025\007" +
+ "\001\001\000\004\011\057\001\001\000\002\001\001\000" +
+ "\002\001\001\000\026\003\064\012\062\016\030\017\063" +
+ "\020\021\021\020\022\012\023\013\024\010\025\007\001" +
+ "\001\000\002\001\001\000\004\013\067\001\001\000\002" +
+ "\001\001\000\002\001\001\000\002\001\001\000\004\014" +
+ "\070\001\001\000\002\001\001\000\002\001\001\000\002" +
+ "\001\001\000\002\001\001\000\026\003\075\012\062\016" +
+ "\030\017\063\020\021\021\020\022\012\023\013\024\010" +
+ "\025\007\001\001\000\002\001\001\000\002\001\001\000" +
+ "\006\024\104\025\007\001\001\000\006\024\103\025\007" +
+ "\001\001\000\006\024\102\025\007\001\001\000\002\001" +
+ "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
+ "\000\010\023\121\024\010\025\007\001\001\000\010\023" +
+ "\120\024\010\025\007\001\001\000\002\001\001\000\012" +
+ "\022\117\023\013\024\010\025\007\001\001\000\002\001" +
+ "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
+ "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
+ "\002\001\001\000\002\001\001\000\006\002\124\007\004" +
+ "\001\001\000\002\001\001\000\002\001\001" });
+
+ /** Access to <code>reduce_goto</code> table. */
+ public short[][] reduce_table() {return _reduce_table;}
+
+ /** Instance of action encapsulation class. */
+ protected CUP$parser$actions action_obj;
+
+ /** Action encapsulation object initializer. */
+ protected void init_actions()
+ {
+ action_obj = new CUP$parser$actions(this);
+ }
+
+ /** Invoke a user supplied parse action. */
+ public java_cup.runtime.Symbol do_action(
+ int act_num,
+ java_cup.runtime.lr_parser parser,
+ @SuppressWarnings("rawtypes") java.util.Stack stack,
+ int top)
+ throws java.lang.Exception
+ {
+ /* call code in generated class */
+ return action_obj.CUP$parser$do_action(act_num, parser, stack, top);
+ }
+
+ /** Indicates start state. */
+ public int start_state() {return 0;}
+ /** Indicates start production. */
+ public int start_production() {return 0;}
+
+ /** <code>EOF</code> Symbol index. */
+ public int EOF_sym() {return 0;}
+
+ /** <code>error</code> Symbol index. */
+ public int error_sym() {return 1;}
+
+
+
+ public pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Program pProgram() throws Exception
+ {
+ java_cup.runtime.Symbol res = parse();
+ return (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Program) res.value;
+ }
+
+public <B,A extends java.util.LinkedList<? super B>> A cons_(B x, A xs) { xs.addFirst(x); return xs; }
+
+public void syntax_error(java_cup.runtime.Symbol cur_token)
+{
+ report_error("Syntax Error, trying to recover and continue parse...", cur_token);
+}
+
+public void unrecovered_syntax_error(java_cup.runtime.Symbol cur_token) throws java.lang.Exception
+{
+ throw new Exception("Unrecoverable Syntax Error");
+}
+
+
+}
+
+/** Cup generated class to encapsulate user supplied action code.*/
+class CUP$parser$actions {
+ private final parser parser;
+
+ /** Constructor */
+ CUP$parser$actions(parser parser) {
+ this.parser = parser;
+ }
+
+ /** Method with the actual generated action code. */
+ public final java_cup.runtime.Symbol CUP$parser$do_action(
+ int CUP$parser$act_num,
+ java_cup.runtime.lr_parser CUP$parser$parser,
+ @SuppressWarnings("rawtypes") java.util.Stack CUP$parser$stack,
+ int CUP$parser$top)
+ throws java.lang.Exception
+ {
+ /* Symbol object for return from actions */
+ java_cup.runtime.Symbol CUP$parser$result;
+
+ /* select the action based on the action number */
+ switch (CUP$parser$act_num)
+ {
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 56: // RelOp ::= _SYMB_14
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.RelOp RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.RelOpGeC();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("RelOp",20, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 55: // RelOp ::= _SYMB_13
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.RelOp RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.RelOpLeC();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("RelOp",20, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 54: // RelOp ::= _SYMB_12
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.RelOp RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.RelOpLtC();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("RelOp",20, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 53: // RelOp ::= _SYMB_11
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.RelOp RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.RelOpNeC();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("RelOp",20, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 52: // RelOp ::= _SYMB_10
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.RelOp RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.RelOpEqC();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("RelOp",20, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 51: // RelOp ::= _SYMB_9
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.RelOp RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.RelOpGtC();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("RelOp",20, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 50: // BasicExpr3 ::= _SYMB_7 Statement _SYMB_8
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Statement p_2 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Statement)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.EStmtC(p_2);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr3",19, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 49: // BasicExpr3 ::= _SYMB_7 CondExpr _SYMB_8
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr p_2 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ECondExprC(p_2);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr3",19, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 48: // BasicExpr3 ::= QDouble
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.EDblC(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr3",19, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 47: // BasicExpr3 ::= QInteger
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.EIntC(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr3",19, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 46: // BasicExpr3 ::= _STRING_
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.EStrC(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr3",19, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 45: // BasicExpr3 ::= QIdent _SYMB_7 ListCondExpr _SYMB_8
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-3)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListCondExpr p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListCondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.EFunC(p_1,p_3);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr3",19, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 44: // BasicExpr3 ::= QIdent
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.EIdentC(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr3",19, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 43: // BasicExpr3 ::= QBool
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ String p_1 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.EBoolC(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr3",19, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 42: // BasicExpr2 ::= BasicExpr3
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = p_1;
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr2",18, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 41: // BasicExpr2 ::= _SYMB_3 BasicExpr2
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_2 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExprNegC(p_2);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr2",18, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 40: // BasicExpr1 ::= BasicExpr2
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = p_1;
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr1",17, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 39: // BasicExpr1 ::= BasicExpr1 _SYMB_6 BasicExpr2
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExprModC(p_1,p_3);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr1",17, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 38: // BasicExpr1 ::= BasicExpr1 _SYMB_5 BasicExpr2
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExprDivC(p_1,p_3);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr1",17, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 37: // BasicExpr1 ::= BasicExpr1 _SYMB_4 BasicExpr2
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExprMulC(p_1,p_3);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr1",17, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 36: // BasicExpr ::= BasicExpr1
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = p_1;
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr",16, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 35: // BasicExpr ::= BasicExpr _SYMB_3 BasicExpr1
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExprSubC(p_1,p_3);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr",16, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 34: // BasicExpr ::= BasicExpr _SYMB_2 BasicExpr1
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExprAddC(p_1,p_3);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BasicExpr",16, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 33: // CondExpr2 ::= BoolExpr
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BoolExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BoolExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExprBoolExprC(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("CondExpr2",15, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 32: // CondExpr2 ::= _SYMB_22 CondExpr2
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr p_2 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExprNotC(p_2);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("CondExpr2",15, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 31: // CondExpr1 ::= CondExpr2
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = p_1;
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("CondExpr1",14, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 30: // CondExpr1 ::= CondExpr1 _SYMB_15 CondExpr2
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExprAndC(p_1,p_3);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("CondExpr1",14, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 29: // CondExpr ::= CondExpr1
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = p_1;
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("CondExpr",13, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 28: // CondExpr ::= CondExpr _SYMB_24 CondExpr1
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExprOrC(p_1,p_3);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("CondExpr",13, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 27: // BoolExpr ::= BasicExpr
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BoolExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BoolExprBasicExprC(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BoolExpr",12, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 26: // BoolExpr ::= BasicExpr _SYMB_26 _STRING_
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BoolExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ String p_3 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BoolExprRegExpC(p_1,p_3);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BoolExpr",12, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 25: // BoolExpr ::= BasicExpr RelOp BasicExpr
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BoolExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.RelOp p_2 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.RelOp)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BasicExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.BoolExprCmpC(p_1,p_2,p_3);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("BoolExpr",12, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 24: // SelItem ::= CondExpr _SYMB_16 QIdent
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.SelItem RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ String p_3 = (String)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.AliasedSelItemC(p_1,p_3);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("SelItem",11, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 23: // SelItem ::= CondExpr
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.SelItem RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.SelItemC(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("SelItem",11, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 22: // Nulls ::= _SYMB_23 _SYMB_21
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Nulls RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.NullsLastC();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("Nulls",10, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 21: // Nulls ::= _SYMB_23 _SYMB_20
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Nulls RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.NullFirstsC();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("Nulls",10, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 20: // Nulls ::=
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Nulls RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.NoNullsC();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("Nulls",10, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 19: // Order ::=
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Order RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.NoOrderC();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("Order",9, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 18: // Order ::= _SYMB_19
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Order RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.DescOrderC();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("Order",9, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 17: // Order ::= _SYMB_17
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Order RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.AscOrderC();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("Order",9, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 16: // OrderItem ::= CondExpr Order Nulls
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.OrderItem RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Order p_2 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Order)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Nulls p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Nulls)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.OrderItemC(p_1,p_2,p_3);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("OrderItem",8, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 15: // OrderBy ::= _SYMB_25 _SYMB_18 ListOrderItem
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.OrderBy RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListOrderItem p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListOrderItem)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.OrderByC(p_3);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("OrderBy",7, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 14: // OrderBy ::=
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.OrderBy RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.NoOrderByC();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("OrderBy",7, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 13: // Where ::= _SYMB_28 CondExpr
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Where RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr p_2 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.WhereC(p_2);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("Where",6, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 12: // Where ::=
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Where RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.NoWhereC();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("Where",6, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 11: // Statement ::= _SYMB_27 ListSelItem Where OrderBy
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Statement RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListSelItem p_2 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListSelItem)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Where p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Where)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.OrderBy p_4 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.OrderBy)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.StatementC(p_2,p_3,p_4);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("Statement",5, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 10: // Program ::= ListStatement
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Program RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListStatement p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListStatement)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ProgramC(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("Program",4, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 9: // ListCondExpr ::= CondExpr _SYMB_1 ListCondExpr
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListCondExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListCondExpr p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListCondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = p_3; p_3.addFirst(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCondExpr",3, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 8: // ListCondExpr ::= CondExpr
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListCondExpr RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.CondExpr)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListCondExpr(); RESULT.addLast(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCondExpr",3, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 7: // ListCondExpr ::=
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListCondExpr RESULT =null;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListCondExpr();
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("ListCondExpr",3, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 6: // ListSelItem ::= SelItem _SYMB_1 ListSelItem
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListSelItem RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.SelItem p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.SelItem)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListSelItem p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListSelItem)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = p_3; p_3.addFirst(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("ListSelItem",2, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 5: // ListSelItem ::= SelItem
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListSelItem RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.SelItem p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.SelItem)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListSelItem(); RESULT.addLast(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("ListSelItem",2, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 4: // ListOrderItem ::= OrderItem _SYMB_1 ListOrderItem
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListOrderItem RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.OrderItem p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.OrderItem)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListOrderItem p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListOrderItem)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = p_3; p_3.addFirst(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("ListOrderItem",1, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 3: // ListOrderItem ::= OrderItem
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListOrderItem RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.OrderItem p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.OrderItem)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListOrderItem(); RESULT.addLast(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("ListOrderItem",1, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 2: // ListStatement ::= Statement _SYMB_0 ListStatement
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListStatement RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Statement p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Statement)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-2)).value;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListStatement p_3 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListStatement)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = p_3; p_3.addFirst(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("ListStatement",0, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 1: // ListStatement ::= Statement
+ {
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListStatement RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Statement p_1 = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Statement)((java_cup.runtime.Symbol) CUP$parser$stack.peek()).value;
+ RESULT = new pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.ListStatement(); RESULT.addLast(p_1);
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("ListStatement",0, RESULT);
+ }
+ return CUP$parser$result;
+
+ /*. . . . . . . . . . . . . . . . . . . .*/
+ case 0: // $START ::= Program EOF
+ {
+ Object RESULT =null;
+ pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Program start_val = (pl.edu.mimuw.cloudatlas.interpreter.query.Absyn.Program)((java_cup.runtime.Symbol) CUP$parser$stack.elementAt(CUP$parser$top-1)).value;
+ RESULT = start_val;
+ CUP$parser$result = parser.getSymbolFactory().newSymbol("$START",0, RESULT);
+ }
+ /* ACCEPT */
+ CUP$parser$parser.done_parsing();
+ return CUP$parser$result;
+
+ /* . . . . . .*/
+ default:
+ throw new Exception(
+ "Invalid action number found in internal parse table");
+
+ }
+ }
+}
+