calabash-android 0.4.0.pre10 → 0.4.0.pre11
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/calabash-android/lib/TestServer.apk +0 -0
- data/lib/calabash-android/operations.rb +19 -2
- data/lib/calabash-android/steps/list_steps.rb +1 -1
- data/lib/calabash-android/steps/time_picker_steps.rb +1 -1
- data/lib/calabash-android/version.rb +1 -1
- data/test-server/AndroidManifest.xml +2 -0
- data/test-server/instrumentation-backend/antlr/UIQuery.g +13 -1
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/CalabashChromeClient.java +1 -6
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/actions/webview/ExecuteJavascript.java +10 -11
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/InvocationOperation.java +26 -5
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/Query.java +6 -2
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/UIQuery.tokens +17 -14
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQueryLexer.java +727 -236
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/antlr/UIQueryParser.java +212 -78
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/BeginsWithRelation.java +45 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/ComparisonOperator.java +54 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/ContainsRelation.java +41 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/EndsWithRelation.java +42 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/LikeRelation.java +79 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTPredicate.java +147 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTPredicateRelation.java +5 -0
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryASTWith.java +3 -26
- data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/ast/UIQueryUtils.java +50 -9
- metadata +9 -2
Binary file
|
@@ -112,6 +112,22 @@ module Operations
|
|
112
112
|
map(uiquery,:query,*converted_args)
|
113
113
|
end
|
114
114
|
|
115
|
+
def each_item(opts={:query => "android.widget.ListView", :post_scroll => 0.2}, &block)
|
116
|
+
uiquery = opts[:query] || "android.widget.ListView"
|
117
|
+
skip_if = opts[:skip_if] || lambda { |i| false }
|
118
|
+
stop_when = opts[:stop_when] || lambda { |i| false }
|
119
|
+
check_element_exists(uiquery)
|
120
|
+
num_items = query(opts[:query], :adapter, :count).first
|
121
|
+
num_items.times do |item|
|
122
|
+
next if skip_if.call(item)
|
123
|
+
break if stop_when.call(item)
|
124
|
+
|
125
|
+
scroll_to_row(opts[:query], item)
|
126
|
+
sleep(opts[:post_scroll]) if opts[:post_scroll] and opts[:post_scroll] > 0
|
127
|
+
yield(item)
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
115
131
|
def ni
|
116
132
|
raise "Not yet implemented."
|
117
133
|
end
|
@@ -401,7 +417,7 @@ module Operations
|
|
401
417
|
|
402
418
|
if uiquery.instance_of? String
|
403
419
|
elements = query(uiquery, *args)
|
404
|
-
raise "No elements found" if elements.empty?
|
420
|
+
raise "No elements found. Query: #{uiquery}" if elements.empty?
|
405
421
|
element = elements.first
|
406
422
|
else
|
407
423
|
element = uiquery
|
@@ -452,7 +468,8 @@ module Operations
|
|
452
468
|
end
|
453
469
|
|
454
470
|
def scroll_to_row(uiquery,number)
|
455
|
-
|
471
|
+
query(uiquery, {:smoothScrollToPosition => number})
|
472
|
+
puts "TODO:detect end of scroll - use sleep for now"
|
456
473
|
end
|
457
474
|
|
458
475
|
def pinch(in_out,options={})
|
@@ -26,7 +26,7 @@ Then /^The "([^\"]*)" for row (\d+) should be "([^\"]*)"$/ do | view_id, row, va
|
|
26
26
|
|
27
27
|
if( response['children'] )
|
28
28
|
found_id = false
|
29
|
-
response['children']
|
29
|
+
response['children'].each do | view |
|
30
30
|
if( view['id'] == view_id )
|
31
31
|
raise "Text is #{view['text']}, expected #{value}" unless( view['text'] == value )
|
32
32
|
found_id = true
|
@@ -4,5 +4,5 @@ Given /^I set the time to "(\d\d:\d\d)" on TimePicker with index "([^\"]*)"$/ do
|
|
4
4
|
end
|
5
5
|
|
6
6
|
Given /^I set the "([^\"]*)" time to "(\d\d:\d\d)"$/ do |content_description, time|
|
7
|
-
performAction('set_time_with_description',
|
7
|
+
performAction('set_time_with_description', content_description, time)
|
8
8
|
end
|
@@ -22,6 +22,8 @@
|
|
22
22
|
|
23
23
|
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
|
24
24
|
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
|
25
|
+
<uses-permission android:name="android.permission.ACCESS_COURSE_LOCATION"/>
|
26
|
+
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
|
25
27
|
<uses-permission android:name="android.permission.INTERNET" />
|
26
28
|
|
27
29
|
</manifest>
|
@@ -35,7 +35,7 @@ query : expr (WHITE! expr)*
|
|
35
35
|
;
|
36
36
|
|
37
37
|
|
38
|
-
expr : (className | filter | visibility)
|
38
|
+
expr : (className | filter | visibility | predicate)
|
39
39
|
;
|
40
40
|
|
41
41
|
className : (WILDCARD^ | NAME^ | QUALIFIED_NAME^);
|
@@ -56,6 +56,18 @@ filter : NAME FILTER_COLON^ (INT | STRING | BOOL | NIL);
|
|
56
56
|
FILTER_COLON : ':'
|
57
57
|
;
|
58
58
|
|
59
|
+
predicate : BEGINPRED^ NAME WHITE! RELATION WHITE! (INT | STRING | BOOL | NIL) ENDPRED!
|
60
|
+
;
|
61
|
+
BEGINPRED : '{'
|
62
|
+
;
|
63
|
+
ENDPRED : '}'
|
64
|
+
;
|
65
|
+
|
66
|
+
RELATION : | '=' | '>' | '>=' | '<' | '<=' |
|
67
|
+
(( 'BEGINSWITH' | 'ENDSWITH' | 'CONTAINS' | 'LIKE'
|
68
|
+
| 'beginswith' | 'endswith' | 'contains' | 'like') ('[' ('a'..'z' | 'A'..'Z')* ']')?)
|
69
|
+
|
70
|
+
;
|
59
71
|
|
60
72
|
INT : '0'..'9'+
|
61
73
|
;
|
@@ -57,12 +57,7 @@ public class CalabashChromeClient extends WebChromeClient {
|
|
57
57
|
r.confirm("CALABASH_ACK");
|
58
58
|
System.out.println("onJsPrompt: " + message);
|
59
59
|
String jsonResponse = message.replaceFirst("calabash:", "");
|
60
|
-
|
61
|
-
scriptFuture.setResult(jsonResponse);
|
62
|
-
} catch (Exception e) {
|
63
|
-
e.printStackTrace();
|
64
|
-
scriptFuture.setResult(null);
|
65
|
-
}
|
60
|
+
scriptFuture.setResult(jsonResponse);
|
66
61
|
return true;
|
67
62
|
} else {
|
68
63
|
if (mWebChromeClient == null) {
|
@@ -29,17 +29,16 @@ public class ExecuteJavascript implements Action {
|
|
29
29
|
CalabashChromeClient ccc = list.get(0);
|
30
30
|
WebView webView = ccc.getWebView();
|
31
31
|
final String script = "javascript:(function() {"
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
+ "}())";
|
32
|
+
+ " var r;"
|
33
|
+
+ " try {"
|
34
|
+
+ " r = (function() {"
|
35
|
+
+ scriptCode + ";"
|
36
|
+
+ " }());"
|
37
|
+
+ " } catch (e) {"
|
38
|
+
+ " r = 'Exception: ' + e;"
|
39
|
+
+ " }"
|
40
|
+
+ " prompt('calabash:'+r);"
|
41
|
+
+ "}())";
|
43
42
|
|
44
43
|
System.out.println("execute javascript: " + script);
|
45
44
|
|
@@ -78,8 +78,8 @@ public class InvocationOperation implements Operation {
|
|
78
78
|
Method[] methods = o.getClass().getMethods();
|
79
79
|
for (Method m : methods) {
|
80
80
|
if (m.getName().equals(InvocationOperation.this.methodName)) {
|
81
|
-
Class<?>[] parameterTypes = m.getParameterTypes();
|
82
|
-
if (parameterTypes.length == InvocationOperation.this.classes.length && areArgumentsConvertibleTo(parameterTypes)) {
|
81
|
+
Class<?>[] parameterTypes = m.getParameterTypes();
|
82
|
+
if (parameterTypes.length == InvocationOperation.this.classes.length && areArgumentsConvertibleTo(parameterTypes)) {
|
83
83
|
try {
|
84
84
|
Object result;
|
85
85
|
if( m.getReturnType().equals(Void.TYPE)){
|
@@ -92,6 +92,7 @@ public class InvocationOperation implements Operation {
|
|
92
92
|
ref.set(result);
|
93
93
|
return;
|
94
94
|
} catch (Exception e) {
|
95
|
+
e.printStackTrace();
|
95
96
|
refEx.set(e);
|
96
97
|
return;
|
97
98
|
}
|
@@ -119,8 +120,8 @@ public class InvocationOperation implements Operation {
|
|
119
120
|
Class<?> c = o.getClass();
|
120
121
|
if (convertStringCharSeq && c.equals(String.class)) {
|
121
122
|
c = CharSequence.class;//Android API specific optimization
|
122
|
-
}
|
123
|
-
types[i] = c;
|
123
|
+
}
|
124
|
+
types[i] = mapToPrimitiveClass(c);
|
124
125
|
}
|
125
126
|
else {
|
126
127
|
types[i] = null;
|
@@ -129,19 +130,39 @@ public class InvocationOperation implements Operation {
|
|
129
130
|
return types;
|
130
131
|
}
|
131
132
|
|
133
|
+
private Class<?> mapToPrimitiveClass(Class<?> c) {
|
134
|
+
if (c.equals(Integer.class)) {
|
135
|
+
return int.class;
|
136
|
+
}
|
137
|
+
else if (c.equals(Float.class)) {
|
138
|
+
return float.class;
|
139
|
+
}
|
140
|
+
else if (c.equals(Double.class)) {
|
141
|
+
return double.class;
|
142
|
+
}
|
143
|
+
else if (c.equals(Boolean.class)) {
|
144
|
+
return boolean.class;
|
145
|
+
}
|
146
|
+
return c;
|
147
|
+
}
|
148
|
+
|
149
|
+
|
132
150
|
//parameterType.length == this.classes.length
|
133
151
|
//Note: right now we don't do any clever mapping, we
|
134
152
|
//only use Java's sub type relation: isAssigableFrom
|
135
153
|
private boolean areArgumentsConvertibleTo(Class<?>[] parameterTypes) {
|
136
154
|
for (int i=0; i < parameterTypes.length; i++) {
|
137
155
|
Class<?> typei = parameterTypes[i];
|
138
|
-
if (this.
|
156
|
+
if (this.arguments.get(i) == null) {
|
139
157
|
if (typei.isPrimitive()) {
|
140
158
|
//Can't pass null as primitive
|
141
159
|
return false;
|
142
160
|
}
|
143
161
|
continue; //can always pass null (unless primitive)
|
144
162
|
}
|
163
|
+
if (typei.isPrimitive() && typei.equals(mapToPrimitiveClass(this.classes[i]))) {
|
164
|
+
continue;
|
165
|
+
}
|
145
166
|
if (!typei.isAssignableFrom(this.classes[i])) {
|
146
167
|
return false;
|
147
168
|
}
|
data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/Query.java
CHANGED
@@ -19,6 +19,7 @@ import sh.calaba.instrumentationbackend.query.antlr.UIQueryParser;
|
|
19
19
|
import sh.calaba.instrumentationbackend.query.ast.InvalidUIQueryException;
|
20
20
|
import sh.calaba.instrumentationbackend.query.ast.UIQueryAST;
|
21
21
|
import sh.calaba.instrumentationbackend.query.ast.UIQueryASTClassName;
|
22
|
+
import sh.calaba.instrumentationbackend.query.ast.UIQueryASTPredicate;
|
22
23
|
import sh.calaba.instrumentationbackend.query.ast.UIQueryASTWith;
|
23
24
|
import sh.calaba.instrumentationbackend.query.ast.UIQueryEvaluator;
|
24
25
|
import sh.calaba.instrumentationbackend.query.ast.UIQueryVisibility;
|
@@ -142,7 +143,10 @@ public class Query {
|
|
142
143
|
return UIQueryVisibility.ALL;
|
143
144
|
|
144
145
|
case UIQueryParser.VISIBLE:
|
145
|
-
return UIQueryVisibility.VISIBLE;
|
146
|
+
return UIQueryVisibility.VISIBLE;
|
147
|
+
|
148
|
+
case UIQueryParser.BEGINPRED:
|
149
|
+
return UIQueryASTPredicate.newPredicateFromAST(step);
|
146
150
|
|
147
151
|
default:
|
148
152
|
throw new InvalidUIQueryException("Unknown query: " + stepType
|
@@ -151,7 +155,7 @@ public class Query {
|
|
151
155
|
}
|
152
156
|
|
153
157
|
}
|
154
|
-
|
158
|
+
|
155
159
|
public List<View> allVisibleViews() {
|
156
160
|
return viewFetcher.getAllViews(false);
|
157
161
|
}
|
data/test-server/instrumentation-backend/src/sh/calaba/instrumentationbackend/query/UIQuery.tokens
CHANGED
@@ -1,15 +1,18 @@
|
|
1
1
|
ALL=4
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
2
|
+
BEGINPRED=5
|
3
|
+
BOOL=6
|
4
|
+
ENDPRED=7
|
5
|
+
ESC_SEQ=8
|
6
|
+
FILTER_COLON=9
|
7
|
+
HEX_DIGIT=10
|
8
|
+
INT=11
|
9
|
+
NAME=12
|
10
|
+
NIL=13
|
11
|
+
OCTAL_ESC=14
|
12
|
+
QUALIFIED_NAME=15
|
13
|
+
RELATION=16
|
14
|
+
STRING=17
|
15
|
+
UNICODE_ESC=18
|
16
|
+
VISIBLE=19
|
17
|
+
WHITE=20
|
18
|
+
WILDCARD=21
|
@@ -1,4 +1,4 @@
|
|
1
|
-
// $ANTLR 3.4 antlr/UIQuery.g 2013-01-
|
1
|
+
// $ANTLR 3.4 antlr/UIQuery.g 2013-01-24 10:28:02
|
2
2
|
|
3
3
|
package sh.calaba.instrumentationbackend.query.antlr;
|
4
4
|
|
@@ -12,20 +12,23 @@ import java.util.ArrayList;
|
|
12
12
|
public class UIQueryLexer extends Lexer {
|
13
13
|
public static final int EOF=-1;
|
14
14
|
public static final int ALL=4;
|
15
|
-
public static final int
|
16
|
-
public static final int
|
17
|
-
public static final int
|
18
|
-
public static final int
|
19
|
-
public static final int
|
20
|
-
public static final int
|
21
|
-
public static final int
|
22
|
-
public static final int
|
23
|
-
public static final int
|
24
|
-
public static final int
|
25
|
-
public static final int
|
26
|
-
public static final int
|
27
|
-
public static final int
|
28
|
-
public static final int
|
15
|
+
public static final int BEGINPRED=5;
|
16
|
+
public static final int BOOL=6;
|
17
|
+
public static final int ENDPRED=7;
|
18
|
+
public static final int ESC_SEQ=8;
|
19
|
+
public static final int FILTER_COLON=9;
|
20
|
+
public static final int HEX_DIGIT=10;
|
21
|
+
public static final int INT=11;
|
22
|
+
public static final int NAME=12;
|
23
|
+
public static final int NIL=13;
|
24
|
+
public static final int OCTAL_ESC=14;
|
25
|
+
public static final int QUALIFIED_NAME=15;
|
26
|
+
public static final int RELATION=16;
|
27
|
+
public static final int STRING=17;
|
28
|
+
public static final int UNICODE_ESC=18;
|
29
|
+
public static final int VISIBLE=19;
|
30
|
+
public static final int WHITE=20;
|
31
|
+
public static final int WILDCARD=21;
|
29
32
|
|
30
33
|
// delegates
|
31
34
|
// delegators
|
@@ -186,27 +189,372 @@ public class UIQueryLexer extends Lexer {
|
|
186
189
|
}
|
187
190
|
// $ANTLR end "FILTER_COLON"
|
188
191
|
|
192
|
+
// $ANTLR start "BEGINPRED"
|
193
|
+
public final void mBEGINPRED() throws RecognitionException {
|
194
|
+
try {
|
195
|
+
int _type = BEGINPRED;
|
196
|
+
int _channel = DEFAULT_TOKEN_CHANNEL;
|
197
|
+
// antlr/UIQuery.g:61:11: ( '{' )
|
198
|
+
// antlr/UIQuery.g:61:13: '{'
|
199
|
+
{
|
200
|
+
match('{');
|
201
|
+
|
202
|
+
}
|
203
|
+
|
204
|
+
state.type = _type;
|
205
|
+
state.channel = _channel;
|
206
|
+
}
|
207
|
+
finally {
|
208
|
+
// do for sure before leaving
|
209
|
+
}
|
210
|
+
}
|
211
|
+
// $ANTLR end "BEGINPRED"
|
212
|
+
|
213
|
+
// $ANTLR start "ENDPRED"
|
214
|
+
public final void mENDPRED() throws RecognitionException {
|
215
|
+
try {
|
216
|
+
int _type = ENDPRED;
|
217
|
+
int _channel = DEFAULT_TOKEN_CHANNEL;
|
218
|
+
// antlr/UIQuery.g:63:11: ( '}' )
|
219
|
+
// antlr/UIQuery.g:63:13: '}'
|
220
|
+
{
|
221
|
+
match('}');
|
222
|
+
|
223
|
+
}
|
224
|
+
|
225
|
+
state.type = _type;
|
226
|
+
state.channel = _channel;
|
227
|
+
}
|
228
|
+
finally {
|
229
|
+
// do for sure before leaving
|
230
|
+
}
|
231
|
+
}
|
232
|
+
// $ANTLR end "ENDPRED"
|
233
|
+
|
234
|
+
// $ANTLR start "RELATION"
|
235
|
+
public final void mRELATION() throws RecognitionException {
|
236
|
+
try {
|
237
|
+
int _type = RELATION;
|
238
|
+
int _channel = DEFAULT_TOKEN_CHANNEL;
|
239
|
+
// antlr/UIQuery.g:66:10: (| '=' | '>' | '>=' | '<' | '<=' | ( ( 'BEGINSWITH' | 'ENDSWITH' | 'CONTAINS' | 'LIKE' | 'beginswith' | 'endswith' | 'contains' | 'like' ) ( '[' ( 'a' .. 'z' | 'A' .. 'Z' )* ']' )? ) )
|
240
|
+
int alt5=7;
|
241
|
+
switch ( input.LA(1) ) {
|
242
|
+
case '=':
|
243
|
+
{
|
244
|
+
alt5=2;
|
245
|
+
}
|
246
|
+
break;
|
247
|
+
case '>':
|
248
|
+
{
|
249
|
+
int LA5_3 = input.LA(2);
|
250
|
+
|
251
|
+
if ( (LA5_3=='=') ) {
|
252
|
+
alt5=4;
|
253
|
+
}
|
254
|
+
else {
|
255
|
+
alt5=3;
|
256
|
+
}
|
257
|
+
}
|
258
|
+
break;
|
259
|
+
case '<':
|
260
|
+
{
|
261
|
+
int LA5_4 = input.LA(2);
|
262
|
+
|
263
|
+
if ( (LA5_4=='=') ) {
|
264
|
+
alt5=6;
|
265
|
+
}
|
266
|
+
else {
|
267
|
+
alt5=5;
|
268
|
+
}
|
269
|
+
}
|
270
|
+
break;
|
271
|
+
case 'B':
|
272
|
+
case 'C':
|
273
|
+
case 'E':
|
274
|
+
case 'L':
|
275
|
+
case 'b':
|
276
|
+
case 'c':
|
277
|
+
case 'e':
|
278
|
+
case 'l':
|
279
|
+
{
|
280
|
+
alt5=7;
|
281
|
+
}
|
282
|
+
break;
|
283
|
+
default:
|
284
|
+
alt5=1;
|
285
|
+
}
|
286
|
+
|
287
|
+
switch (alt5) {
|
288
|
+
case 1 :
|
289
|
+
// antlr/UIQuery.g:66:12:
|
290
|
+
{
|
291
|
+
}
|
292
|
+
break;
|
293
|
+
case 2 :
|
294
|
+
// antlr/UIQuery.g:66:14: '='
|
295
|
+
{
|
296
|
+
match('=');
|
297
|
+
|
298
|
+
}
|
299
|
+
break;
|
300
|
+
case 3 :
|
301
|
+
// antlr/UIQuery.g:66:20: '>'
|
302
|
+
{
|
303
|
+
match('>');
|
304
|
+
|
305
|
+
}
|
306
|
+
break;
|
307
|
+
case 4 :
|
308
|
+
// antlr/UIQuery.g:66:26: '>='
|
309
|
+
{
|
310
|
+
match(">=");
|
311
|
+
|
312
|
+
|
313
|
+
|
314
|
+
}
|
315
|
+
break;
|
316
|
+
case 5 :
|
317
|
+
// antlr/UIQuery.g:66:33: '<'
|
318
|
+
{
|
319
|
+
match('<');
|
320
|
+
|
321
|
+
}
|
322
|
+
break;
|
323
|
+
case 6 :
|
324
|
+
// antlr/UIQuery.g:66:39: '<='
|
325
|
+
{
|
326
|
+
match("<=");
|
327
|
+
|
328
|
+
|
329
|
+
|
330
|
+
}
|
331
|
+
break;
|
332
|
+
case 7 :
|
333
|
+
// antlr/UIQuery.g:67:4: ( ( 'BEGINSWITH' | 'ENDSWITH' | 'CONTAINS' | 'LIKE' | 'beginswith' | 'endswith' | 'contains' | 'like' ) ( '[' ( 'a' .. 'z' | 'A' .. 'Z' )* ']' )? )
|
334
|
+
{
|
335
|
+
// antlr/UIQuery.g:67:4: ( ( 'BEGINSWITH' | 'ENDSWITH' | 'CONTAINS' | 'LIKE' | 'beginswith' | 'endswith' | 'contains' | 'like' ) ( '[' ( 'a' .. 'z' | 'A' .. 'Z' )* ']' )? )
|
336
|
+
// antlr/UIQuery.g:67:5: ( 'BEGINSWITH' | 'ENDSWITH' | 'CONTAINS' | 'LIKE' | 'beginswith' | 'endswith' | 'contains' | 'like' ) ( '[' ( 'a' .. 'z' | 'A' .. 'Z' )* ']' )?
|
337
|
+
{
|
338
|
+
// antlr/UIQuery.g:67:5: ( 'BEGINSWITH' | 'ENDSWITH' | 'CONTAINS' | 'LIKE' | 'beginswith' | 'endswith' | 'contains' | 'like' )
|
339
|
+
int alt2=8;
|
340
|
+
switch ( input.LA(1) ) {
|
341
|
+
case 'B':
|
342
|
+
{
|
343
|
+
alt2=1;
|
344
|
+
}
|
345
|
+
break;
|
346
|
+
case 'E':
|
347
|
+
{
|
348
|
+
alt2=2;
|
349
|
+
}
|
350
|
+
break;
|
351
|
+
case 'C':
|
352
|
+
{
|
353
|
+
alt2=3;
|
354
|
+
}
|
355
|
+
break;
|
356
|
+
case 'L':
|
357
|
+
{
|
358
|
+
alt2=4;
|
359
|
+
}
|
360
|
+
break;
|
361
|
+
case 'b':
|
362
|
+
{
|
363
|
+
alt2=5;
|
364
|
+
}
|
365
|
+
break;
|
366
|
+
case 'e':
|
367
|
+
{
|
368
|
+
alt2=6;
|
369
|
+
}
|
370
|
+
break;
|
371
|
+
case 'c':
|
372
|
+
{
|
373
|
+
alt2=7;
|
374
|
+
}
|
375
|
+
break;
|
376
|
+
case 'l':
|
377
|
+
{
|
378
|
+
alt2=8;
|
379
|
+
}
|
380
|
+
break;
|
381
|
+
default:
|
382
|
+
NoViableAltException nvae =
|
383
|
+
new NoViableAltException("", 2, 0, input);
|
384
|
+
|
385
|
+
throw nvae;
|
386
|
+
|
387
|
+
}
|
388
|
+
|
389
|
+
switch (alt2) {
|
390
|
+
case 1 :
|
391
|
+
// antlr/UIQuery.g:67:7: 'BEGINSWITH'
|
392
|
+
{
|
393
|
+
match("BEGINSWITH");
|
394
|
+
|
395
|
+
|
396
|
+
|
397
|
+
}
|
398
|
+
break;
|
399
|
+
case 2 :
|
400
|
+
// antlr/UIQuery.g:67:22: 'ENDSWITH'
|
401
|
+
{
|
402
|
+
match("ENDSWITH");
|
403
|
+
|
404
|
+
|
405
|
+
|
406
|
+
}
|
407
|
+
break;
|
408
|
+
case 3 :
|
409
|
+
// antlr/UIQuery.g:67:35: 'CONTAINS'
|
410
|
+
{
|
411
|
+
match("CONTAINS");
|
412
|
+
|
413
|
+
|
414
|
+
|
415
|
+
}
|
416
|
+
break;
|
417
|
+
case 4 :
|
418
|
+
// antlr/UIQuery.g:67:48: 'LIKE'
|
419
|
+
{
|
420
|
+
match("LIKE");
|
421
|
+
|
422
|
+
|
423
|
+
|
424
|
+
}
|
425
|
+
break;
|
426
|
+
case 5 :
|
427
|
+
// antlr/UIQuery.g:68:12: 'beginswith'
|
428
|
+
{
|
429
|
+
match("beginswith");
|
430
|
+
|
431
|
+
|
432
|
+
|
433
|
+
}
|
434
|
+
break;
|
435
|
+
case 6 :
|
436
|
+
// antlr/UIQuery.g:68:27: 'endswith'
|
437
|
+
{
|
438
|
+
match("endswith");
|
439
|
+
|
440
|
+
|
441
|
+
|
442
|
+
}
|
443
|
+
break;
|
444
|
+
case 7 :
|
445
|
+
// antlr/UIQuery.g:68:40: 'contains'
|
446
|
+
{
|
447
|
+
match("contains");
|
448
|
+
|
449
|
+
|
450
|
+
|
451
|
+
}
|
452
|
+
break;
|
453
|
+
case 8 :
|
454
|
+
// antlr/UIQuery.g:68:53: 'like'
|
455
|
+
{
|
456
|
+
match("like");
|
457
|
+
|
458
|
+
|
459
|
+
|
460
|
+
}
|
461
|
+
break;
|
462
|
+
|
463
|
+
}
|
464
|
+
|
465
|
+
|
466
|
+
// antlr/UIQuery.g:68:61: ( '[' ( 'a' .. 'z' | 'A' .. 'Z' )* ']' )?
|
467
|
+
int alt4=2;
|
468
|
+
int LA4_0 = input.LA(1);
|
469
|
+
|
470
|
+
if ( (LA4_0=='[') ) {
|
471
|
+
alt4=1;
|
472
|
+
}
|
473
|
+
switch (alt4) {
|
474
|
+
case 1 :
|
475
|
+
// antlr/UIQuery.g:68:62: '[' ( 'a' .. 'z' | 'A' .. 'Z' )* ']'
|
476
|
+
{
|
477
|
+
match('[');
|
478
|
+
|
479
|
+
// antlr/UIQuery.g:68:66: ( 'a' .. 'z' | 'A' .. 'Z' )*
|
480
|
+
loop3:
|
481
|
+
do {
|
482
|
+
int alt3=2;
|
483
|
+
int LA3_0 = input.LA(1);
|
484
|
+
|
485
|
+
if ( ((LA3_0 >= 'A' && LA3_0 <= 'Z')||(LA3_0 >= 'a' && LA3_0 <= 'z')) ) {
|
486
|
+
alt3=1;
|
487
|
+
}
|
488
|
+
|
489
|
+
|
490
|
+
switch (alt3) {
|
491
|
+
case 1 :
|
492
|
+
// antlr/UIQuery.g:
|
493
|
+
{
|
494
|
+
if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
|
495
|
+
input.consume();
|
496
|
+
}
|
497
|
+
else {
|
498
|
+
MismatchedSetException mse = new MismatchedSetException(null,input);
|
499
|
+
recover(mse);
|
500
|
+
throw mse;
|
501
|
+
}
|
502
|
+
|
503
|
+
|
504
|
+
}
|
505
|
+
break;
|
506
|
+
|
507
|
+
default :
|
508
|
+
break loop3;
|
509
|
+
}
|
510
|
+
} while (true);
|
511
|
+
|
512
|
+
|
513
|
+
match(']');
|
514
|
+
|
515
|
+
}
|
516
|
+
break;
|
517
|
+
|
518
|
+
}
|
519
|
+
|
520
|
+
|
521
|
+
}
|
522
|
+
|
523
|
+
|
524
|
+
}
|
525
|
+
break;
|
526
|
+
|
527
|
+
}
|
528
|
+
state.type = _type;
|
529
|
+
state.channel = _channel;
|
530
|
+
}
|
531
|
+
finally {
|
532
|
+
// do for sure before leaving
|
533
|
+
}
|
534
|
+
}
|
535
|
+
// $ANTLR end "RELATION"
|
536
|
+
|
189
537
|
// $ANTLR start "INT"
|
190
538
|
public final void mINT() throws RecognitionException {
|
191
539
|
try {
|
192
540
|
int _type = INT;
|
193
541
|
int _channel = DEFAULT_TOKEN_CHANNEL;
|
194
|
-
// antlr/UIQuery.g:
|
195
|
-
// antlr/UIQuery.g:
|
542
|
+
// antlr/UIQuery.g:72:5: ( ( '0' .. '9' )+ )
|
543
|
+
// antlr/UIQuery.g:72:7: ( '0' .. '9' )+
|
196
544
|
{
|
197
|
-
// antlr/UIQuery.g:
|
198
|
-
int
|
199
|
-
|
545
|
+
// antlr/UIQuery.g:72:7: ( '0' .. '9' )+
|
546
|
+
int cnt6=0;
|
547
|
+
loop6:
|
200
548
|
do {
|
201
|
-
int
|
202
|
-
int
|
549
|
+
int alt6=2;
|
550
|
+
int LA6_0 = input.LA(1);
|
203
551
|
|
204
|
-
if ( ((
|
205
|
-
|
552
|
+
if ( ((LA6_0 >= '0' && LA6_0 <= '9')) ) {
|
553
|
+
alt6=1;
|
206
554
|
}
|
207
555
|
|
208
556
|
|
209
|
-
switch (
|
557
|
+
switch (alt6) {
|
210
558
|
case 1 :
|
211
559
|
// antlr/UIQuery.g:
|
212
560
|
{
|
@@ -224,12 +572,12 @@ public class UIQueryLexer extends Lexer {
|
|
224
572
|
break;
|
225
573
|
|
226
574
|
default :
|
227
|
-
if (
|
575
|
+
if ( cnt6 >= 1 ) break loop6;
|
228
576
|
EarlyExitException eee =
|
229
|
-
new EarlyExitException(
|
577
|
+
new EarlyExitException(6, input);
|
230
578
|
throw eee;
|
231
579
|
}
|
232
|
-
|
580
|
+
cnt6++;
|
233
581
|
} while (true);
|
234
582
|
|
235
583
|
|
@@ -249,26 +597,26 @@ public class UIQueryLexer extends Lexer {
|
|
249
597
|
try {
|
250
598
|
int _type = BOOL;
|
251
599
|
int _channel = DEFAULT_TOKEN_CHANNEL;
|
252
|
-
// antlr/UIQuery.g:
|
253
|
-
int
|
254
|
-
int
|
600
|
+
// antlr/UIQuery.g:75:6: ( 'true' | 'false' )
|
601
|
+
int alt7=2;
|
602
|
+
int LA7_0 = input.LA(1);
|
255
603
|
|
256
|
-
if ( (
|
257
|
-
|
604
|
+
if ( (LA7_0=='t') ) {
|
605
|
+
alt7=1;
|
258
606
|
}
|
259
|
-
else if ( (
|
260
|
-
|
607
|
+
else if ( (LA7_0=='f') ) {
|
608
|
+
alt7=2;
|
261
609
|
}
|
262
610
|
else {
|
263
611
|
NoViableAltException nvae =
|
264
|
-
new NoViableAltException("",
|
612
|
+
new NoViableAltException("", 7, 0, input);
|
265
613
|
|
266
614
|
throw nvae;
|
267
615
|
|
268
616
|
}
|
269
|
-
switch (
|
617
|
+
switch (alt7) {
|
270
618
|
case 1 :
|
271
|
-
// antlr/UIQuery.g:
|
619
|
+
// antlr/UIQuery.g:75:8: 'true'
|
272
620
|
{
|
273
621
|
match("true");
|
274
622
|
|
@@ -277,7 +625,7 @@ public class UIQueryLexer extends Lexer {
|
|
277
625
|
}
|
278
626
|
break;
|
279
627
|
case 2 :
|
280
|
-
// antlr/UIQuery.g:
|
628
|
+
// antlr/UIQuery.g:75:17: 'false'
|
281
629
|
{
|
282
630
|
match("false");
|
283
631
|
|
@@ -301,22 +649,22 @@ public class UIQueryLexer extends Lexer {
|
|
301
649
|
try {
|
302
650
|
int _type = NIL;
|
303
651
|
int _channel = DEFAULT_TOKEN_CHANNEL;
|
304
|
-
// antlr/UIQuery.g:
|
305
|
-
int
|
306
|
-
int
|
652
|
+
// antlr/UIQuery.g:78:5: ( 'nil' | 'null' )
|
653
|
+
int alt8=2;
|
654
|
+
int LA8_0 = input.LA(1);
|
307
655
|
|
308
|
-
if ( (
|
309
|
-
int
|
656
|
+
if ( (LA8_0=='n') ) {
|
657
|
+
int LA8_1 = input.LA(2);
|
310
658
|
|
311
|
-
if ( (
|
312
|
-
|
659
|
+
if ( (LA8_1=='i') ) {
|
660
|
+
alt8=1;
|
313
661
|
}
|
314
|
-
else if ( (
|
315
|
-
|
662
|
+
else if ( (LA8_1=='u') ) {
|
663
|
+
alt8=2;
|
316
664
|
}
|
317
665
|
else {
|
318
666
|
NoViableAltException nvae =
|
319
|
-
new NoViableAltException("",
|
667
|
+
new NoViableAltException("", 8, 1, input);
|
320
668
|
|
321
669
|
throw nvae;
|
322
670
|
|
@@ -324,14 +672,14 @@ public class UIQueryLexer extends Lexer {
|
|
324
672
|
}
|
325
673
|
else {
|
326
674
|
NoViableAltException nvae =
|
327
|
-
new NoViableAltException("",
|
675
|
+
new NoViableAltException("", 8, 0, input);
|
328
676
|
|
329
677
|
throw nvae;
|
330
678
|
|
331
679
|
}
|
332
|
-
switch (
|
680
|
+
switch (alt8) {
|
333
681
|
case 1 :
|
334
|
-
// antlr/UIQuery.g:
|
682
|
+
// antlr/UIQuery.g:78:7: 'nil'
|
335
683
|
{
|
336
684
|
match("nil");
|
337
685
|
|
@@ -340,7 +688,7 @@ public class UIQueryLexer extends Lexer {
|
|
340
688
|
}
|
341
689
|
break;
|
342
690
|
case 2 :
|
343
|
-
// antlr/UIQuery.g:
|
691
|
+
// antlr/UIQuery.g:78:15: 'null'
|
344
692
|
{
|
345
693
|
match("null");
|
346
694
|
|
@@ -364,8 +712,8 @@ public class UIQueryLexer extends Lexer {
|
|
364
712
|
try {
|
365
713
|
int _type = NAME;
|
366
714
|
int _channel = DEFAULT_TOKEN_CHANNEL;
|
367
|
-
// antlr/UIQuery.g:
|
368
|
-
// antlr/UIQuery.g:
|
715
|
+
// antlr/UIQuery.g:81:7: ( ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )* )
|
716
|
+
// antlr/UIQuery.g:81:9: ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*
|
369
717
|
{
|
370
718
|
if ( (input.LA(1) >= 'A' && input.LA(1) <= 'Z')||input.LA(1)=='_'||(input.LA(1) >= 'a' && input.LA(1) <= 'z') ) {
|
371
719
|
input.consume();
|
@@ -377,18 +725,18 @@ public class UIQueryLexer extends Lexer {
|
|
377
725
|
}
|
378
726
|
|
379
727
|
|
380
|
-
// antlr/UIQuery.g:
|
381
|
-
|
728
|
+
// antlr/UIQuery.g:81:33: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' | '_' )*
|
729
|
+
loop9:
|
382
730
|
do {
|
383
|
-
int
|
384
|
-
int
|
731
|
+
int alt9=2;
|
732
|
+
int LA9_0 = input.LA(1);
|
385
733
|
|
386
|
-
if ( ((
|
387
|
-
|
734
|
+
if ( ((LA9_0 >= '0' && LA9_0 <= '9')||(LA9_0 >= 'A' && LA9_0 <= 'Z')||LA9_0=='_'||(LA9_0 >= 'a' && LA9_0 <= 'z')) ) {
|
735
|
+
alt9=1;
|
388
736
|
}
|
389
737
|
|
390
738
|
|
391
|
-
switch (
|
739
|
+
switch (alt9) {
|
392
740
|
case 1 :
|
393
741
|
// antlr/UIQuery.g:
|
394
742
|
{
|
@@ -406,7 +754,7 @@ public class UIQueryLexer extends Lexer {
|
|
406
754
|
break;
|
407
755
|
|
408
756
|
default :
|
409
|
-
break
|
757
|
+
break loop9;
|
410
758
|
}
|
411
759
|
} while (true);
|
412
760
|
|
@@ -427,28 +775,28 @@ public class UIQueryLexer extends Lexer {
|
|
427
775
|
try {
|
428
776
|
int _type = STRING;
|
429
777
|
int _channel = DEFAULT_TOKEN_CHANNEL;
|
430
|
-
// antlr/UIQuery.g:
|
431
|
-
// antlr/UIQuery.g:
|
778
|
+
// antlr/UIQuery.g:85:5: ( '\\'' ( ESC_SEQ |~ ( '\\\\' | '\\'' ) )* '\\'' )
|
779
|
+
// antlr/UIQuery.g:85:8: '\\'' ( ESC_SEQ |~ ( '\\\\' | '\\'' ) )* '\\''
|
432
780
|
{
|
433
781
|
match('\'');
|
434
782
|
|
435
|
-
// antlr/UIQuery.g:
|
436
|
-
|
783
|
+
// antlr/UIQuery.g:85:13: ( ESC_SEQ |~ ( '\\\\' | '\\'' ) )*
|
784
|
+
loop10:
|
437
785
|
do {
|
438
|
-
int
|
439
|
-
int
|
786
|
+
int alt10=3;
|
787
|
+
int LA10_0 = input.LA(1);
|
440
788
|
|
441
|
-
if ( (
|
442
|
-
|
789
|
+
if ( (LA10_0=='\\') ) {
|
790
|
+
alt10=1;
|
443
791
|
}
|
444
|
-
else if ( ((
|
445
|
-
|
792
|
+
else if ( ((LA10_0 >= '\u0000' && LA10_0 <= '&')||(LA10_0 >= '(' && LA10_0 <= '[')||(LA10_0 >= ']' && LA10_0 <= '\uFFFF')) ) {
|
793
|
+
alt10=2;
|
446
794
|
}
|
447
795
|
|
448
796
|
|
449
|
-
switch (
|
797
|
+
switch (alt10) {
|
450
798
|
case 1 :
|
451
|
-
// antlr/UIQuery.g:
|
799
|
+
// antlr/UIQuery.g:85:15: ESC_SEQ
|
452
800
|
{
|
453
801
|
mESC_SEQ();
|
454
802
|
|
@@ -456,7 +804,7 @@ public class UIQueryLexer extends Lexer {
|
|
456
804
|
}
|
457
805
|
break;
|
458
806
|
case 2 :
|
459
|
-
// antlr/UIQuery.g:
|
807
|
+
// antlr/UIQuery.g:85:25: ~ ( '\\\\' | '\\'' )
|
460
808
|
{
|
461
809
|
if ( (input.LA(1) >= '\u0000' && input.LA(1) <= '&')||(input.LA(1) >= '(' && input.LA(1) <= '[')||(input.LA(1) >= ']' && input.LA(1) <= '\uFFFF') ) {
|
462
810
|
input.consume();
|
@@ -472,7 +820,7 @@ public class UIQueryLexer extends Lexer {
|
|
472
820
|
break;
|
473
821
|
|
474
822
|
default :
|
475
|
-
break
|
823
|
+
break loop10;
|
476
824
|
}
|
477
825
|
} while (true);
|
478
826
|
|
@@ -495,24 +843,24 @@ public class UIQueryLexer extends Lexer {
|
|
495
843
|
try {
|
496
844
|
int _type = WHITE;
|
497
845
|
int _channel = DEFAULT_TOKEN_CHANNEL;
|
498
|
-
// antlr/UIQuery.g:
|
499
|
-
// antlr/UIQuery.g:
|
846
|
+
// antlr/UIQuery.g:88:9: ( ( ' ' )+ )
|
847
|
+
// antlr/UIQuery.g:88:11: ( ' ' )+
|
500
848
|
{
|
501
|
-
// antlr/UIQuery.g:
|
502
|
-
int
|
503
|
-
|
849
|
+
// antlr/UIQuery.g:88:11: ( ' ' )+
|
850
|
+
int cnt11=0;
|
851
|
+
loop11:
|
504
852
|
do {
|
505
|
-
int
|
506
|
-
int
|
853
|
+
int alt11=2;
|
854
|
+
int LA11_0 = input.LA(1);
|
507
855
|
|
508
|
-
if ( (
|
509
|
-
|
856
|
+
if ( (LA11_0==' ') ) {
|
857
|
+
alt11=1;
|
510
858
|
}
|
511
859
|
|
512
860
|
|
513
|
-
switch (
|
861
|
+
switch (alt11) {
|
514
862
|
case 1 :
|
515
|
-
// antlr/UIQuery.g:
|
863
|
+
// antlr/UIQuery.g:88:11: ' '
|
516
864
|
{
|
517
865
|
match(' ');
|
518
866
|
|
@@ -520,12 +868,12 @@ public class UIQueryLexer extends Lexer {
|
|
520
868
|
break;
|
521
869
|
|
522
870
|
default :
|
523
|
-
if (
|
871
|
+
if ( cnt11 >= 1 ) break loop11;
|
524
872
|
EarlyExitException eee =
|
525
|
-
new EarlyExitException(
|
873
|
+
new EarlyExitException(11, input);
|
526
874
|
throw eee;
|
527
875
|
}
|
528
|
-
|
876
|
+
cnt11++;
|
529
877
|
} while (true);
|
530
878
|
|
531
879
|
|
@@ -543,7 +891,7 @@ public class UIQueryLexer extends Lexer {
|
|
543
891
|
// $ANTLR start "HEX_DIGIT"
|
544
892
|
public final void mHEX_DIGIT() throws RecognitionException {
|
545
893
|
try {
|
546
|
-
// antlr/UIQuery.g:
|
894
|
+
// antlr/UIQuery.g:91:11: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) )
|
547
895
|
// antlr/UIQuery.g:
|
548
896
|
{
|
549
897
|
if ( (input.LA(1) >= '0' && input.LA(1) <= '9')||(input.LA(1) >= 'A' && input.LA(1) <= 'F')||(input.LA(1) >= 'a' && input.LA(1) <= 'f') ) {
|
@@ -569,11 +917,11 @@ public class UIQueryLexer extends Lexer {
|
|
569
917
|
// $ANTLR start "ESC_SEQ"
|
570
918
|
public final void mESC_SEQ() throws RecognitionException {
|
571
919
|
try {
|
572
|
-
// antlr/UIQuery.g:
|
573
|
-
int
|
574
|
-
int
|
920
|
+
// antlr/UIQuery.g:95:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\'' | '\\\\' ) | UNICODE_ESC | OCTAL_ESC )
|
921
|
+
int alt12=3;
|
922
|
+
int LA12_0 = input.LA(1);
|
575
923
|
|
576
|
-
if ( (
|
924
|
+
if ( (LA12_0=='\\') ) {
|
577
925
|
switch ( input.LA(2) ) {
|
578
926
|
case '\'':
|
579
927
|
case '\\':
|
@@ -583,12 +931,12 @@ public class UIQueryLexer extends Lexer {
|
|
583
931
|
case 'r':
|
584
932
|
case 't':
|
585
933
|
{
|
586
|
-
|
934
|
+
alt12=1;
|
587
935
|
}
|
588
936
|
break;
|
589
937
|
case 'u':
|
590
938
|
{
|
591
|
-
|
939
|
+
alt12=2;
|
592
940
|
}
|
593
941
|
break;
|
594
942
|
case '0':
|
@@ -600,12 +948,12 @@ public class UIQueryLexer extends Lexer {
|
|
600
948
|
case '6':
|
601
949
|
case '7':
|
602
950
|
{
|
603
|
-
|
951
|
+
alt12=3;
|
604
952
|
}
|
605
953
|
break;
|
606
954
|
default:
|
607
955
|
NoViableAltException nvae =
|
608
|
-
new NoViableAltException("",
|
956
|
+
new NoViableAltException("", 12, 1, input);
|
609
957
|
|
610
958
|
throw nvae;
|
611
959
|
|
@@ -614,14 +962,14 @@ public class UIQueryLexer extends Lexer {
|
|
614
962
|
}
|
615
963
|
else {
|
616
964
|
NoViableAltException nvae =
|
617
|
-
new NoViableAltException("",
|
965
|
+
new NoViableAltException("", 12, 0, input);
|
618
966
|
|
619
967
|
throw nvae;
|
620
968
|
|
621
969
|
}
|
622
|
-
switch (
|
970
|
+
switch (alt12) {
|
623
971
|
case 1 :
|
624
|
-
// antlr/UIQuery.g:
|
972
|
+
// antlr/UIQuery.g:95:9: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\'' | '\\\\' )
|
625
973
|
{
|
626
974
|
match('\\');
|
627
975
|
|
@@ -638,7 +986,7 @@ public class UIQueryLexer extends Lexer {
|
|
638
986
|
}
|
639
987
|
break;
|
640
988
|
case 2 :
|
641
|
-
// antlr/UIQuery.g:
|
989
|
+
// antlr/UIQuery.g:96:9: UNICODE_ESC
|
642
990
|
{
|
643
991
|
mUNICODE_ESC();
|
644
992
|
|
@@ -646,7 +994,7 @@ public class UIQueryLexer extends Lexer {
|
|
646
994
|
}
|
647
995
|
break;
|
648
996
|
case 3 :
|
649
|
-
// antlr/UIQuery.g:
|
997
|
+
// antlr/UIQuery.g:97:9: OCTAL_ESC
|
650
998
|
{
|
651
999
|
mOCTAL_ESC();
|
652
1000
|
|
@@ -666,43 +1014,43 @@ public class UIQueryLexer extends Lexer {
|
|
666
1014
|
// $ANTLR start "OCTAL_ESC"
|
667
1015
|
public final void mOCTAL_ESC() throws RecognitionException {
|
668
1016
|
try {
|
669
|
-
// antlr/UIQuery.g:
|
670
|
-
int
|
671
|
-
int
|
1017
|
+
// antlr/UIQuery.g:102:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) )
|
1018
|
+
int alt13=3;
|
1019
|
+
int LA13_0 = input.LA(1);
|
672
1020
|
|
673
|
-
if ( (
|
674
|
-
int
|
1021
|
+
if ( (LA13_0=='\\') ) {
|
1022
|
+
int LA13_1 = input.LA(2);
|
675
1023
|
|
676
|
-
if ( ((
|
677
|
-
int
|
1024
|
+
if ( ((LA13_1 >= '0' && LA13_1 <= '3')) ) {
|
1025
|
+
int LA13_2 = input.LA(3);
|
678
1026
|
|
679
|
-
if ( ((
|
680
|
-
int
|
1027
|
+
if ( ((LA13_2 >= '0' && LA13_2 <= '7')) ) {
|
1028
|
+
int LA13_4 = input.LA(4);
|
681
1029
|
|
682
|
-
if ( ((
|
683
|
-
|
1030
|
+
if ( ((LA13_4 >= '0' && LA13_4 <= '7')) ) {
|
1031
|
+
alt13=1;
|
684
1032
|
}
|
685
1033
|
else {
|
686
|
-
|
1034
|
+
alt13=2;
|
687
1035
|
}
|
688
1036
|
}
|
689
1037
|
else {
|
690
|
-
|
1038
|
+
alt13=3;
|
691
1039
|
}
|
692
1040
|
}
|
693
|
-
else if ( ((
|
694
|
-
int
|
1041
|
+
else if ( ((LA13_1 >= '4' && LA13_1 <= '7')) ) {
|
1042
|
+
int LA13_3 = input.LA(3);
|
695
1043
|
|
696
|
-
if ( ((
|
697
|
-
|
1044
|
+
if ( ((LA13_3 >= '0' && LA13_3 <= '7')) ) {
|
1045
|
+
alt13=2;
|
698
1046
|
}
|
699
1047
|
else {
|
700
|
-
|
1048
|
+
alt13=3;
|
701
1049
|
}
|
702
1050
|
}
|
703
1051
|
else {
|
704
1052
|
NoViableAltException nvae =
|
705
|
-
new NoViableAltException("",
|
1053
|
+
new NoViableAltException("", 13, 1, input);
|
706
1054
|
|
707
1055
|
throw nvae;
|
708
1056
|
|
@@ -710,14 +1058,14 @@ public class UIQueryLexer extends Lexer {
|
|
710
1058
|
}
|
711
1059
|
else {
|
712
1060
|
NoViableAltException nvae =
|
713
|
-
new NoViableAltException("",
|
1061
|
+
new NoViableAltException("", 13, 0, input);
|
714
1062
|
|
715
1063
|
throw nvae;
|
716
1064
|
|
717
1065
|
}
|
718
|
-
switch (
|
1066
|
+
switch (alt13) {
|
719
1067
|
case 1 :
|
720
|
-
// antlr/UIQuery.g:
|
1068
|
+
// antlr/UIQuery.g:102:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' )
|
721
1069
|
{
|
722
1070
|
match('\\');
|
723
1071
|
|
@@ -754,7 +1102,7 @@ public class UIQueryLexer extends Lexer {
|
|
754
1102
|
}
|
755
1103
|
break;
|
756
1104
|
case 2 :
|
757
|
-
// antlr/UIQuery.g:
|
1105
|
+
// antlr/UIQuery.g:103:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' )
|
758
1106
|
{
|
759
1107
|
match('\\');
|
760
1108
|
|
@@ -781,7 +1129,7 @@ public class UIQueryLexer extends Lexer {
|
|
781
1129
|
}
|
782
1130
|
break;
|
783
1131
|
case 3 :
|
784
|
-
// antlr/UIQuery.g:
|
1132
|
+
// antlr/UIQuery.g:104:9: '\\\\' ( '0' .. '7' )
|
785
1133
|
{
|
786
1134
|
match('\\');
|
787
1135
|
|
@@ -810,8 +1158,8 @@ public class UIQueryLexer extends Lexer {
|
|
810
1158
|
// $ANTLR start "UNICODE_ESC"
|
811
1159
|
public final void mUNICODE_ESC() throws RecognitionException {
|
812
1160
|
try {
|
813
|
-
// antlr/UIQuery.g:
|
814
|
-
// antlr/UIQuery.g:
|
1161
|
+
// antlr/UIQuery.g:109:5: ( '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT )
|
1162
|
+
// antlr/UIQuery.g:109:9: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
|
815
1163
|
{
|
816
1164
|
match('\\');
|
817
1165
|
|
@@ -840,10 +1188,10 @@ public class UIQueryLexer extends Lexer {
|
|
840
1188
|
// $ANTLR end "UNICODE_ESC"
|
841
1189
|
|
842
1190
|
public void mTokens() throws RecognitionException {
|
843
|
-
// antlr/UIQuery.g:1:8: ( WILDCARD | QUALIFIED_NAME | ALL | VISIBLE | FILTER_COLON | INT | BOOL | NIL | NAME | STRING | WHITE )
|
844
|
-
int
|
845
|
-
|
846
|
-
switch (
|
1191
|
+
// antlr/UIQuery.g:1:8: ( WILDCARD | QUALIFIED_NAME | ALL | VISIBLE | FILTER_COLON | BEGINPRED | ENDPRED | RELATION | INT | BOOL | NIL | NAME | STRING | WHITE )
|
1192
|
+
int alt14=14;
|
1193
|
+
alt14 = dfa14.predict(input);
|
1194
|
+
switch (alt14) {
|
847
1195
|
case 1 :
|
848
1196
|
// antlr/UIQuery.g:1:10: WILDCARD
|
849
1197
|
{
|
@@ -885,47 +1233,71 @@ public class UIQueryLexer extends Lexer {
|
|
885
1233
|
}
|
886
1234
|
break;
|
887
1235
|
case 6 :
|
888
|
-
// antlr/UIQuery.g:1:59:
|
1236
|
+
// antlr/UIQuery.g:1:59: BEGINPRED
|
889
1237
|
{
|
890
|
-
|
1238
|
+
mBEGINPRED();
|
891
1239
|
|
892
1240
|
|
893
1241
|
}
|
894
1242
|
break;
|
895
1243
|
case 7 :
|
896
|
-
// antlr/UIQuery.g:1:
|
1244
|
+
// antlr/UIQuery.g:1:69: ENDPRED
|
897
1245
|
{
|
898
|
-
|
1246
|
+
mENDPRED();
|
899
1247
|
|
900
1248
|
|
901
1249
|
}
|
902
1250
|
break;
|
903
1251
|
case 8 :
|
904
|
-
// antlr/UIQuery.g:1:
|
1252
|
+
// antlr/UIQuery.g:1:77: RELATION
|
905
1253
|
{
|
906
|
-
|
1254
|
+
mRELATION();
|
907
1255
|
|
908
1256
|
|
909
1257
|
}
|
910
1258
|
break;
|
911
1259
|
case 9 :
|
912
|
-
// antlr/UIQuery.g:1:
|
1260
|
+
// antlr/UIQuery.g:1:86: INT
|
913
1261
|
{
|
914
|
-
|
1262
|
+
mINT();
|
915
1263
|
|
916
1264
|
|
917
1265
|
}
|
918
1266
|
break;
|
919
1267
|
case 10 :
|
920
|
-
// antlr/UIQuery.g:1:
|
1268
|
+
// antlr/UIQuery.g:1:90: BOOL
|
921
1269
|
{
|
922
|
-
|
1270
|
+
mBOOL();
|
923
1271
|
|
924
1272
|
|
925
1273
|
}
|
926
1274
|
break;
|
927
1275
|
case 11 :
|
928
|
-
// antlr/UIQuery.g:1:
|
1276
|
+
// antlr/UIQuery.g:1:95: NIL
|
1277
|
+
{
|
1278
|
+
mNIL();
|
1279
|
+
|
1280
|
+
|
1281
|
+
}
|
1282
|
+
break;
|
1283
|
+
case 12 :
|
1284
|
+
// antlr/UIQuery.g:1:99: NAME
|
1285
|
+
{
|
1286
|
+
mNAME();
|
1287
|
+
|
1288
|
+
|
1289
|
+
}
|
1290
|
+
break;
|
1291
|
+
case 13 :
|
1292
|
+
// antlr/UIQuery.g:1:104: STRING
|
1293
|
+
{
|
1294
|
+
mSTRING();
|
1295
|
+
|
1296
|
+
|
1297
|
+
}
|
1298
|
+
break;
|
1299
|
+
case 14 :
|
1300
|
+
// antlr/UIQuery.g:1:111: WHITE
|
929
1301
|
{
|
930
1302
|
mWHITE();
|
931
1303
|
|
@@ -938,118 +1310,237 @@ public class UIQueryLexer extends Lexer {
|
|
938
1310
|
}
|
939
1311
|
|
940
1312
|
|
941
|
-
protected
|
942
|
-
static final String
|
943
|
-
"\
|
944
|
-
"\
|
945
|
-
"\
|
946
|
-
|
947
|
-
|
948
|
-
|
949
|
-
|
950
|
-
"\3\56\
|
951
|
-
|
952
|
-
|
953
|
-
"\1\uffff\3\172\
|
954
|
-
|
955
|
-
"\
|
956
|
-
|
957
|
-
|
958
|
-
"\
|
959
|
-
|
960
|
-
|
961
|
-
|
962
|
-
|
1313
|
+
protected DFA14 dfa14 = new DFA14(this);
|
1314
|
+
static final String DFA14_eotS =
|
1315
|
+
"\1\10\1\uffff\3\31\4\uffff\10\31\1\uffff\3\31\2\uffff\2\31\2\uffff"+
|
1316
|
+
"\15\31\1\66\13\31\1\102\1\31\1\uffff\4\31\1\10\3\31\1\10\1\113\1"+
|
1317
|
+
"\31\1\uffff\1\102\7\31\1\uffff\1\113\7\31\1\133\6\31\1\uffff\1\31"+
|
1318
|
+
"\2\10\1\31\2\10\2\31\2\10";
|
1319
|
+
static final String DFA14_eofS =
|
1320
|
+
"\146\uffff";
|
1321
|
+
static final String DFA14_minS =
|
1322
|
+
"\1\40\1\uffff\3\56\4\uffff\10\56\1\uffff\3\56\2\uffff\2\56\2\uffff"+
|
1323
|
+
"\33\56\1\uffff\13\56\1\uffff\10\56\1\uffff\17\56\1\uffff\12\56";
|
1324
|
+
static final String DFA14_maxS =
|
1325
|
+
"\1\175\1\uffff\3\172\4\uffff\10\172\1\uffff\3\172\2\uffff\2\172"+
|
1326
|
+
"\2\uffff\33\172\1\uffff\13\172\1\uffff\10\172\1\uffff\17\172\1\uffff"+
|
1327
|
+
"\12\172";
|
1328
|
+
static final String DFA14_acceptS =
|
1329
|
+
"\1\uffff\1\1\3\uffff\1\5\1\6\1\7\1\10\10\uffff\1\11\3\uffff\1\15"+
|
1330
|
+
"\1\16\2\uffff\1\14\1\2\33\uffff\1\3\13\uffff\1\13\10\uffff\1\12"+
|
1331
|
+
"\17\uffff\1\4\12\uffff";
|
1332
|
+
static final String DFA14_specialS =
|
1333
|
+
"\146\uffff}>";
|
1334
|
+
static final String[] DFA14_transitionS = {
|
1335
|
+
"\1\26\6\uffff\1\25\2\uffff\1\1\5\uffff\12\21\1\5\6\uffff\1\24"+
|
1336
|
+
"\1\4\1\12\1\24\1\11\6\24\1\13\16\24\4\uffff\1\24\1\uffff\1\2"+
|
1337
|
+
"\1\14\1\16\1\24\1\15\1\22\5\24\1\17\1\24\1\23\5\24\1\20\1\24"+
|
1338
|
+
"\1\3\4\24\1\6\1\uffff\1\7",
|
1339
|
+
"",
|
1340
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\13\30"+
|
1341
|
+
"\1\27\16\30",
|
1342
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\10\30"+
|
1343
|
+
"\1\33\21\30",
|
1344
|
+
"\1\32\1\uffff\12\30\7\uffff\4\30\1\34\25\30\4\uffff\1\30\1"+
|
1345
|
+
"\uffff\32\30",
|
1346
|
+
"",
|
1347
|
+
"",
|
1348
|
+
"",
|
963
1349
|
"",
|
964
|
-
"\1\
|
965
|
-
"\
|
966
|
-
"\1\
|
967
|
-
"\
|
968
|
-
"\1\
|
969
|
-
"\
|
1350
|
+
"\1\32\1\uffff\12\30\7\uffff\15\30\1\35\14\30\4\uffff\1\30\1"+
|
1351
|
+
"\uffff\32\30",
|
1352
|
+
"\1\32\1\uffff\12\30\7\uffff\16\30\1\36\13\30\4\uffff\1\30\1"+
|
1353
|
+
"\uffff\32\30",
|
1354
|
+
"\1\32\1\uffff\12\30\7\uffff\10\30\1\37\21\30\4\uffff\1\30\1"+
|
1355
|
+
"\uffff\32\30",
|
1356
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\4\30"+
|
1357
|
+
"\1\40\25\30",
|
1358
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\15\30"+
|
1359
|
+
"\1\41\14\30",
|
1360
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\16\30"+
|
1361
|
+
"\1\42\13\30",
|
1362
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\10\30"+
|
1363
|
+
"\1\43\21\30",
|
1364
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\21\30"+
|
1365
|
+
"\1\44\10\30",
|
970
1366
|
"",
|
1367
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\1\45"+
|
1368
|
+
"\31\30",
|
1369
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\10\30"+
|
1370
|
+
"\1\46\13\30\1\47\5\30",
|
1371
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
971
1372
|
"",
|
972
|
-
"\1\17\1\uffff\12\15\7\uffff\32\15\4\uffff\1\15\1\uffff\1\22"+
|
973
|
-
"\31\15",
|
974
|
-
"\1\17\1\uffff\12\15\7\uffff\32\15\4\uffff\1\15\1\uffff\10\15"+
|
975
|
-
"\1\23\13\15\1\24\5\15",
|
976
|
-
"\1\17\1\uffff\12\15\7\uffff\32\15\4\uffff\1\15\1\uffff\32\15",
|
977
1373
|
"",
|
1374
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\13\30"+
|
1375
|
+
"\1\50\16\30",
|
1376
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
978
1377
|
"",
|
979
|
-
"\1\17\1\uffff\12\15\7\uffff\32\15\4\uffff\1\15\1\uffff\13\15"+
|
980
|
-
"\1\25\16\15",
|
981
|
-
"\1\17\1\uffff\12\15\7\uffff\32\15\4\uffff\1\15\1\uffff\32\15",
|
982
1378
|
"",
|
1379
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\22\30"+
|
1380
|
+
"\1\51\7\30",
|
1381
|
+
"\1\32\1\uffff\12\30\7\uffff\6\30\1\52\23\30\4\uffff\1\30\1"+
|
1382
|
+
"\uffff\32\30",
|
1383
|
+
"\1\32\1\uffff\12\30\7\uffff\3\30\1\53\26\30\4\uffff\1\30\1"+
|
1384
|
+
"\uffff\32\30",
|
1385
|
+
"\1\32\1\uffff\12\30\7\uffff\15\30\1\54\14\30\4\uffff\1\30\1"+
|
1386
|
+
"\uffff\32\30",
|
1387
|
+
"\1\32\1\uffff\12\30\7\uffff\12\30\1\55\17\30\4\uffff\1\30\1"+
|
1388
|
+
"\uffff\32\30",
|
1389
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\6\30"+
|
1390
|
+
"\1\56\23\30",
|
1391
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\3\30"+
|
1392
|
+
"\1\57\26\30",
|
1393
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\15\30"+
|
1394
|
+
"\1\60\14\30",
|
1395
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\12\30"+
|
1396
|
+
"\1\61\17\30",
|
1397
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\24\30"+
|
1398
|
+
"\1\62\5\30",
|
1399
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\13\30"+
|
1400
|
+
"\1\63\16\30",
|
1401
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\13\30"+
|
1402
|
+
"\1\64\16\30",
|
1403
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\13\30"+
|
1404
|
+
"\1\65\16\30",
|
1405
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
1406
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\10\30"+
|
1407
|
+
"\1\67\21\30",
|
1408
|
+
"\1\32\1\uffff\12\30\7\uffff\10\30\1\70\21\30\4\uffff\1\30\1"+
|
1409
|
+
"\uffff\32\30",
|
1410
|
+
"\1\32\1\uffff\12\30\7\uffff\22\30\1\71\7\30\4\uffff\1\30\1"+
|
1411
|
+
"\uffff\32\30",
|
1412
|
+
"\1\32\1\uffff\12\30\7\uffff\23\30\1\72\6\30\4\uffff\1\30\1"+
|
1413
|
+
"\uffff\32\30",
|
1414
|
+
"\1\32\1\uffff\12\30\7\uffff\4\30\1\73\25\30\4\uffff\1\30\1"+
|
1415
|
+
"\uffff\32\30",
|
1416
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\10\30"+
|
1417
|
+
"\1\74\21\30",
|
1418
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\22\30"+
|
1419
|
+
"\1\75\7\30",
|
1420
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\23\30"+
|
1421
|
+
"\1\76\6\30",
|
1422
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\4\30"+
|
1423
|
+
"\1\77\25\30",
|
1424
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\4\30"+
|
1425
|
+
"\1\100\25\30",
|
1426
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\22\30"+
|
1427
|
+
"\1\101\7\30",
|
1428
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
1429
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\13\30"+
|
1430
|
+
"\1\103\16\30",
|
983
1431
|
"",
|
984
|
-
"\1\
|
985
|
-
"\1\
|
986
|
-
"\1\
|
987
|
-
"\1\
|
988
|
-
"\1\
|
989
|
-
"\
|
990
|
-
"\1\
|
991
|
-
"\
|
992
|
-
"\1\
|
993
|
-
"\1\32\
|
994
|
-
"\1\
|
995
|
-
"\1\
|
996
|
-
"\1\
|
997
|
-
"\1\
|
998
|
-
"\
|
999
|
-
"\1\
|
1000
|
-
"\1\
|
1001
|
-
"\1\
|
1002
|
-
"\1\
|
1003
|
-
"\1\40\16\15",
|
1432
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\1\30"+
|
1433
|
+
"\1\104\30\30",
|
1434
|
+
"\1\32\1\uffff\12\30\7\uffff\15\30\1\105\14\30\4\uffff\1\30"+
|
1435
|
+
"\1\uffff\32\30",
|
1436
|
+
"\1\32\1\uffff\12\30\7\uffff\26\30\1\106\3\30\4\uffff\1\30\1"+
|
1437
|
+
"\uffff\32\30",
|
1438
|
+
"\1\32\1\uffff\12\30\7\uffff\1\107\31\30\4\uffff\1\30\1\uffff"+
|
1439
|
+
"\32\30",
|
1440
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
1441
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\15\30"+
|
1442
|
+
"\1\110\14\30",
|
1443
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\26\30"+
|
1444
|
+
"\1\111\3\30",
|
1445
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\1\112"+
|
1446
|
+
"\31\30",
|
1447
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
1448
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
1449
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\4\30"+
|
1450
|
+
"\1\114\25\30",
|
1004
1451
|
"",
|
1005
|
-
"\1\
|
1006
|
-
"\1\
|
1007
|
-
"\1\
|
1008
|
-
"\1\
|
1009
|
-
"\
|
1452
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
1453
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\13\30"+
|
1454
|
+
"\1\115\16\30",
|
1455
|
+
"\1\32\1\uffff\12\30\7\uffff\22\30\1\116\7\30\4\uffff\1\30\1"+
|
1456
|
+
"\uffff\32\30",
|
1457
|
+
"\1\32\1\uffff\12\30\7\uffff\10\30\1\117\21\30\4\uffff\1\30"+
|
1458
|
+
"\1\uffff\32\30",
|
1459
|
+
"\1\32\1\uffff\12\30\7\uffff\10\30\1\120\21\30\4\uffff\1\30"+
|
1460
|
+
"\1\uffff\32\30",
|
1461
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\22\30"+
|
1462
|
+
"\1\121\7\30",
|
1463
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\10\30"+
|
1464
|
+
"\1\122\21\30",
|
1465
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\10\30"+
|
1466
|
+
"\1\123\21\30",
|
1010
1467
|
"",
|
1011
|
-
"\1\
|
1012
|
-
"\1\
|
1013
|
-
"\1\
|
1468
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
1469
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\4\30"+
|
1470
|
+
"\1\124\25\30",
|
1471
|
+
"\1\32\1\uffff\12\30\7\uffff\26\30\1\125\3\30\4\uffff\1\30\1"+
|
1472
|
+
"\uffff\32\30",
|
1473
|
+
"\1\32\1\uffff\12\30\7\uffff\23\30\1\126\6\30\4\uffff\1\30\1"+
|
1474
|
+
"\uffff\32\30",
|
1475
|
+
"\1\32\1\uffff\12\30\7\uffff\15\30\1\127\14\30\4\uffff\1\30"+
|
1476
|
+
"\1\uffff\32\30",
|
1477
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\26\30"+
|
1478
|
+
"\1\130\3\30",
|
1479
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\23\30"+
|
1480
|
+
"\1\131\6\30",
|
1481
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\15\30"+
|
1482
|
+
"\1\132\14\30",
|
1483
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
1484
|
+
"\1\32\1\uffff\12\30\7\uffff\10\30\1\134\21\30\4\uffff\1\30"+
|
1485
|
+
"\1\uffff\32\30",
|
1486
|
+
"\1\32\1\uffff\12\30\7\uffff\7\30\1\135\22\30\4\uffff\1\30\1"+
|
1487
|
+
"\uffff\32\30",
|
1488
|
+
"\1\32\1\uffff\12\30\7\uffff\22\30\1\136\7\30\4\uffff\1\30\1"+
|
1489
|
+
"\uffff\32\30",
|
1490
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\10\30"+
|
1491
|
+
"\1\137\21\30",
|
1492
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\7\30"+
|
1493
|
+
"\1\140\22\30",
|
1494
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\22\30"+
|
1495
|
+
"\1\141\7\30",
|
1014
1496
|
"",
|
1015
|
-
"\1\
|
1016
|
-
"\
|
1017
|
-
"\1\
|
1018
|
-
"\1\
|
1019
|
-
""
|
1497
|
+
"\1\32\1\uffff\12\30\7\uffff\23\30\1\142\6\30\4\uffff\1\30\1"+
|
1498
|
+
"\uffff\32\30",
|
1499
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
1500
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
1501
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\23\30"+
|
1502
|
+
"\1\143\6\30",
|
1503
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
1504
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
1505
|
+
"\1\32\1\uffff\12\30\7\uffff\7\30\1\144\22\30\4\uffff\1\30\1"+
|
1506
|
+
"\uffff\32\30",
|
1507
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\7\30"+
|
1508
|
+
"\1\145\22\30",
|
1509
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
|
1510
|
+
"\1\32\1\uffff\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30"
|
1020
1511
|
};
|
1021
1512
|
|
1022
|
-
static final short[]
|
1023
|
-
static final short[]
|
1024
|
-
static final char[]
|
1025
|
-
static final char[]
|
1026
|
-
static final short[]
|
1027
|
-
static final short[]
|
1028
|
-
static final short[][]
|
1513
|
+
static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);
|
1514
|
+
static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);
|
1515
|
+
static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);
|
1516
|
+
static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);
|
1517
|
+
static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);
|
1518
|
+
static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);
|
1519
|
+
static final short[][] DFA14_transition;
|
1029
1520
|
|
1030
1521
|
static {
|
1031
|
-
int numStates =
|
1032
|
-
|
1522
|
+
int numStates = DFA14_transitionS.length;
|
1523
|
+
DFA14_transition = new short[numStates][];
|
1033
1524
|
for (int i=0; i<numStates; i++) {
|
1034
|
-
|
1525
|
+
DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);
|
1035
1526
|
}
|
1036
1527
|
}
|
1037
1528
|
|
1038
|
-
class
|
1529
|
+
class DFA14 extends DFA {
|
1039
1530
|
|
1040
|
-
public
|
1531
|
+
public DFA14(BaseRecognizer recognizer) {
|
1041
1532
|
this.recognizer = recognizer;
|
1042
|
-
this.decisionNumber =
|
1043
|
-
this.eot =
|
1044
|
-
this.eof =
|
1045
|
-
this.min =
|
1046
|
-
this.max =
|
1047
|
-
this.accept =
|
1048
|
-
this.special =
|
1049
|
-
this.transition =
|
1533
|
+
this.decisionNumber = 14;
|
1534
|
+
this.eot = DFA14_eot;
|
1535
|
+
this.eof = DFA14_eof;
|
1536
|
+
this.min = DFA14_min;
|
1537
|
+
this.max = DFA14_max;
|
1538
|
+
this.accept = DFA14_accept;
|
1539
|
+
this.special = DFA14_special;
|
1540
|
+
this.transition = DFA14_transition;
|
1050
1541
|
}
|
1051
1542
|
public String getDescription() {
|
1052
|
-
return "1:1: Tokens : ( WILDCARD | QUALIFIED_NAME | ALL | VISIBLE | FILTER_COLON | INT | BOOL | NIL | NAME | STRING | WHITE );";
|
1543
|
+
return "1:1: Tokens : ( WILDCARD | QUALIFIED_NAME | ALL | VISIBLE | FILTER_COLON | BEGINPRED | ENDPRED | RELATION | INT | BOOL | NIL | NAME | STRING | WHITE );";
|
1053
1544
|
}
|
1054
1545
|
}
|
1055
1546
|
|