You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@marmotta.apache.org by ss...@apache.org on 2013/07/09 11:50:52 UTC

[11/41] - moved SNORQL to WebJar - moved CodeMirror to WebJar - moved Sgvizler to WebJar - cleaned up uses of non-webjar jquery and jquery-ui - configured YUI compressor for the above packages in build

http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/5fd590b4/platform/marmotta-sparql/src/main/resources/web/admin/editor/sparql/sparqlParser.js
----------------------------------------------------------------------
diff --git a/platform/marmotta-sparql/src/main/resources/web/admin/editor/sparql/sparqlParser.js b/platform/marmotta-sparql/src/main/resources/web/admin/editor/sparql/sparqlParser.js
deleted file mode 100644
index 2827a9f..0000000
--- a/platform/marmotta-sparql/src/main/resources/web/admin/editor/sparql/sparqlParser.js
+++ /dev/null
@@ -1,11461 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-sparqlParser = (function(){
-  /* Generated by PEG.js (http://pegjs.majda.cz/). */
-  
-  var result = {
-    /*
-     * Parses the input with a generated parser. If the parsing is successfull,
-     * returns a value explicitly or implicitly specified by the grammar from
-     * which the parser was generated (see |PEG.buildParser|). If the parsing is
-     * unsuccessful, throws |PEG.grammarParser.SyntaxError| describing the error.
-     */
-    parse: function(input) {
-      var pos = 0;
-      var rightmostMatchFailuresPos = 0;
-      var rightmostMatchFailuresExpected = [];
-      var cache = {};
-      
-      function padLeft(input, padding, length) {
-        var result = input;
-        
-        var padLength = length - input.length;
-        for (var i = 0; i < padLength; i++) {
-          result = padding + result;
-        }
-        
-        return result;
-      }
-      
-      function escape(ch) {
-        var charCode = ch.charCodeAt(0);
-        
-        if (charCode <= 0xFF) {
-          var escapeChar = 'x';
-          var length = 2;
-        } else {
-          var escapeChar = 'u';
-          var length = 4;
-        }
-        
-        return '\\' + escapeChar + padLeft(charCode.toString(16).toUpperCase(), '0', length);
-      }
-      
-      function quoteString(s) {
-        /*
-         * ECMA-262, 5th ed., 7.8.4: All characters may appear literally in a
-         * string literal except for the closing quote character, backslash,
-         * carriage return, line separator, paragraph separator, and line feed.
-         * Any character may appear in the form of an escape sequence.
-         */
-        return '"' + s
-          .replace(/\\/g, '\\\\')        // backslash
-          .replace(/"/g, '\\"')          // closing quote character
-          .replace(/\r/g, '\\r')         // carriage return
-          .replace(/\u2028/g, '\\u2028') // line separator
-          .replace(/\u2029/g, '\\u2029') // paragraph separator
-          .replace(/\n/g, '\\n')         // line feed
-          .replace(/[\x80-\uFFFF]/g, escape) // non-ASCII characters
-          + '"';
-      }
-      
-      function arrayContains(array, value) {
-        /*
-         * Stupid IE does not have Array.prototype.indexOf, otherwise this
-         * function would be a one-liner.
-         */
-        var length = array.length;
-        for (var i = 0; i < length; i++) {
-          if (array[i] === value) {
-            return true;
-          }
-        }
-        return false;
-      }
-      
-      function matchFailed(failure) {
-        if (pos < rightmostMatchFailuresPos) {
-          return;
-        }
-        
-        if (pos > rightmostMatchFailuresPos) {
-          rightmostMatchFailuresPos = pos;
-          rightmostMatchFailuresExpected = [];
-        }
-        
-        if (!arrayContains(rightmostMatchFailuresExpected, failure)) {
-          rightmostMatchFailuresExpected.push(failure);
-        }
-      }
-      
-      function parse_query(context) {
-        var cacheKey = "query" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result2 = parse__(context);
-        if (result2 !== null) {
-          var result3 = parse_prologue(context);
-          if (result3 !== null) {
-            var result12 = parse_selectQuery(context);
-            var result11 = result12 !== null
-              ? (function() {return "select";})()
-              : null;
-            if (result11 !== null) {
-              var result4 = result11;
-            } else {
-              var result10 = parse_constructQuery(context);
-              var result9 = result10 !== null
-                ? (function() {return "construct";})()
-                : null;
-              if (result9 !== null) {
-                var result4 = result9;
-              } else {
-                var result8 = parse_describeQuery(context);
-                var result7 = result8 !== null
-                  ? (function() {return "describe";})()
-                  : null;
-                if (result7 !== null) {
-                  var result4 = result7;
-                } else {
-                  var result6 = parse_askQuery(context);
-                  var result5 = result6 !== null
-                    ? (function() {return "ask";})()
-                    : null;
-                  if (result5 !== null) {
-                    var result4 = result5;
-                  } else {
-                    var result4 = null;;
-                  };
-                };
-              };
-            }
-            if (result4 !== null) {
-              var result1 = [result2, result3, result4];
-            } else {
-              var result1 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result1 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result1 = null;
-          pos = savedPos0;
-        }
-        var result0 = result1 !== null
-          ? (function(q) {return q;})(result1[2])
-          : null;
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_prologue(context) {
-        var cacheKey = "prologue" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos2 = pos;
-        var result7 = parse_baseDecl(context);
-        if (result7 !== null) {
-          var result8 = parse__(context);
-          if (result8 !== null) {
-            var result6 = [result7, result8];
-          } else {
-            var result6 = null;
-            pos = savedPos2;
-          }
-        } else {
-          var result6 = null;
-          pos = savedPos2;
-        }
-        var result1 = result6 !== null ? result6 : '';
-        if (result1 !== null) {
-          var result2 = [];
-          var savedPos1 = pos;
-          var result4 = parse_prefixDecl(context);
-          if (result4 !== null) {
-            var result5 = parse__(context);
-            if (result5 !== null) {
-              var result3 = [result4, result5];
-            } else {
-              var result3 = null;
-              pos = savedPos1;
-            }
-          } else {
-            var result3 = null;
-            pos = savedPos1;
-          }
-          while (result3 !== null) {
-            result2.push(result3);
-            var savedPos1 = pos;
-            var result4 = parse_prefixDecl(context);
-            if (result4 !== null) {
-              var result5 = parse__(context);
-              if (result5 !== null) {
-                var result3 = [result4, result5];
-              } else {
-                var result3 = null;
-                pos = savedPos1;
-              }
-            } else {
-              var result3 = null;
-              pos = savedPos1;
-            }
-          }
-          if (result2 !== null) {
-            var result0 = [result1, result2];
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_baseDecl(context) {
-        var cacheKey = "baseDecl" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_BASE(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = parse_IRI_REF(context);
-            if (result3 !== null) {
-              var result0 = [result1, result2, result3];
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_prefixDecl(context) {
-        var cacheKey = "prefixDecl" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_PREFIX(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = parse_PNAME_NS(context);
-            if (result3 !== null) {
-              var result4 = parse__(context);
-              if (result4 !== null) {
-                var result5 = parse_IRI_REF(context);
-                if (result5 !== null) {
-                  var result0 = [result1, result2, result3, result4, result5];
-                } else {
-                  var result0 = null;
-                  pos = savedPos0;
-                }
-              } else {
-                var result0 = null;
-                pos = savedPos0;
-              }
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_selectQuery(context) {
-        var cacheKey = "selectQuery" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_SELECT(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var savedPos5 = pos;
-            var result25 = parse_DISTINCT(context);
-            if (result25 !== null) {
-              var result26 = parse__(context);
-              if (result26 !== null) {
-                var result24 = [result25, result26];
-              } else {
-                var result24 = null;
-                pos = savedPos5;
-              }
-            } else {
-              var result24 = null;
-              pos = savedPos5;
-            }
-            if (result24 !== null) {
-              var result20 = result24;
-            } else {
-              var savedPos4 = pos;
-              var result22 = parse_REDUCED(context);
-              if (result22 !== null) {
-                var result23 = parse__(context);
-                if (result23 !== null) {
-                  var result21 = [result22, result23];
-                } else {
-                  var result21 = null;
-                  pos = savedPos4;
-                }
-              } else {
-                var result21 = null;
-                pos = savedPos4;
-              }
-              if (result21 !== null) {
-                var result20 = result21;
-              } else {
-                var result20 = null;;
-              };
-            }
-            var result3 = result20 !== null ? result20 : '';
-            if (result3 !== null) {
-              var savedPos3 = pos;
-              var result18 = parse_var(context);
-              if (result18 !== null) {
-                var result19 = parse__(context);
-                if (result19 !== null) {
-                  var result17 = [result18, result19];
-                } else {
-                  var result17 = null;
-                  pos = savedPos3;
-                }
-              } else {
-                var result17 = null;
-                pos = savedPos3;
-              }
-              if (result17 !== null) {
-                var result16 = [];
-                while (result17 !== null) {
-                  result16.push(result17);
-                  var savedPos3 = pos;
-                  var result18 = parse_var(context);
-                  if (result18 !== null) {
-                    var result19 = parse__(context);
-                    if (result19 !== null) {
-                      var result17 = [result18, result19];
-                    } else {
-                      var result17 = null;
-                      pos = savedPos3;
-                    }
-                  } else {
-                    var result17 = null;
-                    pos = savedPos3;
-                  }
-                }
-              } else {
-                var result16 = null;
-              }
-              if (result16 !== null) {
-                var result4 = result16;
-              } else {
-                var savedPos2 = pos;
-                var result14 = parse_ASTERISK(context);
-                if (result14 !== null) {
-                  var result15 = parse__(context);
-                  if (result15 !== null) {
-                    var result13 = [result14, result15];
-                  } else {
-                    var result13 = null;
-                    pos = savedPos2;
-                  }
-                } else {
-                  var result13 = null;
-                  pos = savedPos2;
-                }
-                if (result13 !== null) {
-                  var result4 = result13;
-                } else {
-                  var result4 = null;;
-                };
-              }
-              if (result4 !== null) {
-                var result5 = [];
-                var savedPos1 = pos;
-                var result11 = parse_datasetClause(context);
-                if (result11 !== null) {
-                  var result12 = parse__(context);
-                  if (result12 !== null) {
-                    var result10 = [result11, result12];
-                  } else {
-                    var result10 = null;
-                    pos = savedPos1;
-                  }
-                } else {
-                  var result10 = null;
-                  pos = savedPos1;
-                }
-                while (result10 !== null) {
-                  result5.push(result10);
-                  var savedPos1 = pos;
-                  var result11 = parse_datasetClause(context);
-                  if (result11 !== null) {
-                    var result12 = parse__(context);
-                    if (result12 !== null) {
-                      var result10 = [result11, result12];
-                    } else {
-                      var result10 = null;
-                      pos = savedPos1;
-                    }
-                  } else {
-                    var result10 = null;
-                    pos = savedPos1;
-                  }
-                }
-                if (result5 !== null) {
-                  var result6 = parse_whereClause(context);
-                  if (result6 !== null) {
-                    var result7 = parse__(context);
-                    if (result7 !== null) {
-                      var result8 = parse_solutionModifier(context);
-                      if (result8 !== null) {
-                        var result9 = parse__(context);
-                        if (result9 !== null) {
-                          var result0 = [result1, result2, result3, result4, result5, result6, result7, result8, result9];
-                        } else {
-                          var result0 = null;
-                          pos = savedPos0;
-                        }
-                      } else {
-                        var result0 = null;
-                        pos = savedPos0;
-                      }
-                    } else {
-                      var result0 = null;
-                      pos = savedPos0;
-                    }
-                  } else {
-                    var result0 = null;
-                    pos = savedPos0;
-                  }
-                } else {
-                  var result0 = null;
-                  pos = savedPos0;
-                }
-              } else {
-                var result0 = null;
-                pos = savedPos0;
-              }
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_constructQuery(context) {
-        var cacheKey = "constructQuery" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_CONSTRUCT(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = parse_constructTemplate(context);
-            if (result3 !== null) {
-              var result4 = parse__(context);
-              if (result4 !== null) {
-                var result5 = [];
-                var savedPos1 = pos;
-                var result11 = parse_datasetClause(context);
-                if (result11 !== null) {
-                  var result12 = parse__(context);
-                  if (result12 !== null) {
-                    var result10 = [result11, result12];
-                  } else {
-                    var result10 = null;
-                    pos = savedPos1;
-                  }
-                } else {
-                  var result10 = null;
-                  pos = savedPos1;
-                }
-                while (result10 !== null) {
-                  result5.push(result10);
-                  var savedPos1 = pos;
-                  var result11 = parse_datasetClause(context);
-                  if (result11 !== null) {
-                    var result12 = parse__(context);
-                    if (result12 !== null) {
-                      var result10 = [result11, result12];
-                    } else {
-                      var result10 = null;
-                      pos = savedPos1;
-                    }
-                  } else {
-                    var result10 = null;
-                    pos = savedPos1;
-                  }
-                }
-                if (result5 !== null) {
-                  var result6 = parse_whereClause(context);
-                  if (result6 !== null) {
-                    var result7 = parse__(context);
-                    if (result7 !== null) {
-                      var result8 = parse_solutionModifier(context);
-                      if (result8 !== null) {
-                        var result9 = parse__(context);
-                        if (result9 !== null) {
-                          var result0 = [result1, result2, result3, result4, result5, result6, result7, result8, result9];
-                        } else {
-                          var result0 = null;
-                          pos = savedPos0;
-                        }
-                      } else {
-                        var result0 = null;
-                        pos = savedPos0;
-                      }
-                    } else {
-                      var result0 = null;
-                      pos = savedPos0;
-                    }
-                  } else {
-                    var result0 = null;
-                    pos = savedPos0;
-                  }
-                } else {
-                  var result0 = null;
-                  pos = savedPos0;
-                }
-              } else {
-                var result0 = null;
-                pos = savedPos0;
-              }
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_describeQuery(context) {
-        var cacheKey = "describeQuery" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_DESCRIBE(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var savedPos4 = pos;
-            var result19 = parse_varOrIRIref(context);
-            if (result19 !== null) {
-              var result20 = parse__(context);
-              if (result20 !== null) {
-                var result18 = [result19, result20];
-              } else {
-                var result18 = null;
-                pos = savedPos4;
-              }
-            } else {
-              var result18 = null;
-              pos = savedPos4;
-            }
-            if (result18 !== null) {
-              var result17 = [];
-              while (result18 !== null) {
-                result17.push(result18);
-                var savedPos4 = pos;
-                var result19 = parse_varOrIRIref(context);
-                if (result19 !== null) {
-                  var result20 = parse__(context);
-                  if (result20 !== null) {
-                    var result18 = [result19, result20];
-                  } else {
-                    var result18 = null;
-                    pos = savedPos4;
-                  }
-                } else {
-                  var result18 = null;
-                  pos = savedPos4;
-                }
-              }
-            } else {
-              var result17 = null;
-            }
-            if (result17 !== null) {
-              var result3 = result17;
-            } else {
-              var savedPos3 = pos;
-              var result15 = parse_ASTERISK(context);
-              if (result15 !== null) {
-                var result16 = parse__(context);
-                if (result16 !== null) {
-                  var result14 = [result15, result16];
-                } else {
-                  var result14 = null;
-                  pos = savedPos3;
-                }
-              } else {
-                var result14 = null;
-                pos = savedPos3;
-              }
-              if (result14 !== null) {
-                var result3 = result14;
-              } else {
-                var result3 = null;;
-              };
-            }
-            if (result3 !== null) {
-              var result4 = [];
-              var savedPos2 = pos;
-              var result12 = parse_datasetClause(context);
-              if (result12 !== null) {
-                var result13 = parse__(context);
-                if (result13 !== null) {
-                  var result11 = [result12, result13];
-                } else {
-                  var result11 = null;
-                  pos = savedPos2;
-                }
-              } else {
-                var result11 = null;
-                pos = savedPos2;
-              }
-              while (result11 !== null) {
-                result4.push(result11);
-                var savedPos2 = pos;
-                var result12 = parse_datasetClause(context);
-                if (result12 !== null) {
-                  var result13 = parse__(context);
-                  if (result13 !== null) {
-                    var result11 = [result12, result13];
-                  } else {
-                    var result11 = null;
-                    pos = savedPos2;
-                  }
-                } else {
-                  var result11 = null;
-                  pos = savedPos2;
-                }
-              }
-              if (result4 !== null) {
-                var savedPos1 = pos;
-                var result9 = parse_whereClause(context);
-                if (result9 !== null) {
-                  var result10 = parse__(context);
-                  if (result10 !== null) {
-                    var result8 = [result9, result10];
-                  } else {
-                    var result8 = null;
-                    pos = savedPos1;
-                  }
-                } else {
-                  var result8 = null;
-                  pos = savedPos1;
-                }
-                var result5 = result8 !== null ? result8 : '';
-                if (result5 !== null) {
-                  var result6 = parse_solutionModifier(context);
-                  if (result6 !== null) {
-                    var result7 = parse__(context);
-                    if (result7 !== null) {
-                      var result0 = [result1, result2, result3, result4, result5, result6, result7];
-                    } else {
-                      var result0 = null;
-                      pos = savedPos0;
-                    }
-                  } else {
-                    var result0 = null;
-                    pos = savedPos0;
-                  }
-                } else {
-                  var result0 = null;
-                  pos = savedPos0;
-                }
-              } else {
-                var result0 = null;
-                pos = savedPos0;
-              }
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_askQuery(context) {
-        var cacheKey = "askQuery" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_ASK(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = [];
-            var savedPos1 = pos;
-            var result7 = parse_datasetClause(context);
-            if (result7 !== null) {
-              var result8 = parse__(context);
-              if (result8 !== null) {
-                var result6 = [result7, result8];
-              } else {
-                var result6 = null;
-                pos = savedPos1;
-              }
-            } else {
-              var result6 = null;
-              pos = savedPos1;
-            }
-            while (result6 !== null) {
-              result3.push(result6);
-              var savedPos1 = pos;
-              var result7 = parse_datasetClause(context);
-              if (result7 !== null) {
-                var result8 = parse__(context);
-                if (result8 !== null) {
-                  var result6 = [result7, result8];
-                } else {
-                  var result6 = null;
-                  pos = savedPos1;
-                }
-              } else {
-                var result6 = null;
-                pos = savedPos1;
-              }
-            }
-            if (result3 !== null) {
-              var result4 = parse_whereClause(context);
-              if (result4 !== null) {
-                var result5 = parse__(context);
-                if (result5 !== null) {
-                  var result0 = [result1, result2, result3, result4, result5];
-                } else {
-                  var result0 = null;
-                  pos = savedPos0;
-                }
-              } else {
-                var result0 = null;
-                pos = savedPos0;
-              }
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_datasetClause(context) {
-        var cacheKey = "datasetClause" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_FROM(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result5 = parse_iriRef(context);
-            if (result5 !== null) {
-              var result3 = result5;
-            } else {
-              var result4 = parse_namedGraphClause(context);
-              if (result4 !== null) {
-                var result3 = result4;
-              } else {
-                var result3 = null;;
-              };
-            }
-            if (result3 !== null) {
-              var result0 = [result1, result2, result3];
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_namedGraphClause(context) {
-        var cacheKey = "namedGraphClause" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_NAMED(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = parse_iriRef(context);
-            if (result3 !== null) {
-              var result0 = [result1, result2, result3];
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_whereClause(context) {
-        var cacheKey = "whereClause" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var savedPos1 = pos;
-        var result4 = parse_WHERE(context);
-        if (result4 !== null) {
-          var result5 = parse__(context);
-          if (result5 !== null) {
-            var result3 = [result4, result5];
-          } else {
-            var result3 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result3 = null;
-          pos = savedPos1;
-        }
-        var result1 = result3 !== null ? result3 : '';
-        if (result1 !== null) {
-          var result2 = parse_groupGraphPattern(context);
-          if (result2 !== null) {
-            var result0 = [result1, result2];
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_solutionModifier(context) {
-        var cacheKey = "solutionModifier" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result5 = parse_orderClause(context);
-        var result1 = result5 !== null ? result5 : '';
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result4 = parse_limitOffsetClauses(context);
-            var result3 = result4 !== null ? result4 : '';
-            if (result3 !== null) {
-              var result0 = [result1, result2, result3];
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_limitOffsetClauses(context) {
-        var cacheKey = "limitOffsetClauses" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos1 = pos;
-        var result7 = parse_limitClause(context);
-        if (result7 !== null) {
-          var result8 = parse__(context);
-          if (result8 !== null) {
-            var savedPos2 = pos;
-            var result11 = parse_offsetClause(context);
-            if (result11 !== null) {
-              var result12 = parse__(context);
-              if (result12 !== null) {
-                var result10 = [result11, result12];
-              } else {
-                var result10 = null;
-                pos = savedPos2;
-              }
-            } else {
-              var result10 = null;
-              pos = savedPos2;
-            }
-            var result9 = result10 !== null ? result10 : '';
-            if (result9 !== null) {
-              var result6 = [result7, result8, result9];
-            } else {
-              var result6 = null;
-              pos = savedPos1;
-            }
-          } else {
-            var result6 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result6 = null;
-          pos = savedPos1;
-        }
-        if (result6 !== null) {
-          var result0 = result6;
-        } else {
-          var savedPos0 = pos;
-          var result2 = parse_offsetClause(context);
-          if (result2 !== null) {
-            var result3 = parse__(context);
-            if (result3 !== null) {
-              var result5 = parse_limitClause(context);
-              var result4 = result5 !== null ? result5 : '';
-              if (result4 !== null) {
-                var result1 = [result2, result3, result4];
-              } else {
-                var result1 = null;
-                pos = savedPos0;
-              }
-            } else {
-              var result1 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result1 = null;
-            pos = savedPos0;
-          }
-          if (result1 !== null) {
-            var result0 = result1;
-          } else {
-            var result0 = null;;
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_orderClause(context) {
-        var cacheKey = "orderClause" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_ORDER(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = parse_BY(context);
-            if (result3 !== null) {
-              var result4 = parse__(context);
-              if (result4 !== null) {
-                var result6 = parse_orderCondition(context);
-                if (result6 !== null) {
-                  var result5 = [];
-                  while (result6 !== null) {
-                    result5.push(result6);
-                    var result6 = parse_orderCondition(context);
-                  }
-                } else {
-                  var result5 = null;
-                }
-                if (result5 !== null) {
-                  var result0 = [result1, result2, result3, result4, result5];
-                } else {
-                  var result0 = null;
-                  pos = savedPos0;
-                }
-              } else {
-                var result0 = null;
-                pos = savedPos0;
-              }
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_orderCondition(context) {
-        var cacheKey = "orderCondition" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result9 = parse_ASC(context);
-        if (result9 !== null) {
-          var result5 = result9;
-        } else {
-          var result8 = parse_DESC(context);
-          if (result8 !== null) {
-            var result5 = result8;
-          } else {
-            var result5 = null;;
-          };
-        }
-        if (result5 !== null) {
-          var result6 = parse__(context);
-          if (result6 !== null) {
-            var result7 = parse_brackettedExpression(context);
-            if (result7 !== null) {
-              var result4 = [result5, result6, result7];
-            } else {
-              var result4 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result4 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result4 = null;
-          pos = savedPos0;
-        }
-        if (result4 !== null) {
-          var result0 = result4;
-        } else {
-          var result3 = parse_constraint(context);
-          if (result3 !== null) {
-            var result1 = result3;
-          } else {
-            var result2 = parse_var(context);
-            if (result2 !== null) {
-              var result1 = result2;
-            } else {
-              var result1 = null;;
-            };
-          }
-          if (result1 !== null) {
-            var result0 = result1;
-          } else {
-            var result0 = null;;
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_limitClause(context) {
-        var cacheKey = "limitClause" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_LIMIT(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = parse_INTEGER(context);
-            if (result3 !== null) {
-              var result0 = [result1, result2, result3];
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_offsetClause(context) {
-        var cacheKey = "offsetClause" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_OFFSET(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = parse_INTEGER(context);
-            if (result3 !== null) {
-              var result0 = [result1, result2, result3];
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_groupGraphPattern(context) {
-        var cacheKey = "groupGraphPattern" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_OPEN_CURLY_BRACE(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var savedPos6 = pos;
-            var result23 = parse_triplesBlock(context);
-            if (result23 !== null) {
-              var result24 = parse__(context);
-              if (result24 !== null) {
-                var result22 = [result23, result24];
-              } else {
-                var result22 = null;
-                pos = savedPos6;
-              }
-            } else {
-              var result22 = null;
-              pos = savedPos6;
-            }
-            var result3 = result22 !== null ? result22 : '';
-            if (result3 !== null) {
-              var result4 = [];
-              var savedPos1 = pos;
-              var savedPos5 = pos;
-              var result20 = parse_graphPatternNotTriples(context);
-              if (result20 !== null) {
-                var result21 = parse__(context);
-                if (result21 !== null) {
-                  var result19 = [result20, result21];
-                } else {
-                  var result19 = null;
-                  pos = savedPos5;
-                }
-              } else {
-                var result19 = null;
-                pos = savedPos5;
-              }
-              if (result19 !== null) {
-                var result7 = result19;
-              } else {
-                var savedPos4 = pos;
-                var result17 = parse_filter(context);
-                if (result17 !== null) {
-                  var result18 = parse__(context);
-                  if (result18 !== null) {
-                    var result16 = [result17, result18];
-                  } else {
-                    var result16 = null;
-                    pos = savedPos4;
-                  }
-                } else {
-                  var result16 = null;
-                  pos = savedPos4;
-                }
-                if (result16 !== null) {
-                  var result7 = result16;
-                } else {
-                  var result7 = null;;
-                };
-              }
-              if (result7 !== null) {
-                var savedPos3 = pos;
-                var result14 = parse_DOT(context);
-                if (result14 !== null) {
-                  var result15 = parse__(context);
-                  if (result15 !== null) {
-                    var result13 = [result14, result15];
-                  } else {
-                    var result13 = null;
-                    pos = savedPos3;
-                  }
-                } else {
-                  var result13 = null;
-                  pos = savedPos3;
-                }
-                var result8 = result13 !== null ? result13 : '';
-                if (result8 !== null) {
-                  var savedPos2 = pos;
-                  var result11 = parse_triplesBlock(context);
-                  if (result11 !== null) {
-                    var result12 = parse__(context);
-                    if (result12 !== null) {
-                      var result10 = [result11, result12];
-                    } else {
-                      var result10 = null;
-                      pos = savedPos2;
-                    }
-                  } else {
-                    var result10 = null;
-                    pos = savedPos2;
-                  }
-                  var result9 = result10 !== null ? result10 : '';
-                  if (result9 !== null) {
-                    var result6 = [result7, result8, result9];
-                  } else {
-                    var result6 = null;
-                    pos = savedPos1;
-                  }
-                } else {
-                  var result6 = null;
-                  pos = savedPos1;
-                }
-              } else {
-                var result6 = null;
-                pos = savedPos1;
-              }
-              while (result6 !== null) {
-                result4.push(result6);
-                var savedPos1 = pos;
-                var savedPos5 = pos;
-                var result20 = parse_graphPatternNotTriples(context);
-                if (result20 !== null) {
-                  var result21 = parse__(context);
-                  if (result21 !== null) {
-                    var result19 = [result20, result21];
-                  } else {
-                    var result19 = null;
-                    pos = savedPos5;
-                  }
-                } else {
-                  var result19 = null;
-                  pos = savedPos5;
-                }
-                if (result19 !== null) {
-                  var result7 = result19;
-                } else {
-                  var savedPos4 = pos;
-                  var result17 = parse_filter(context);
-                  if (result17 !== null) {
-                    var result18 = parse__(context);
-                    if (result18 !== null) {
-                      var result16 = [result17, result18];
-                    } else {
-                      var result16 = null;
-                      pos = savedPos4;
-                    }
-                  } else {
-                    var result16 = null;
-                    pos = savedPos4;
-                  }
-                  if (result16 !== null) {
-                    var result7 = result16;
-                  } else {
-                    var result7 = null;;
-                  };
-                }
-                if (result7 !== null) {
-                  var savedPos3 = pos;
-                  var result14 = parse_DOT(context);
-                  if (result14 !== null) {
-                    var result15 = parse__(context);
-                    if (result15 !== null) {
-                      var result13 = [result14, result15];
-                    } else {
-                      var result13 = null;
-                      pos = savedPos3;
-                    }
-                  } else {
-                    var result13 = null;
-                    pos = savedPos3;
-                  }
-                  var result8 = result13 !== null ? result13 : '';
-                  if (result8 !== null) {
-                    var savedPos2 = pos;
-                    var result11 = parse_triplesBlock(context);
-                    if (result11 !== null) {
-                      var result12 = parse__(context);
-                      if (result12 !== null) {
-                        var result10 = [result11, result12];
-                      } else {
-                        var result10 = null;
-                        pos = savedPos2;
-                      }
-                    } else {
-                      var result10 = null;
-                      pos = savedPos2;
-                    }
-                    var result9 = result10 !== null ? result10 : '';
-                    if (result9 !== null) {
-                      var result6 = [result7, result8, result9];
-                    } else {
-                      var result6 = null;
-                      pos = savedPos1;
-                    }
-                  } else {
-                    var result6 = null;
-                    pos = savedPos1;
-                  }
-                } else {
-                  var result6 = null;
-                  pos = savedPos1;
-                }
-              }
-              if (result4 !== null) {
-                var result5 = parse_CLOSE_CURLY_BRACE(context);
-                if (result5 !== null) {
-                  var result0 = [result1, result2, result3, result4, result5];
-                } else {
-                  var result0 = null;
-                  pos = savedPos0;
-                }
-              } else {
-                var result0 = null;
-                pos = savedPos0;
-              }
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_triplesBlock(context) {
-        var cacheKey = "triplesBlock" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_triplesSameSubject(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var savedPos1 = pos;
-            var result5 = parse_DOT(context);
-            if (result5 !== null) {
-              var result6 = parse__(context);
-              if (result6 !== null) {
-                var savedPos2 = pos;
-                var result9 = parse_triplesBlock(context);
-                if (result9 !== null) {
-                  var result10 = parse__(context);
-                  if (result10 !== null) {
-                    var result8 = [result9, result10];
-                  } else {
-                    var result8 = null;
-                    pos = savedPos2;
-                  }
-                } else {
-                  var result8 = null;
-                  pos = savedPos2;
-                }
-                var result7 = result8 !== null ? result8 : '';
-                if (result7 !== null) {
-                  var result4 = [result5, result6, result7];
-                } else {
-                  var result4 = null;
-                  pos = savedPos1;
-                }
-              } else {
-                var result4 = null;
-                pos = savedPos1;
-              }
-            } else {
-              var result4 = null;
-              pos = savedPos1;
-            }
-            var result3 = result4 !== null ? result4 : '';
-            if (result3 !== null) {
-              var result0 = [result1, result2, result3];
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_graphPatternNotTriples(context) {
-        var cacheKey = "graphPatternNotTriples" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var result3 = parse_optionalGraphPattern(context);
-        if (result3 !== null) {
-          var result0 = result3;
-        } else {
-          var result2 = parse_groupOrUnionGraphPattern(context);
-          if (result2 !== null) {
-            var result0 = result2;
-          } else {
-            var result1 = parse_graphGraphPattern(context);
-            if (result1 !== null) {
-              var result0 = result1;
-            } else {
-              var result0 = null;;
-            };
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_optionalGraphPattern(context) {
-        var cacheKey = "optionalGraphPattern" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_OPTIONAL(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = parse_groupGraphPattern(context);
-            if (result3 !== null) {
-              var result0 = [result1, result2, result3];
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_graphGraphPattern(context) {
-        var cacheKey = "graphGraphPattern" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_GRAPH(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = parse_varOrIRIref(context);
-            if (result3 !== null) {
-              var result4 = parse__(context);
-              if (result4 !== null) {
-                var result5 = parse_groupGraphPattern(context);
-                if (result5 !== null) {
-                  var result0 = [result1, result2, result3, result4, result5];
-                } else {
-                  var result0 = null;
-                  pos = savedPos0;
-                }
-              } else {
-                var result0 = null;
-                pos = savedPos0;
-              }
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_groupOrUnionGraphPattern(context) {
-        var cacheKey = "groupOrUnionGraphPattern" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_groupGraphPattern(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = [];
-            var savedPos1 = pos;
-            var result5 = parse_UNION(context);
-            if (result5 !== null) {
-              var result6 = parse__(context);
-              if (result6 !== null) {
-                var result7 = parse_groupGraphPattern(context);
-                if (result7 !== null) {
-                  var result8 = parse__(context);
-                  if (result8 !== null) {
-                    var result4 = [result5, result6, result7, result8];
-                  } else {
-                    var result4 = null;
-                    pos = savedPos1;
-                  }
-                } else {
-                  var result4 = null;
-                  pos = savedPos1;
-                }
-              } else {
-                var result4 = null;
-                pos = savedPos1;
-              }
-            } else {
-              var result4 = null;
-              pos = savedPos1;
-            }
-            while (result4 !== null) {
-              result3.push(result4);
-              var savedPos1 = pos;
-              var result5 = parse_UNION(context);
-              if (result5 !== null) {
-                var result6 = parse__(context);
-                if (result6 !== null) {
-                  var result7 = parse_groupGraphPattern(context);
-                  if (result7 !== null) {
-                    var result8 = parse__(context);
-                    if (result8 !== null) {
-                      var result4 = [result5, result6, result7, result8];
-                    } else {
-                      var result4 = null;
-                      pos = savedPos1;
-                    }
-                  } else {
-                    var result4 = null;
-                    pos = savedPos1;
-                  }
-                } else {
-                  var result4 = null;
-                  pos = savedPos1;
-                }
-              } else {
-                var result4 = null;
-                pos = savedPos1;
-              }
-            }
-            if (result3 !== null) {
-              var result0 = [result1, result2, result3];
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_filter(context) {
-        var cacheKey = "filter" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_FILTER(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = parse_constraint(context);
-            if (result3 !== null) {
-              var result0 = [result1, result2, result3];
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_constraint(context) {
-        var cacheKey = "constraint" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var result3 = parse_brackettedExpression(context);
-        if (result3 !== null) {
-          var result0 = result3;
-        } else {
-          var result2 = parse_builtInCall(context);
-          if (result2 !== null) {
-            var result0 = result2;
-          } else {
-            var result1 = parse_functionCall(context);
-            if (result1 !== null) {
-              var result0 = result1;
-            } else {
-              var result0 = null;;
-            };
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_functionCall(context) {
-        var cacheKey = "functionCall" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_iriRef(context);
-        if (result1 !== null) {
-          var result2 = parse_argList(context);
-          if (result2 !== null) {
-            var result0 = [result1, result2];
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_argList(context) {
-        var cacheKey = "argList" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_OPEN_BRACE(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var savedPos1 = pos;
-            var result6 = parse_conditionalOrExpression(context);
-            if (result6 !== null) {
-              var result7 = parse__(context);
-              if (result7 !== null) {
-                var result8 = [];
-                var savedPos2 = pos;
-                var result10 = parse_COMMA(context);
-                if (result10 !== null) {
-                  var result11 = parse__(context);
-                  if (result11 !== null) {
-                    var result12 = parse_conditionalOrExpression(context);
-                    if (result12 !== null) {
-                      var result13 = parse__(context);
-                      if (result13 !== null) {
-                        var result9 = [result10, result11, result12, result13];
-                      } else {
-                        var result9 = null;
-                        pos = savedPos2;
-                      }
-                    } else {
-                      var result9 = null;
-                      pos = savedPos2;
-                    }
-                  } else {
-                    var result9 = null;
-                    pos = savedPos2;
-                  }
-                } else {
-                  var result9 = null;
-                  pos = savedPos2;
-                }
-                while (result9 !== null) {
-                  result8.push(result9);
-                  var savedPos2 = pos;
-                  var result10 = parse_COMMA(context);
-                  if (result10 !== null) {
-                    var result11 = parse__(context);
-                    if (result11 !== null) {
-                      var result12 = parse_conditionalOrExpression(context);
-                      if (result12 !== null) {
-                        var result13 = parse__(context);
-                        if (result13 !== null) {
-                          var result9 = [result10, result11, result12, result13];
-                        } else {
-                          var result9 = null;
-                          pos = savedPos2;
-                        }
-                      } else {
-                        var result9 = null;
-                        pos = savedPos2;
-                      }
-                    } else {
-                      var result9 = null;
-                      pos = savedPos2;
-                    }
-                  } else {
-                    var result9 = null;
-                    pos = savedPos2;
-                  }
-                }
-                if (result8 !== null) {
-                  var result5 = [result6, result7, result8];
-                } else {
-                  var result5 = null;
-                  pos = savedPos1;
-                }
-              } else {
-                var result5 = null;
-                pos = savedPos1;
-              }
-            } else {
-              var result5 = null;
-              pos = savedPos1;
-            }
-            var result3 = result5 !== null ? result5 : '';
-            if (result3 !== null) {
-              var result4 = parse_CLOSE_BRACE(context);
-              if (result4 !== null) {
-                var result0 = [result1, result2, result3, result4];
-              } else {
-                var result0 = null;
-                pos = savedPos0;
-              }
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_constructTemplate(context) {
-        var cacheKey = "constructTemplate" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_OPEN_CURLY_BRACE(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result6 = parse_constructTriples(context);
-            var result3 = result6 !== null ? result6 : '';
-            if (result3 !== null) {
-              var result4 = parse__(context);
-              if (result4 !== null) {
-                var result5 = parse_CLOSE_CURLY_BRACE(context);
-                if (result5 !== null) {
-                  var result0 = [result1, result2, result3, result4, result5];
-                } else {
-                  var result0 = null;
-                  pos = savedPos0;
-                }
-              } else {
-                var result0 = null;
-                pos = savedPos0;
-              }
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_constructTriples(context) {
-        var cacheKey = "constructTriples" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_triplesSameSubject(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var savedPos1 = pos;
-            var result5 = parse_DOT(context);
-            if (result5 !== null) {
-              var result6 = parse__(context);
-              if (result6 !== null) {
-                var savedPos2 = pos;
-                var result9 = parse_constructTriples(context);
-                if (result9 !== null) {
-                  var result10 = parse__(context);
-                  if (result10 !== null) {
-                    var result8 = [result9, result10];
-                  } else {
-                    var result8 = null;
-                    pos = savedPos2;
-                  }
-                } else {
-                  var result8 = null;
-                  pos = savedPos2;
-                }
-                var result7 = result8 !== null ? result8 : '';
-                if (result7 !== null) {
-                  var result4 = [result5, result6, result7];
-                } else {
-                  var result4 = null;
-                  pos = savedPos1;
-                }
-              } else {
-                var result4 = null;
-                pos = savedPos1;
-              }
-            } else {
-              var result4 = null;
-              pos = savedPos1;
-            }
-            var result3 = result4 !== null ? result4 : '';
-            if (result3 !== null) {
-              var result0 = [result1, result2, result3];
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_triplesSameSubject(context) {
-        var cacheKey = "triplesSameSubject" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos1 = pos;
-        var result6 = parse_varOrTerm(context);
-        if (result6 !== null) {
-          var result7 = parse__(context);
-          if (result7 !== null) {
-            var result8 = parse_propertyListNotEmpty(context);
-            if (result8 !== null) {
-              var result5 = [result6, result7, result8];
-            } else {
-              var result5 = null;
-              pos = savedPos1;
-            }
-          } else {
-            var result5 = null;
-            pos = savedPos1;
-          }
-        } else {
-          var result5 = null;
-          pos = savedPos1;
-        }
-        if (result5 !== null) {
-          var result0 = result5;
-        } else {
-          var savedPos0 = pos;
-          var result2 = parse_triplesNode(context);
-          if (result2 !== null) {
-            var result3 = parse__(context);
-            if (result3 !== null) {
-              var result4 = parse_propertyList(context);
-              if (result4 !== null) {
-                var result1 = [result2, result3, result4];
-              } else {
-                var result1 = null;
-                pos = savedPos0;
-              }
-            } else {
-              var result1 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result1 = null;
-            pos = savedPos0;
-          }
-          if (result1 !== null) {
-            var result0 = result1;
-          } else {
-            var result0 = null;;
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_propertyListNotEmpty(context) {
-        var cacheKey = "propertyListNotEmpty" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_verb(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = parse_objectList(context);
-            if (result3 !== null) {
-              var result4 = parse__(context);
-              if (result4 !== null) {
-                var result5 = [];
-                var savedPos1 = pos;
-                var result7 = parse_SEMICOLON(context);
-                if (result7 !== null) {
-                  var result8 = parse__(context);
-                  if (result8 !== null) {
-                    var savedPos2 = pos;
-                    var result11 = parse_verb(context);
-                    if (result11 !== null) {
-                      var result12 = parse__(context);
-                      if (result12 !== null) {
-                        var result13 = parse_objectList(context);
-                        if (result13 !== null) {
-                          var result14 = parse__(context);
-                          if (result14 !== null) {
-                            var result10 = [result11, result12, result13, result14];
-                          } else {
-                            var result10 = null;
-                            pos = savedPos2;
-                          }
-                        } else {
-                          var result10 = null;
-                          pos = savedPos2;
-                        }
-                      } else {
-                        var result10 = null;
-                        pos = savedPos2;
-                      }
-                    } else {
-                      var result10 = null;
-                      pos = savedPos2;
-                    }
-                    var result9 = result10 !== null ? result10 : '';
-                    if (result9 !== null) {
-                      var result6 = [result7, result8, result9];
-                    } else {
-                      var result6 = null;
-                      pos = savedPos1;
-                    }
-                  } else {
-                    var result6 = null;
-                    pos = savedPos1;
-                  }
-                } else {
-                  var result6 = null;
-                  pos = savedPos1;
-                }
-                while (result6 !== null) {
-                  result5.push(result6);
-                  var savedPos1 = pos;
-                  var result7 = parse_SEMICOLON(context);
-                  if (result7 !== null) {
-                    var result8 = parse__(context);
-                    if (result8 !== null) {
-                      var savedPos2 = pos;
-                      var result11 = parse_verb(context);
-                      if (result11 !== null) {
-                        var result12 = parse__(context);
-                        if (result12 !== null) {
-                          var result13 = parse_objectList(context);
-                          if (result13 !== null) {
-                            var result14 = parse__(context);
-                            if (result14 !== null) {
-                              var result10 = [result11, result12, result13, result14];
-                            } else {
-                              var result10 = null;
-                              pos = savedPos2;
-                            }
-                          } else {
-                            var result10 = null;
-                            pos = savedPos2;
-                          }
-                        } else {
-                          var result10 = null;
-                          pos = savedPos2;
-                        }
-                      } else {
-                        var result10 = null;
-                        pos = savedPos2;
-                      }
-                      var result9 = result10 !== null ? result10 : '';
-                      if (result9 !== null) {
-                        var result6 = [result7, result8, result9];
-                      } else {
-                        var result6 = null;
-                        pos = savedPos1;
-                      }
-                    } else {
-                      var result6 = null;
-                      pos = savedPos1;
-                    }
-                  } else {
-                    var result6 = null;
-                    pos = savedPos1;
-                  }
-                }
-                if (result5 !== null) {
-                  var result0 = [result1, result2, result3, result4, result5];
-                } else {
-                  var result0 = null;
-                  pos = savedPos0;
-                }
-              } else {
-                var result0 = null;
-                pos = savedPos0;
-              }
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_propertyList(context) {
-        var cacheKey = "propertyList" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var result1 = parse_propertyListNotEmpty(context);
-        var result0 = result1 !== null ? result1 : '';
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_objectList(context) {
-        var cacheKey = "objectList" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_graphNode(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = [];
-            var savedPos1 = pos;
-            var result5 = parse_COMMA(context);
-            if (result5 !== null) {
-              var result6 = parse__(context);
-              if (result6 !== null) {
-                var result7 = parse_graphNode(context);
-                if (result7 !== null) {
-                  var result8 = parse__(context);
-                  if (result8 !== null) {
-                    var result4 = [result5, result6, result7, result8];
-                  } else {
-                    var result4 = null;
-                    pos = savedPos1;
-                  }
-                } else {
-                  var result4 = null;
-                  pos = savedPos1;
-                }
-              } else {
-                var result4 = null;
-                pos = savedPos1;
-              }
-            } else {
-              var result4 = null;
-              pos = savedPos1;
-            }
-            while (result4 !== null) {
-              result3.push(result4);
-              var savedPos1 = pos;
-              var result5 = parse_COMMA(context);
-              if (result5 !== null) {
-                var result6 = parse__(context);
-                if (result6 !== null) {
-                  var result7 = parse_graphNode(context);
-                  if (result7 !== null) {
-                    var result8 = parse__(context);
-                    if (result8 !== null) {
-                      var result4 = [result5, result6, result7, result8];
-                    } else {
-                      var result4 = null;
-                      pos = savedPos1;
-                    }
-                  } else {
-                    var result4 = null;
-                    pos = savedPos1;
-                  }
-                } else {
-                  var result4 = null;
-                  pos = savedPos1;
-                }
-              } else {
-                var result4 = null;
-                pos = savedPos1;
-              }
-            }
-            if (result3 !== null) {
-              var result0 = [result1, result2, result3];
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_verb(context) {
-        var cacheKey = "verb" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var result2 = parse_varOrIRIref(context);
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result1 = parse_A(context);
-          if (result1 !== null) {
-            var result0 = result1;
-          } else {
-            var result0 = null;;
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_triplesNode(context) {
-        var cacheKey = "triplesNode" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var result2 = parse_collection(context);
-        if (result2 !== null) {
-          var result0 = result2;
-        } else {
-          var result1 = parse_blankNodePropertyList(context);
-          if (result1 !== null) {
-            var result0 = result1;
-          } else {
-            var result0 = null;;
-          };
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_blankNodePropertyList(context) {
-        var cacheKey = "blankNodePropertyList" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_OPEN_SQUARE_BRACE(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var result3 = parse_propertyListNotEmpty(context);
-            if (result3 !== null) {
-              var result4 = parse__(context);
-              if (result4 !== null) {
-                var result5 = parse_CLOSE_SQUARE_BRACE(context);
-                if (result5 !== null) {
-                  var result0 = [result1, result2, result3, result4, result5];
-                } else {
-                  var result0 = null;
-                  pos = savedPos0;
-                }
-              } else {
-                var result0 = null;
-                pos = savedPos0;
-              }
-            } else {
-              var result0 = null;
-              pos = savedPos0;
-            }
-          } else {
-            var result0 = null;
-            pos = savedPos0;
-          }
-        } else {
-          var result0 = null;
-          pos = savedPos0;
-        }
-        
-        
-        
-        cache[cacheKey] = {
-          nextPos: pos,
-          result:  result0
-        };
-        return result0;
-      }
-      
-      function parse_collection(context) {
-        var cacheKey = "collection" + '@' + pos;
-        var cachedResult = cache[cacheKey];
-        if (cachedResult) {
-          pos = cachedResult.nextPos;
-          return cachedResult.result;
-        }
-        
-        
-        var savedPos0 = pos;
-        var result1 = parse_OPEN_BRACE(context);
-        if (result1 !== null) {
-          var result2 = parse__(context);
-          if (result2 !== null) {
-            var savedPos1 = pos;
-            var result6 = parse_graphNode(context);
-            if (result6 !== null) {
-              var result7 = parse__(context);
-              if (result7 !== null) {
-                var result5 = [result6, result7];
-              } else {
-                var result5 = null;
-                pos = savedPos1;
-              }
-            } else {
-              var result5 = null;
-              pos = savedPos1;
-            }
-            if (result5 !== null) {
-              var result3 = [];
-              while (result5 !== null) {
-                result3.push(result5);
-                var savedPos1 = pos;
-                var result6 = parse_graphNode(context);
-                if (result6 !== null) {
-                  var result7 = parse__(context);
-                  if (result7 !== null) {
-                    var result5 = [result6, result7];
-                  } else {
-                    var result5 = null;
-                    pos = savedPos1;
-                  }
-                } else {
-                  var result5 = null;
-                  pos = savedPos1;
-                }
-              }
-            } else {
-              var result3 = null;
-            }
-            if (result3 !== null) {
-              var result4 = parse_CLOSE_BRACE(context);
-              if (result4 !== null) {
-                var result0 = [result1, result2, result3, result4];
-              } else {
-                var result0 = null;
-                p

<TRUNCATED>