Add proof of concept for semantic highlighting.
This commit is contained in:
parent
afa970767a
commit
0991f44263
18 changed files with 14295 additions and 13317 deletions
|
|
@ -16,19 +16,18 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
define('ace/mode/xquery', ['require', 'exports', 'module' , 'ace/worker/worker_client', 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/xquery_highlight_rules', 'ace/mode/behaviour/xquery', 'ace/range'], function(require, exports, module) {
|
||||
define('ace/mode/xquery', ['require', 'exports', 'module' , 'ace/worker/worker_client', 'ace/lib/oop', 'ace/mode/text', 'ace/mode/xquery_tokenizer', 'ace/mode/behaviour/xquery', 'ace/range'], function(require, exports, module) {
|
||||
"use strict";
|
||||
|
||||
var WorkerClient = require("../worker/worker_client").WorkerClient;
|
||||
var oop = require("../lib/oop");
|
||||
var TextMode = require("./text").Mode;
|
||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||
var XQueryHighlightRules = require("./xquery_highlight_rules").XQueryHighlightRules;
|
||||
var XQueryTokenizer = require("./xquery_tokenizer").XQueryTokenizer;
|
||||
var XQueryBehaviour = require("./behaviour/xquery").XQueryBehaviour;
|
||||
var Range = require("../range").Range;
|
||||
|
||||
var Mode = function(parent) {
|
||||
this.$tokenizer = new Tokenizer(new XQueryHighlightRules().getRules());
|
||||
this.$tokenizer = new XQueryTokenizer();
|
||||
this.$behaviour = new XQueryBehaviour(parent);
|
||||
};
|
||||
|
||||
|
|
@ -110,6 +109,9 @@ oop.inherits(Mode, TextMode);
|
|||
session.clearAnnotations();
|
||||
});
|
||||
|
||||
worker.on("highlight", function(tokens) {
|
||||
session.getMode().$tokenizer.cache = tokens.data;
|
||||
});
|
||||
return worker;
|
||||
};
|
||||
|
||||
|
|
@ -283,6 +285,69 @@ var WorkerClient = function(topLevelNamespaces, packagedJs, mod, classname) {
|
|||
exports.WorkerClient = WorkerClient;
|
||||
|
||||
});
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (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.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Ajax.org Code Editor (ACE).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Ajax.org B.V.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2010
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* William Candillon <wcandillon AT gmail DOT com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
define('ace/mode/xquery_tokenizer', ['require', 'exports', 'module' , 'ace/tokenizer', 'ace/mode/xquery_highlight_rules'], function(require, exports, module) {
|
||||
"use strict";
|
||||
|
||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||
var XQueryHighlightRules = require("./xquery_highlight_rules").XQueryHighlightRules;
|
||||
|
||||
var XQueryTokenizer = exports.XQueryTokenizer = function(){
|
||||
this.cache = [];
|
||||
this.$regexpTokenizer = new Tokenizer(new XQueryHighlightRules().getRules());
|
||||
};
|
||||
|
||||
(function() {
|
||||
this.getLineTokens = function(line, startState) {
|
||||
var cachedLine = null;
|
||||
for(var i in this.cache)
|
||||
{
|
||||
var c = this.cache[i];
|
||||
if(c && c.line == line && c.state == startState) {
|
||||
console.log("RETURN CACHE");
|
||||
return c.tokens;
|
||||
}
|
||||
}
|
||||
return this.$regexpTokenizer.getLineTokens(line, startState);
|
||||
};
|
||||
}).call(XQueryTokenizer.prototype);
|
||||
});
|
||||
/*
|
||||
* eXide - web-based XQuery IDE
|
||||
*
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -10,9 +10,8 @@
|
|||
<!--
|
||||
|
||||
Ace
|
||||
version 0.2.0
|
||||
commit 517e88f2f077263e49159c7b1742b5f3a7c605b4
|
||||
|
||||
version
|
||||
commit
|
||||
|
||||
-->
|
||||
</head>
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -16,19 +16,18 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
ace.define('ace/mode/xquery', ['require', 'exports', 'module' , 'ace/worker/worker_client', 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/xquery_highlight_rules', 'ace/mode/behaviour/xquery', 'ace/range'], function(require, exports, module) {
|
||||
ace.define('ace/mode/xquery', ['require', 'exports', 'module' , 'ace/worker/worker_client', 'ace/lib/oop', 'ace/mode/text', 'ace/mode/xquery_tokenizer', 'ace/mode/behaviour/xquery', 'ace/range'], function(require, exports, module) {
|
||||
"use strict";
|
||||
|
||||
var WorkerClient = require("../worker/worker_client").WorkerClient;
|
||||
var oop = require("../lib/oop");
|
||||
var TextMode = require("./text").Mode;
|
||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||
var XQueryHighlightRules = require("./xquery_highlight_rules").XQueryHighlightRules;
|
||||
var Tokenizer = require("./xquery_tokenizer").XQueryTokenizer;
|
||||
var XQueryBehaviour = require("./behaviour/xquery").XQueryBehaviour;
|
||||
var Range = require("../range").Range;
|
||||
|
||||
var Mode = function(parent) {
|
||||
this.$tokenizer = new Tokenizer(new XQueryHighlightRules().getRules());
|
||||
this.$tokenizer = new XQueryTokenizer();
|
||||
this.$behaviour = new XQueryBehaviour(parent);
|
||||
};
|
||||
|
||||
|
|
@ -117,6 +116,59 @@ oop.inherits(Mode, TextMode);
|
|||
|
||||
exports.Mode = Mode;
|
||||
});
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (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.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Ajax.org Code Editor (ACE).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Ajax.org B.V.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2010
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* William Candillon <wcandillon AT gmail DOT com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
ace.define('ace/mode/xquery_tokenizer', ['require', 'exports', 'module' , 'ace/tokenizer', 'ace/mode/xquery_highlight_rules'], function(require, exports, module) {
|
||||
"use strict";
|
||||
|
||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||
var XQueryHighlightRules = require("./xquery_highlight_rules").XQueryHighlightRules;
|
||||
|
||||
var XQueryTokenizer = exports.XQueryTokenizer = function(){
|
||||
this.$regexpTokenizer = new Tokenizer(new XQueryHighlightRules().getRules());
|
||||
};
|
||||
|
||||
(function() {
|
||||
this.getLineTokens = function(line, startState) {
|
||||
return this.$regexpTokenizer.getLineTokens(line, startState);
|
||||
};
|
||||
}).call(XQueryTokenizer.prototype);
|
||||
});
|
||||
/*
|
||||
* eXide - web-based XQuery IDE
|
||||
*
|
||||
|
|
|
|||
|
|
@ -16,19 +16,18 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
define('ace/mode/xquery', ['require', 'exports', 'module' , 'ace/worker/worker_client', 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/xquery_highlight_rules', 'ace/mode/behaviour/xquery', 'ace/range'], function(require, exports, module) {
|
||||
define('ace/mode/xquery', ['require', 'exports', 'module' , 'ace/worker/worker_client', 'ace/lib/oop', 'ace/mode/text', 'ace/mode/xquery_tokenizer', 'ace/mode/behaviour/xquery', 'ace/range'], function(require, exports, module) {
|
||||
"use strict";
|
||||
|
||||
var WorkerClient = require("../worker/worker_client").WorkerClient;
|
||||
var oop = require("../lib/oop");
|
||||
var TextMode = require("./text").Mode;
|
||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||
var XQueryHighlightRules = require("./xquery_highlight_rules").XQueryHighlightRules;
|
||||
var Tokenizer = require("./xquery_tokenizer").XQueryTokenizer;
|
||||
var XQueryBehaviour = require("./behaviour/xquery").XQueryBehaviour;
|
||||
var Range = require("../range").Range;
|
||||
|
||||
var Mode = function(parent) {
|
||||
this.$tokenizer = new Tokenizer(new XQueryHighlightRules().getRules());
|
||||
this.$tokenizer = new XQueryTokenizer();
|
||||
this.$behaviour = new XQueryBehaviour(parent);
|
||||
};
|
||||
|
||||
|
|
@ -117,6 +116,59 @@ oop.inherits(Mode, TextMode);
|
|||
|
||||
exports.Mode = Mode;
|
||||
});
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (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.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Ajax.org Code Editor (ACE).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Ajax.org B.V.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2010
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* William Candillon <wcandillon AT gmail DOT com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
define('ace/mode/xquery_tokenizer', ['require', 'exports', 'module' , 'ace/tokenizer', 'ace/mode/xquery_highlight_rules'], function(require, exports, module) {
|
||||
"use strict";
|
||||
|
||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||
var XQueryHighlightRules = require("./xquery_highlight_rules").XQueryHighlightRules;
|
||||
|
||||
var XQueryTokenizer = exports.XQueryTokenizer = function(){
|
||||
this.$regexpTokenizer = new Tokenizer(new XQueryHighlightRules().getRules());
|
||||
};
|
||||
|
||||
(function() {
|
||||
this.getLineTokens = function(line, startState) {
|
||||
return this.$regexpTokenizer.getLineTokens(line, startState);
|
||||
};
|
||||
}).call(XQueryTokenizer.prototype);
|
||||
});
|
||||
/*
|
||||
* eXide - web-based XQuery IDE
|
||||
*
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -22,13 +22,12 @@ define(function(require, exports, module) {
|
|||
var WorkerClient = require("../worker/worker_client").WorkerClient;
|
||||
var oop = require("../lib/oop");
|
||||
var TextMode = require("./text").Mode;
|
||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||
var XQueryHighlightRules = require("./xquery_highlight_rules").XQueryHighlightRules;
|
||||
var XQueryTokenizer = require("./xquery_tokenizer").XQueryTokenizer;
|
||||
var XQueryBehaviour = require("./behaviour/xquery").XQueryBehaviour;
|
||||
var Range = require("../range").Range;
|
||||
|
||||
var Mode = function(parent) {
|
||||
this.$tokenizer = new Tokenizer(new XQueryHighlightRules().getRules());
|
||||
this.$tokenizer = new XQueryTokenizer();
|
||||
this.$behaviour = new XQueryBehaviour(parent);
|
||||
};
|
||||
|
||||
|
|
@ -110,6 +109,9 @@ oop.inherits(Mode, TextMode);
|
|||
session.clearAnnotations();
|
||||
});
|
||||
|
||||
worker.on("highlight", function(tokens) {
|
||||
session.getMode().$tokenizer.cache = tokens.data;
|
||||
});
|
||||
return worker;
|
||||
};
|
||||
|
||||
|
|
|
|||
59
lib/ace/mode/xquery/Position.js
Normal file
59
lib/ace/mode/xquery/Position.js
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (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.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Ajax.org Code Editor (ACE).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Ajax.org B.V.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2010
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* William Candillon <wcandillon AT gmail DOT com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL. *
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
define(function(require, exports, module){
|
||||
var Position = exports.Position = function(line, offset, length)
|
||||
{
|
||||
this.line = line;
|
||||
this.offset = offset;
|
||||
this.length = length;
|
||||
|
||||
this.getLine = function()
|
||||
{
|
||||
return this.line;
|
||||
};
|
||||
|
||||
this.getOffset = function()
|
||||
{
|
||||
return this.offset;
|
||||
};
|
||||
|
||||
this.getLength = function()
|
||||
{
|
||||
return this.length;
|
||||
};
|
||||
};
|
||||
|
||||
});
|
||||
|
|
@ -1,6 +1,41 @@
|
|||
define(function(require, exports, module) {
|
||||
// $ANTLR 3.3 Nov 30, 2010 12:50:56 xquery/StringLexer.g 2012-04-09 19:06:41
|
||||
// $ANTLR 3.3 Nov 30, 2010 12:50:56 xquery/StringLexer.g 2012-04-13 15:32:18
|
||||
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (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.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Ajax.org Code Editor (ACE).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Ajax.org B.V.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2010
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* William Candillon <wcandillon AT gmail DOT com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL. *
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
var org = require("./antlr3-all").org;
|
||||
var XQDTLexer = require("./XQDTLexer").XQDTLexer;
|
||||
|
||||
|
|
@ -616,8 +651,8 @@ org.antlr.lang.augmentObject(StringLexer.prototype, {
|
|||
try {
|
||||
var _type = this.QUOT;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/StringLexer.g:31:6: ({...}? => '\"' )
|
||||
// xquery/StringLexer.g:31:8: {...}? => '\"'
|
||||
// xquery/StringLexer.g:66:6: ({...}? => '\"' )
|
||||
// xquery/StringLexer.g:66:8: {...}? => '\"'
|
||||
if ( !(( this.inQuotStr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "QUOT", " this.inQuotStr ");
|
||||
}
|
||||
|
|
@ -639,8 +674,8 @@ org.antlr.lang.augmentObject(StringLexer.prototype, {
|
|||
try {
|
||||
var _type = this.APOS;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/StringLexer.g:32:6: ({...}? => '\\'' )
|
||||
// xquery/StringLexer.g:32:8: {...}? => '\\''
|
||||
// xquery/StringLexer.g:67:6: ({...}? => '\\'' )
|
||||
// xquery/StringLexer.g:67:8: {...}? => '\\''
|
||||
if ( !(( this.inAposStr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "APOS", " this.inAposStr ");
|
||||
}
|
||||
|
|
@ -662,8 +697,8 @@ org.antlr.lang.augmentObject(StringLexer.prototype, {
|
|||
try {
|
||||
var _type = this.ESCAPE_QUOT;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/StringLexer.g:33:13: ({...}? => '\"\"' )
|
||||
// xquery/StringLexer.g:33:15: {...}? => '\"\"'
|
||||
// xquery/StringLexer.g:68:13: ({...}? => '\"\"' )
|
||||
// xquery/StringLexer.g:68:15: {...}? => '\"\"'
|
||||
if ( !(( this.inQuotStr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "ESCAPE_QUOT", " this.inQuotStr ");
|
||||
}
|
||||
|
|
@ -685,8 +720,8 @@ org.antlr.lang.augmentObject(StringLexer.prototype, {
|
|||
try {
|
||||
var _type = this.ESCAPE_APOS;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/StringLexer.g:34:13: ({...}? => '\\'\\'' )
|
||||
// xquery/StringLexer.g:34:15: {...}? => '\\'\\''
|
||||
// xquery/StringLexer.g:69:13: ({...}? => '\\'\\'' )
|
||||
// xquery/StringLexer.g:69:15: {...}? => '\\'\\''
|
||||
if ( !(( this.inAposStr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "ESCAPE_APOS", " this.inAposStr ");
|
||||
}
|
||||
|
|
@ -708,13 +743,13 @@ org.antlr.lang.augmentObject(StringLexer.prototype, {
|
|||
try {
|
||||
var _type = this.L_PredefinedEntityRef;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/StringLexer.g:38:2: ({...}? => '&' ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' ) ';' )
|
||||
// xquery/StringLexer.g:38:4: {...}? => '&' ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' ) ';'
|
||||
// xquery/StringLexer.g:73:2: ({...}? => '&' ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' ) ';' )
|
||||
// xquery/StringLexer.g:73:4: {...}? => '&' ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' ) ';'
|
||||
if ( !(( this.inQuotStr | this.inAposStr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "L_PredefinedEntityRef", " this.inQuotStr | this.inAposStr ");
|
||||
}
|
||||
this.match('&');
|
||||
// xquery/StringLexer.g:38:48: ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' )
|
||||
// xquery/StringLexer.g:73:48: ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' )
|
||||
var alt1=5;
|
||||
switch ( this.input.LA(1) ) {
|
||||
case 'l':
|
||||
|
|
@ -751,35 +786,35 @@ org.antlr.lang.augmentObject(StringLexer.prototype, {
|
|||
|
||||
switch (alt1) {
|
||||
case 1 :
|
||||
// xquery/StringLexer.g:38:49: 'lt'
|
||||
// xquery/StringLexer.g:73:49: 'lt'
|
||||
this.match("lt");
|
||||
|
||||
|
||||
|
||||
break;
|
||||
case 2 :
|
||||
// xquery/StringLexer.g:38:56: 'gt'
|
||||
// xquery/StringLexer.g:73:56: 'gt'
|
||||
this.match("gt");
|
||||
|
||||
|
||||
|
||||
break;
|
||||
case 3 :
|
||||
// xquery/StringLexer.g:38:63: 'apos'
|
||||
// xquery/StringLexer.g:73:63: 'apos'
|
||||
this.match("apos");
|
||||
|
||||
|
||||
|
||||
break;
|
||||
case 4 :
|
||||
// xquery/StringLexer.g:38:72: 'quot'
|
||||
// xquery/StringLexer.g:73:72: 'quot'
|
||||
this.match("quot");
|
||||
|
||||
|
||||
|
||||
break;
|
||||
case 5 :
|
||||
// xquery/StringLexer.g:38:81: 'amp'
|
||||
// xquery/StringLexer.g:73:81: 'amp'
|
||||
this.match("amp");
|
||||
|
||||
|
||||
|
|
@ -805,7 +840,7 @@ org.antlr.lang.augmentObject(StringLexer.prototype, {
|
|||
try {
|
||||
var _type = this.L_CharRef;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/StringLexer.g:43:2: ({...}? => '&#' ( '0' .. '9' )+ ';' | '&#x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ ';' )
|
||||
// xquery/StringLexer.g:78:2: ({...}? => '&#' ( '0' .. '9' )+ ';' | '&#x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ ';' )
|
||||
var alt4=2;
|
||||
var LA4_0 = this.input.LA(1);
|
||||
|
||||
|
|
@ -843,13 +878,13 @@ org.antlr.lang.augmentObject(StringLexer.prototype, {
|
|||
}
|
||||
switch (alt4) {
|
||||
case 1 :
|
||||
// xquery/StringLexer.g:43:4: {...}? => '&#' ( '0' .. '9' )+ ';'
|
||||
// xquery/StringLexer.g:78:4: {...}? => '&#' ( '0' .. '9' )+ ';'
|
||||
if ( !(( this.inQuotStr | this.inAposStr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "L_CharRef", " this.inQuotStr | this.inAposStr ");
|
||||
}
|
||||
this.match("&#");
|
||||
|
||||
// xquery/StringLexer.g:43:49: ( '0' .. '9' )+
|
||||
// xquery/StringLexer.g:78:49: ( '0' .. '9' )+
|
||||
var cnt2=0;
|
||||
loop2:
|
||||
do {
|
||||
|
|
@ -863,7 +898,7 @@ org.antlr.lang.augmentObject(StringLexer.prototype, {
|
|||
|
||||
switch (alt2) {
|
||||
case 1 :
|
||||
// xquery/StringLexer.g:43:49: '0' .. '9'
|
||||
// xquery/StringLexer.g:78:49: '0' .. '9'
|
||||
this.matchRange('0','9');
|
||||
|
||||
|
||||
|
|
@ -884,10 +919,10 @@ org.antlr.lang.augmentObject(StringLexer.prototype, {
|
|||
|
||||
break;
|
||||
case 2 :
|
||||
// xquery/StringLexer.g:43:65: '&#x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ ';'
|
||||
// xquery/StringLexer.g:78:65: '&#x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ ';'
|
||||
this.match("&#x");
|
||||
|
||||
// xquery/StringLexer.g:43:71: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
|
||||
// xquery/StringLexer.g:78:71: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
|
||||
var cnt3=0;
|
||||
loop3:
|
||||
do {
|
||||
|
|
@ -944,12 +979,12 @@ org.antlr.lang.augmentObject(StringLexer.prototype, {
|
|||
try {
|
||||
var _type = this.L_QuotStringLiteralChar;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/StringLexer.g:47:2: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0027' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ )
|
||||
// xquery/StringLexer.g:47:4: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0027' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
// xquery/StringLexer.g:82:2: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0027' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ )
|
||||
// xquery/StringLexer.g:82:4: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0027' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
if ( !(( this.inQuotStr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "L_QuotStringLiteralChar", " this.inQuotStr ");
|
||||
}
|
||||
// xquery/StringLexer.g:48:3: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0027' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
// xquery/StringLexer.g:83:3: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0027' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
var cnt5=0;
|
||||
loop5:
|
||||
do {
|
||||
|
|
@ -1003,12 +1038,12 @@ org.antlr.lang.augmentObject(StringLexer.prototype, {
|
|||
try {
|
||||
var _type = this.L_AposStringLiteralChar;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/StringLexer.g:53:2: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0028' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ )
|
||||
// xquery/StringLexer.g:53:4: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0028' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
// xquery/StringLexer.g:88:2: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0028' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ )
|
||||
// xquery/StringLexer.g:88:4: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0028' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
if ( !(( this.inAposStr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "L_AposStringLiteralChar", " this.inAposStr ");
|
||||
}
|
||||
// xquery/StringLexer.g:54:3: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0028' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
// xquery/StringLexer.g:89:3: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0028' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
var cnt6=0;
|
||||
loop6:
|
||||
do {
|
||||
|
|
@ -1062,12 +1097,12 @@ org.antlr.lang.augmentObject(StringLexer.prototype, {
|
|||
try {
|
||||
var _type = this.L_AnyChar;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/StringLexer.g:63:5: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ )
|
||||
// xquery/StringLexer.g:63:9: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
// xquery/StringLexer.g:98:5: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ )
|
||||
// xquery/StringLexer.g:98:9: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
if ( !(( !this.inQuotStr && !this.inAposStr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "L_AnyChar", " !this.inQuotStr && !this.inAposStr ");
|
||||
}
|
||||
// xquery/StringLexer.g:64:9: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
// xquery/StringLexer.g:99:9: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
var cnt7=0;
|
||||
loop7:
|
||||
do {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,41 @@
|
|||
define(function(require, exports, module) {
|
||||
// $ANTLR 3.3 Nov 30, 2010 12:50:56 xquery/XMLLexer.g 2012-04-09 19:06:43
|
||||
// $ANTLR 3.3 Nov 30, 2010 12:50:56 xquery/XMLLexer.g 2012-04-13 15:32:20
|
||||
|
||||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (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.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Ajax.org Code Editor (ACE).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Ajax.org B.V.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2010
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* William Candillon <wcandillon AT gmail DOT com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL. *
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
var org = require("./antlr3-all").org;
|
||||
var XQDTLexer = require("./XQDTLexer").XQDTLexer;
|
||||
|
||||
|
|
@ -668,8 +703,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.QUOT;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:97:6: ({...}? => '\"' )
|
||||
// xquery/XMLLexer.g:97:8: {...}? => '\"'
|
||||
// xquery/XMLLexer.g:132:6: ({...}? => '\"' )
|
||||
// xquery/XMLLexer.g:132:8: {...}? => '\"'
|
||||
if ( !(( this.inElem || this.inQuotAttr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "QUOT", " this.inElem || this.inQuotAttr ");
|
||||
}
|
||||
|
|
@ -691,8 +726,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.APOS;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:98:6: ({...}? => '\\'' )
|
||||
// xquery/XMLLexer.g:98:8: {...}? => '\\''
|
||||
// xquery/XMLLexer.g:133:6: ({...}? => '\\'' )
|
||||
// xquery/XMLLexer.g:133:8: {...}? => '\\''
|
||||
if ( !(( this.inElem || this.inAposAttr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "APOS", " this.inElem || this.inAposAttr ");
|
||||
}
|
||||
|
|
@ -714,12 +749,12 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.L_QuotAttrContentChar;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:101:2: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' | '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0028' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' .. '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ )
|
||||
// xquery/XMLLexer.g:101:4: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' | '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0028' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' .. '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
// xquery/XMLLexer.g:136:2: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' | '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0028' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' .. '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ )
|
||||
// xquery/XMLLexer.g:136:4: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' | '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0028' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' .. '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
if ( !(( this.inQuotAttr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "L_QuotAttrContentChar", " this.inQuotAttr ");
|
||||
}
|
||||
// xquery/XMLLexer.g:102:3: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' | '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0028' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' .. '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
// xquery/XMLLexer.g:137:3: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' | '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0028' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' .. '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
var cnt1=0;
|
||||
loop1:
|
||||
do {
|
||||
|
|
@ -773,12 +808,12 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.L_AposAttrContentChar;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:108:2: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' | '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0028' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' .. '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ )
|
||||
// xquery/XMLLexer.g:108:4: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' | '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0028' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' .. '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
// xquery/XMLLexer.g:143:2: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' | '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0028' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' .. '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ )
|
||||
// xquery/XMLLexer.g:143:4: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' | '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0028' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' .. '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
if ( !(( this.inAposAttr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "L_AposAttrContentChar", " this.inAposAttr ");
|
||||
}
|
||||
// xquery/XMLLexer.g:109:3: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' | '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0028' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' .. '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
// xquery/XMLLexer.g:144:3: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' | '\\u0021' | '\\u0023' .. '\\u0025' | '\\u0028' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' .. '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
var cnt2=0;
|
||||
loop2:
|
||||
do {
|
||||
|
|
@ -832,12 +867,12 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.L_ElementContentChar;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:116:2: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ )
|
||||
// xquery/XMLLexer.g:116:4: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
// xquery/XMLLexer.g:151:2: ({...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+ )
|
||||
// xquery/XMLLexer.g:151:4: {...}? => ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
if ( !(( !this.inElem )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "L_ElementContentChar", " !this.inElem ");
|
||||
}
|
||||
// xquery/XMLLexer.g:117:3: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
// xquery/XMLLexer.g:152:3: ( '\\u0009' | '\\u000A' | '\\u000D' | '\\u0020' .. '\\u0025' | '\\u0027' .. '\\u003B' | '\\u003D' .. '\\u007A' | '\\u007C' | '\\u007E' .. '\\uD7FF' | '\\uE000' .. '\\uFFFD' )+
|
||||
var cnt3=0;
|
||||
loop3:
|
||||
do {
|
||||
|
|
@ -891,8 +926,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.GREATER;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:123:2: ({...}? => '>' )
|
||||
// xquery/XMLLexer.g:123:4: {...}? => '>'
|
||||
// xquery/XMLLexer.g:158:2: ({...}? => '>' )
|
||||
// xquery/XMLLexer.g:158:4: {...}? => '>'
|
||||
if ( !(( this.inElem )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "GREATER", " this.inElem ");
|
||||
}
|
||||
|
|
@ -914,8 +949,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.EMPTY_CLOSE_TAG;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:127:2: ({...}? => '/>' )
|
||||
// xquery/XMLLexer.g:127:4: {...}? => '/>'
|
||||
// xquery/XMLLexer.g:162:2: ({...}? => '/>' )
|
||||
// xquery/XMLLexer.g:162:4: {...}? => '/>'
|
||||
if ( !(( this.inElem )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "EMPTY_CLOSE_TAG", " this.inElem ");
|
||||
}
|
||||
|
|
@ -938,12 +973,12 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.S;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:131:2: ({...}? => ( ' ' | '\\t' | '\\r' | '\\n' )+ )
|
||||
// xquery/XMLLexer.g:131:4: {...}? => ( ' ' | '\\t' | '\\r' | '\\n' )+
|
||||
// xquery/XMLLexer.g:166:2: ({...}? => ( ' ' | '\\t' | '\\r' | '\\n' )+ )
|
||||
// xquery/XMLLexer.g:166:4: {...}? => ( ' ' | '\\t' | '\\r' | '\\n' )+
|
||||
if ( !(( this.inElem )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "S", " this.inElem ");
|
||||
}
|
||||
// xquery/XMLLexer.g:131:24: ( ' ' | '\\t' | '\\r' | '\\n' )+
|
||||
// xquery/XMLLexer.g:166:24: ( ' ' | '\\t' | '\\r' | '\\n' )+
|
||||
var cnt4=0;
|
||||
loop4:
|
||||
do {
|
||||
|
|
@ -997,8 +1032,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.L_NCName;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:137:2: ({...}? => NCNameUnprotected )
|
||||
// xquery/XMLLexer.g:137:4: {...}? => NCNameUnprotected
|
||||
// xquery/XMLLexer.g:172:2: ({...}? => NCNameUnprotected )
|
||||
// xquery/XMLLexer.g:172:4: {...}? => NCNameUnprotected
|
||||
if ( !(( this.inElem )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "L_NCName", " this.inElem ");
|
||||
}
|
||||
|
|
@ -1017,10 +1052,10 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
// $ANTLR start NCNameUnprotected
|
||||
mNCNameUnprotected: function() {
|
||||
try {
|
||||
// xquery/XMLLexer.g:141:2: ( NCNameStartChar ( NCNameChar )* )
|
||||
// xquery/XMLLexer.g:141:4: NCNameStartChar ( NCNameChar )*
|
||||
// xquery/XMLLexer.g:176:2: ( NCNameStartChar ( NCNameChar )* )
|
||||
// xquery/XMLLexer.g:176:4: NCNameStartChar ( NCNameChar )*
|
||||
this.mNCNameStartChar();
|
||||
// xquery/XMLLexer.g:141:20: ( NCNameChar )*
|
||||
// xquery/XMLLexer.g:176:20: ( NCNameChar )*
|
||||
loop5:
|
||||
do {
|
||||
var alt5=2;
|
||||
|
|
@ -1033,7 +1068,7 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
|
||||
switch (alt5) {
|
||||
case 1 :
|
||||
// xquery/XMLLexer.g:141:20: NCNameChar
|
||||
// xquery/XMLLexer.g:176:20: NCNameChar
|
||||
this.mNCNameChar();
|
||||
|
||||
|
||||
|
|
@ -1056,7 +1091,7 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
// $ANTLR start NCNameStartChar
|
||||
mNCNameStartChar: function() {
|
||||
try {
|
||||
// xquery/XMLLexer.g:145:2: ( Letter | '_' )
|
||||
// xquery/XMLLexer.g:180:2: ( Letter | '_' )
|
||||
// xquery/XMLLexer.g:
|
||||
if ( (this.input.LA(1)>='A' && this.input.LA(1)<='Z')||this.input.LA(1)=='_'||(this.input.LA(1)>='a' && this.input.LA(1)<='z') ) {
|
||||
this.input.consume();
|
||||
|
|
@ -1079,7 +1114,7 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
// $ANTLR start NCNameChar
|
||||
mNCNameChar: function() {
|
||||
try {
|
||||
// xquery/XMLLexer.g:149:2: ( Letter | XMLDigit | '.' | '-' | '_' )
|
||||
// xquery/XMLLexer.g:184:2: ( Letter | XMLDigit | '.' | '-' | '_' )
|
||||
// xquery/XMLLexer.g:
|
||||
if ( (this.input.LA(1)>='-' && this.input.LA(1)<='.')||(this.input.LA(1)>='0' && this.input.LA(1)<='9')||(this.input.LA(1)>='A' && this.input.LA(1)<='Z')||this.input.LA(1)=='_'||(this.input.LA(1)>='a' && this.input.LA(1)<='z') ) {
|
||||
this.input.consume();
|
||||
|
|
@ -1102,7 +1137,7 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
// $ANTLR start Letter
|
||||
mLetter: function() {
|
||||
try {
|
||||
// xquery/XMLLexer.g:153:2: ( 'a' .. 'z' | 'A' .. 'Z' )
|
||||
// xquery/XMLLexer.g:188:2: ( 'a' .. 'z' | 'A' .. 'Z' )
|
||||
// xquery/XMLLexer.g:
|
||||
if ( (this.input.LA(1)>='A' && this.input.LA(1)<='Z')||(this.input.LA(1)>='a' && this.input.LA(1)<='z') ) {
|
||||
this.input.consume();
|
||||
|
|
@ -1125,8 +1160,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
// $ANTLR start XMLDigit
|
||||
mXMLDigit: function() {
|
||||
try {
|
||||
// xquery/XMLLexer.g:157:2: ( '0' .. '9' )
|
||||
// xquery/XMLLexer.g:157:4: '0' .. '9'
|
||||
// xquery/XMLLexer.g:192:2: ( '0' .. '9' )
|
||||
// xquery/XMLLexer.g:192:4: '0' .. '9'
|
||||
this.matchRange('0','9');
|
||||
|
||||
|
||||
|
|
@ -1142,8 +1177,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.EQUAL;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:172:7: ({...}? => '=' )
|
||||
// xquery/XMLLexer.g:172:9: {...}? => '='
|
||||
// xquery/XMLLexer.g:207:7: ({...}? => '=' )
|
||||
// xquery/XMLLexer.g:207:9: {...}? => '='
|
||||
if ( !(( this.inElem )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "EQUAL", " this.inElem ");
|
||||
}
|
||||
|
|
@ -1164,8 +1199,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.ESCAPE_APOS;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:173:13: ({...}? => '\\'\\'' )
|
||||
// xquery/XMLLexer.g:173:15: {...}? => '\\'\\''
|
||||
// xquery/XMLLexer.g:208:13: ({...}? => '\\'\\'' )
|
||||
// xquery/XMLLexer.g:208:15: {...}? => '\\'\\''
|
||||
if ( !(( this.inAposAttr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "ESCAPE_APOS", " this.inAposAttr ");
|
||||
}
|
||||
|
|
@ -1187,8 +1222,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.ESCAPE_QUOT;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:174:13: ({...}? => '\"\"' )
|
||||
// xquery/XMLLexer.g:174:15: {...}? => '\"\"'
|
||||
// xquery/XMLLexer.g:209:13: ({...}? => '\"\"' )
|
||||
// xquery/XMLLexer.g:209:15: {...}? => '\"\"'
|
||||
if ( !(( this.inQuotAttr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "ESCAPE_QUOT", " this.inQuotAttr ");
|
||||
}
|
||||
|
|
@ -1210,8 +1245,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.ESCAPE_LBRACKET;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:177:2: ({...}? => '{{' )
|
||||
// xquery/XMLLexer.g:177:4: {...}? => '{{'
|
||||
// xquery/XMLLexer.g:212:2: ({...}? => '{{' )
|
||||
// xquery/XMLLexer.g:212:4: {...}? => '{{'
|
||||
if ( !(( !this.inElem || this.inAposAttr || this.inQuotAttr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "ESCAPE_LBRACKET", " !this.inElem || this.inAposAttr || this.inQuotAttr ");
|
||||
}
|
||||
|
|
@ -1233,8 +1268,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.ESCAPE_RBRACKET;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:181:2: ({...}? => '}}' )
|
||||
// xquery/XMLLexer.g:181:4: {...}? => '}}'
|
||||
// xquery/XMLLexer.g:216:2: ({...}? => '}}' )
|
||||
// xquery/XMLLexer.g:216:4: {...}? => '}}'
|
||||
if ( !(( !this.inElem || this.inAposAttr || this.inQuotAttr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "ESCAPE_RBRACKET", " !this.inElem || this.inAposAttr || this.inQuotAttr ");
|
||||
}
|
||||
|
|
@ -1256,8 +1291,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.LBRACKET;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:184:10: ({...}? => '{' )
|
||||
// xquery/XMLLexer.g:184:12: {...}? => '{'
|
||||
// xquery/XMLLexer.g:219:10: ({...}? => '{' )
|
||||
// xquery/XMLLexer.g:219:12: {...}? => '{'
|
||||
if ( !(( !this.inElem || this.inAposAttr || this.inQuotAttr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "LBRACKET", " !this.inElem || this.inAposAttr || this.inQuotAttr ");
|
||||
}
|
||||
|
|
@ -1278,8 +1313,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.RBRACKET;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:185:10: ({...}? => '}' )
|
||||
// xquery/XMLLexer.g:185:12: {...}? => '}'
|
||||
// xquery/XMLLexer.g:220:10: ({...}? => '}' )
|
||||
// xquery/XMLLexer.g:220:12: {...}? => '}'
|
||||
if ( !(( !this.inElem || this.inAposAttr || this.inQuotAttr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "RBRACKET", " !this.inElem || this.inAposAttr || this.inQuotAttr ");
|
||||
}
|
||||
|
|
@ -1300,8 +1335,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.SMALLER;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:186:9: ( '<' )
|
||||
// xquery/XMLLexer.g:186:11: '<'
|
||||
// xquery/XMLLexer.g:221:9: ( '<' )
|
||||
// xquery/XMLLexer.g:221:11: '<'
|
||||
this.match('<');
|
||||
|
||||
|
||||
|
|
@ -1319,8 +1354,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.CLOSE_TAG;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:187:11: ({...}? => '</' )
|
||||
// xquery/XMLLexer.g:187:13: {...}? => '</'
|
||||
// xquery/XMLLexer.g:222:11: ({...}? => '</' )
|
||||
// xquery/XMLLexer.g:222:13: {...}? => '</'
|
||||
if ( !(( !this.inElem )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "CLOSE_TAG", " !this.inElem ");
|
||||
}
|
||||
|
|
@ -1343,8 +1378,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.CDATA_START;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:189:13: ( '<![CDATA[' )
|
||||
// xquery/XMLLexer.g:189:15: '<![CDATA['
|
||||
// xquery/XMLLexer.g:224:13: ( '<![CDATA[' )
|
||||
// xquery/XMLLexer.g:224:15: '<![CDATA['
|
||||
this.match("<![CDATA[");
|
||||
|
||||
|
||||
|
|
@ -1363,8 +1398,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.CDATA_END;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:190:12: ( ']]>' )
|
||||
// xquery/XMLLexer.g:190:14: ']]>'
|
||||
// xquery/XMLLexer.g:225:12: ( ']]>' )
|
||||
// xquery/XMLLexer.g:225:14: ']]>'
|
||||
this.match("]]>");
|
||||
|
||||
|
||||
|
|
@ -1383,15 +1418,15 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.L_CDataSection;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:194:3: ({...}? => CDATA_START ( options {greedy=false; } : ( . )* ) CDATA_END )
|
||||
// xquery/XMLLexer.g:194:5: {...}? => CDATA_START ( options {greedy=false; } : ( . )* ) CDATA_END
|
||||
// xquery/XMLLexer.g:229:3: ({...}? => CDATA_START ( options {greedy=false; } : ( . )* ) CDATA_END )
|
||||
// xquery/XMLLexer.g:229:5: {...}? => CDATA_START ( options {greedy=false; } : ( . )* ) CDATA_END
|
||||
if ( !(( !this.inElem )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "L_CDataSection", " !this.inElem ");
|
||||
}
|
||||
this.mCDATA_START();
|
||||
// xquery/XMLLexer.g:194:38: ( options {greedy=false; } : ( . )* )
|
||||
// xquery/XMLLexer.g:194:65: ( . )*
|
||||
// xquery/XMLLexer.g:194:65: ( . )*
|
||||
// xquery/XMLLexer.g:229:38: ( options {greedy=false; } : ( . )* )
|
||||
// xquery/XMLLexer.g:229:65: ( . )*
|
||||
// xquery/XMLLexer.g:229:65: ( . )*
|
||||
loop6:
|
||||
do {
|
||||
var alt6=2;
|
||||
|
|
@ -1425,7 +1460,7 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
|
||||
switch (alt6) {
|
||||
case 1 :
|
||||
// xquery/XMLLexer.g:194:65: .
|
||||
// xquery/XMLLexer.g:229:65: .
|
||||
this.matchAny();
|
||||
|
||||
|
||||
|
|
@ -1456,13 +1491,13 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.L_PredefinedEntityRef;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:202:2: ({...}? => '&' ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' ) ';' )
|
||||
// xquery/XMLLexer.g:202:4: {...}? => '&' ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' ) ';'
|
||||
// xquery/XMLLexer.g:237:2: ({...}? => '&' ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' ) ';' )
|
||||
// xquery/XMLLexer.g:237:4: {...}? => '&' ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' ) ';'
|
||||
if ( !(( !this.inElem || this.inAposAttr || this.inQuotAttr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "L_PredefinedEntityRef", " !this.inElem || this.inAposAttr || this.inQuotAttr ");
|
||||
}
|
||||
this.match('&');
|
||||
// xquery/XMLLexer.g:202:67: ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' )
|
||||
// xquery/XMLLexer.g:237:67: ( 'lt' | 'gt' | 'apos' | 'quot' | 'amp' )
|
||||
var alt7=5;
|
||||
switch ( this.input.LA(1) ) {
|
||||
case 'l':
|
||||
|
|
@ -1499,35 +1534,35 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
|
||||
switch (alt7) {
|
||||
case 1 :
|
||||
// xquery/XMLLexer.g:202:68: 'lt'
|
||||
// xquery/XMLLexer.g:237:68: 'lt'
|
||||
this.match("lt");
|
||||
|
||||
|
||||
|
||||
break;
|
||||
case 2 :
|
||||
// xquery/XMLLexer.g:202:75: 'gt'
|
||||
// xquery/XMLLexer.g:237:75: 'gt'
|
||||
this.match("gt");
|
||||
|
||||
|
||||
|
||||
break;
|
||||
case 3 :
|
||||
// xquery/XMLLexer.g:202:82: 'apos'
|
||||
// xquery/XMLLexer.g:237:82: 'apos'
|
||||
this.match("apos");
|
||||
|
||||
|
||||
|
||||
break;
|
||||
case 4 :
|
||||
// xquery/XMLLexer.g:202:91: 'quot'
|
||||
// xquery/XMLLexer.g:237:91: 'quot'
|
||||
this.match("quot");
|
||||
|
||||
|
||||
|
||||
break;
|
||||
case 5 :
|
||||
// xquery/XMLLexer.g:202:100: 'amp'
|
||||
// xquery/XMLLexer.g:237:100: 'amp'
|
||||
this.match("amp");
|
||||
|
||||
|
||||
|
|
@ -1553,7 +1588,7 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.L_CharRef;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:207:2: ({...}? => '&#' ( '0' .. '9' )+ ';' | '&#x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ ';' )
|
||||
// xquery/XMLLexer.g:242:2: ({...}? => '&#' ( '0' .. '9' )+ ';' | '&#x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ ';' )
|
||||
var alt10=2;
|
||||
var LA10_0 = this.input.LA(1);
|
||||
|
||||
|
|
@ -1591,13 +1626,13 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
}
|
||||
switch (alt10) {
|
||||
case 1 :
|
||||
// xquery/XMLLexer.g:207:4: {...}? => '&#' ( '0' .. '9' )+ ';'
|
||||
// xquery/XMLLexer.g:242:4: {...}? => '&#' ( '0' .. '9' )+ ';'
|
||||
if ( !(( !this.inElem || this.inAposAttr || this.inQuotAttr )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "L_CharRef", " !this.inElem || this.inAposAttr || this.inQuotAttr ");
|
||||
}
|
||||
this.match("&#");
|
||||
|
||||
// xquery/XMLLexer.g:207:68: ( '0' .. '9' )+
|
||||
// xquery/XMLLexer.g:242:68: ( '0' .. '9' )+
|
||||
var cnt8=0;
|
||||
loop8:
|
||||
do {
|
||||
|
|
@ -1611,7 +1646,7 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
|
||||
switch (alt8) {
|
||||
case 1 :
|
||||
// xquery/XMLLexer.g:207:69: '0' .. '9'
|
||||
// xquery/XMLLexer.g:242:69: '0' .. '9'
|
||||
this.matchRange('0','9');
|
||||
|
||||
|
||||
|
|
@ -1632,10 +1667,10 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
|
||||
break;
|
||||
case 2 :
|
||||
// xquery/XMLLexer.g:207:86: '&#x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ ';'
|
||||
// xquery/XMLLexer.g:242:86: '&#x' ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+ ';'
|
||||
this.match("&#x");
|
||||
|
||||
// xquery/XMLLexer.g:207:92: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
|
||||
// xquery/XMLLexer.g:242:92: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' )+
|
||||
var cnt9=0;
|
||||
loop9:
|
||||
do {
|
||||
|
|
@ -1692,16 +1727,16 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.L_DirCommentConstructor;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:211:2: ({...}? => '<!--' ( options {greedy=false; } : ( . )* ) '-->' )
|
||||
// xquery/XMLLexer.g:211:4: {...}? => '<!--' ( options {greedy=false; } : ( . )* ) '-->'
|
||||
// xquery/XMLLexer.g:246:2: ({...}? => '<!--' ( options {greedy=false; } : ( . )* ) '-->' )
|
||||
// xquery/XMLLexer.g:246:4: {...}? => '<!--' ( options {greedy=false; } : ( . )* ) '-->'
|
||||
if ( !(( !this.inElem )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "L_DirCommentConstructor", " !this.inElem ");
|
||||
}
|
||||
this.match("<!--");
|
||||
|
||||
// xquery/XMLLexer.g:211:32: ( options {greedy=false; } : ( . )* )
|
||||
// xquery/XMLLexer.g:211:59: ( . )*
|
||||
// xquery/XMLLexer.g:211:59: ( . )*
|
||||
// xquery/XMLLexer.g:246:32: ( options {greedy=false; } : ( . )* )
|
||||
// xquery/XMLLexer.g:246:59: ( . )*
|
||||
// xquery/XMLLexer.g:246:59: ( . )*
|
||||
loop11:
|
||||
do {
|
||||
var alt11=2;
|
||||
|
|
@ -1735,7 +1770,7 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
|
||||
switch (alt11) {
|
||||
case 1 :
|
||||
// xquery/XMLLexer.g:211:59: .
|
||||
// xquery/XMLLexer.g:246:59: .
|
||||
this.matchAny();
|
||||
|
||||
|
||||
|
|
@ -1767,14 +1802,14 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.L_DirPIConstructor;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:214:2: ({...}? => '<?' ( SU )? NCNameUnprotected ( SU ( options {greedy=false; } : ( . )* ) )? '?>' )
|
||||
// xquery/XMLLexer.g:214:4: {...}? => '<?' ( SU )? NCNameUnprotected ( SU ( options {greedy=false; } : ( . )* ) )? '?>'
|
||||
// xquery/XMLLexer.g:249:2: ({...}? => '<?' ( SU )? NCNameUnprotected ( SU ( options {greedy=false; } : ( . )* ) )? '?>' )
|
||||
// xquery/XMLLexer.g:249:4: {...}? => '<?' ( SU )? NCNameUnprotected ( SU ( options {greedy=false; } : ( . )* ) )? '?>'
|
||||
if ( !(( !this.inElem )) ) {
|
||||
throw new org.antlr.runtime.FailedPredicateException(this.input, "L_DirPIConstructor", " !this.inElem ");
|
||||
}
|
||||
this.match("<?");
|
||||
|
||||
// xquery/XMLLexer.g:215:8: ( SU )?
|
||||
// xquery/XMLLexer.g:250:8: ( SU )?
|
||||
var alt12=2;
|
||||
var LA12_0 = this.input.LA(1);
|
||||
|
||||
|
|
@ -1783,7 +1818,7 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
}
|
||||
switch (alt12) {
|
||||
case 1 :
|
||||
// xquery/XMLLexer.g:215:8: SU
|
||||
// xquery/XMLLexer.g:250:8: SU
|
||||
this.mSU();
|
||||
|
||||
|
||||
|
|
@ -1792,7 +1827,7 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
}
|
||||
|
||||
this.mNCNameUnprotected();
|
||||
// xquery/XMLLexer.g:215:30: ( SU ( options {greedy=false; } : ( . )* ) )?
|
||||
// xquery/XMLLexer.g:250:30: ( SU ( options {greedy=false; } : ( . )* ) )?
|
||||
var alt14=2;
|
||||
var LA14_0 = this.input.LA(1);
|
||||
|
||||
|
|
@ -1801,11 +1836,11 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
}
|
||||
switch (alt14) {
|
||||
case 1 :
|
||||
// xquery/XMLLexer.g:215:31: SU ( options {greedy=false; } : ( . )* )
|
||||
// xquery/XMLLexer.g:250:31: SU ( options {greedy=false; } : ( . )* )
|
||||
this.mSU();
|
||||
// xquery/XMLLexer.g:215:34: ( options {greedy=false; } : ( . )* )
|
||||
// xquery/XMLLexer.g:215:61: ( . )*
|
||||
// xquery/XMLLexer.g:215:61: ( . )*
|
||||
// xquery/XMLLexer.g:250:34: ( options {greedy=false; } : ( . )* )
|
||||
// xquery/XMLLexer.g:250:61: ( . )*
|
||||
// xquery/XMLLexer.g:250:61: ( . )*
|
||||
loop13:
|
||||
do {
|
||||
var alt13=2;
|
||||
|
|
@ -1830,7 +1865,7 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
|
||||
switch (alt13) {
|
||||
case 1 :
|
||||
// xquery/XMLLexer.g:215:61: .
|
||||
// xquery/XMLLexer.g:250:61: .
|
||||
this.matchAny();
|
||||
|
||||
|
||||
|
|
@ -1866,9 +1901,9 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
// $ANTLR start SU
|
||||
mSU: function() {
|
||||
try {
|
||||
// xquery/XMLLexer.g:219:2: ( ( ' ' | '\\t' | '\\n' | '\\r' )+ )
|
||||
// xquery/XMLLexer.g:219:4: ( ' ' | '\\t' | '\\n' | '\\r' )+
|
||||
// xquery/XMLLexer.g:219:4: ( ' ' | '\\t' | '\\n' | '\\r' )+
|
||||
// xquery/XMLLexer.g:254:2: ( ( ' ' | '\\t' | '\\n' | '\\r' )+ )
|
||||
// xquery/XMLLexer.g:254:4: ( ' ' | '\\t' | '\\n' | '\\r' )+
|
||||
// xquery/XMLLexer.g:254:4: ( ' ' | '\\t' | '\\n' | '\\r' )+
|
||||
var cnt15=0;
|
||||
loop15:
|
||||
do {
|
||||
|
|
@ -1920,8 +1955,8 @@ org.antlr.lang.augmentObject(XMLLexer.prototype, {
|
|||
try {
|
||||
var _type = this.COLON;
|
||||
var _channel = org.antlr.runtime.BaseRecognizer.DEFAULT_TOKEN_CHANNEL;
|
||||
// xquery/XMLLexer.g:222:7: ( ':' )
|
||||
// xquery/XMLLexer.g:222:9: ':'
|
||||
// xquery/XMLLexer.g:257:7: ( ':' )
|
||||
// xquery/XMLLexer.g:257:9: ':'
|
||||
this.match(':');
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,38 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (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.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Ajax.org Code Editor (ACE).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Ajax.org B.V.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2010
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* William Candillon <wcandillon AT gmail DOT com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL. *
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
define(function(require, exports, module){
|
||||
|
||||
var org = require("./antlr3-all").org;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
103
lib/ace/mode/xquery/XQuerySemanticHighlighter.js
Normal file
103
lib/ace/mode/xquery/XQuerySemanticHighlighter.js
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (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.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Ajax.org Code Editor (ACE).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Ajax.org B.V.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2010
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* William Candillon <wcandillon AT gmail DOT com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL. *
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
define(function(require, exports, module){
|
||||
|
||||
var Position = require("./Position").Position;
|
||||
var XQuerySemanticHighlighter = exports.XQuerySemanticHighlighter = function() {
|
||||
this.source = [];
|
||||
this.lines = [];
|
||||
|
||||
this.getTokens = function() {
|
||||
var result = [];
|
||||
var previousState = "start";
|
||||
for(i in this.source){
|
||||
var lineTokens = [];
|
||||
var tokens = [];
|
||||
if(this.lines[i]) {
|
||||
tokens = this.lines[i].sort(function(a, b){ return a.position.getOffset() - b.position.getOffset(); });
|
||||
}
|
||||
var sourceLine = this.source[i];
|
||||
var cursor = 0;
|
||||
for(j in tokens)
|
||||
{
|
||||
var token = tokens[j];
|
||||
var position = token.position;
|
||||
if(position.getOffset() > cursor) {
|
||||
lineTokens.push({
|
||||
type: "text",
|
||||
value: sourceLine.substring(cursor, position.getOffset())
|
||||
});
|
||||
}
|
||||
cursor = position.getOffset() + position.getLength();
|
||||
lineTokens.push({
|
||||
type: token.type,
|
||||
value: sourceLine.substring(position.getOffset(), cursor)
|
||||
});
|
||||
}
|
||||
if(cursor < (sourceLine.length - 1)) {
|
||||
lineTokens.push({
|
||||
type: "text",
|
||||
value: sourceLine.substring(cursor)
|
||||
});
|
||||
}
|
||||
result[i] = { line: sourceLine, state: previousState, tokens: { tokens: lineTokens, state: "start" } };
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
this.addToken = function(token, type) {
|
||||
var line = token.getLine() - 1;
|
||||
var offset = token.getCharPositionInLine();
|
||||
var length = token.getStopIndex() - token.getStartIndex() + 1;
|
||||
var position = new Position(line, offset, length);
|
||||
if(!this.lines[line]) {
|
||||
this.lines[line] = [];
|
||||
}
|
||||
this.lines[line].push({
|
||||
type: type,
|
||||
position: position
|
||||
});
|
||||
};
|
||||
|
||||
this.setSource = function(source)
|
||||
{
|
||||
this.source = source.data.split("\n");
|
||||
};
|
||||
//console.log("Line: " + token.getLine());
|
||||
//console.log(token.getText());
|
||||
//console.log(type);
|
||||
};
|
||||
});
|
||||
|
|
@ -49,8 +49,10 @@ define(function(require, exports, module) {
|
|||
var tstream = new NewLazyTokenStream(lexer);
|
||||
tstream.jumpToFirstValidToken();
|
||||
var parser = new XQueryParser(tstream);
|
||||
parser.source = cstream;
|
||||
//parser.source = cstream;
|
||||
parser.stream = tstream;
|
||||
parser.setSource(cstream);
|
||||
//parser.setTokenStream(tstream);
|
||||
return parser;
|
||||
};
|
||||
});
|
||||
|
|
|
|||
63
lib/ace/mode/xquery_tokenizer.js
Normal file
63
lib/ace/mode/xquery_tokenizer.js
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
/* ***** BEGIN LICENSE BLOCK *****
|
||||
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||
*
|
||||
* The contents of this file are subject to the Mozilla Public License Version
|
||||
* 1.1 (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.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS IS" basis,
|
||||
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||
* for the specific language governing rights and limitations under the
|
||||
* License.
|
||||
*
|
||||
* The Original Code is Ajax.org Code Editor (ACE).
|
||||
*
|
||||
* The Initial Developer of the Original Code is
|
||||
* Ajax.org B.V.
|
||||
* Portions created by the Initial Developer are Copyright (C) 2010
|
||||
* the Initial Developer. All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
* William Candillon <wcandillon AT gmail DOT com>
|
||||
*
|
||||
* Alternatively, the contents of this file may be used under the terms of
|
||||
* either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||
* in which case the provisions of the GPL or the LGPL are applicable instead
|
||||
* of those above. If you wish to allow use of your version of this file only
|
||||
* under the terms of either the GPL or the LGPL, and not to allow others to
|
||||
* use your version of this file under the terms of the MPL, indicate your
|
||||
* decision by deleting the provisions above and replace them with the notice
|
||||
* and other provisions required by the GPL or the LGPL. If you do not delete
|
||||
* the provisions above, a recipient may use your version of this file under
|
||||
* the terms of any one of the MPL, the GPL or the LGPL.
|
||||
*
|
||||
* ***** END LICENSE BLOCK ***** */
|
||||
|
||||
define(function(require, exports, module) {
|
||||
"use strict";
|
||||
|
||||
var Tokenizer = require("../tokenizer").Tokenizer;
|
||||
var XQueryHighlightRules = require("./xquery_highlight_rules").XQueryHighlightRules;
|
||||
|
||||
var XQueryTokenizer = exports.XQueryTokenizer = function(){
|
||||
this.cache = [];
|
||||
this.$regexpTokenizer = new Tokenizer(new XQueryHighlightRules().getRules());
|
||||
};
|
||||
|
||||
(function() {
|
||||
this.getLineTokens = function(line, startState) {
|
||||
var cachedLine = null;
|
||||
for(var i in this.cache)
|
||||
{
|
||||
var c = this.cache[i];
|
||||
if(c && c.line == line && c.state == startState) {
|
||||
console.log("RETURN CACHE");
|
||||
return c.tokens;
|
||||
}
|
||||
}
|
||||
return this.$regexpTokenizer.getLineTokens(line, startState);
|
||||
};
|
||||
}).call(XQueryTokenizer.prototype);
|
||||
});
|
||||
|
|
@ -70,8 +70,12 @@ oop.inherits(XQueryWorker, Mirror);
|
|||
type: "error"
|
||||
});
|
||||
}
|
||||
var tokens = parser.highlighter.getTokens();
|
||||
this.sender.emit("highlight", tokens);
|
||||
return;
|
||||
}
|
||||
var tokens = parser.highlighter.getTokens();
|
||||
this.sender.emit("highlight", tokens);
|
||||
this.sender.emit("ok");
|
||||
};
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue