3 # Copyright 2007 Google Inc.
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
20 from google
.appengine
._internal
.antlr3
import *
21 from google
.appengine
._internal
.antlr3
.compat
import set, frozenset
25 HIDDEN
= BaseRecognizer
.HIDDEN
73 class QueryLexer(Lexer
):
76 antlr_version
= version_str_to_tuple("3.1.1")
77 antlr_version_str
= "3.1.1"
79 def __init__(self
, input=None, state
=None):
81 state
= RecognizerSharedState()
82 Lexer
.__init
__(self
, input, state
)
84 self
.dfa8
= self
.DFA8(
90 accept
= self
.DFA8_accept
,
91 special
= self
.DFA8_special
,
92 transition
= self
.DFA8_transition
95 self
.dfa9
= self
.DFA9(
101 accept
= self
.DFA9_accept
,
102 special
= self
.DFA9_special
,
103 transition
= self
.DFA9_transition
116 _channel
= DEFAULT_CHANNEL
125 self
._state
.type = _type
126 self
._state
.channel
= _channel
141 _channel
= DEFAULT_CHANNEL
150 self
._state
.type = _type
151 self
._state
.channel
= _channel
166 _channel
= DEFAULT_CHANNEL
175 self
._state
.type = _type
176 self
._state
.channel
= _channel
191 _channel
= DEFAULT_CHANNEL
200 self
._state
.type = _type
201 self
._state
.channel
= _channel
216 _channel
= DEFAULT_CHANNEL
225 self
._state
.type = _type
226 self
._state
.channel
= _channel
241 _channel
= DEFAULT_CHANNEL
250 self
._state
.type = _type
251 self
._state
.channel
= _channel
266 _channel
= DEFAULT_CHANNEL
275 self
._state
.type = _type
276 self
._state
.channel
= _channel
287 def mREWRITE(self
, ):
291 _channel
= DEFAULT_CHANNEL
300 self
._state
.type = _type
301 self
._state
.channel
= _channel
316 _channel
= DEFAULT_CHANNEL
325 self
._state
.type = _type
326 self
._state
.channel
= _channel
337 def mDISTANCE_FN(self
, ):
341 _channel
= DEFAULT_CHANNEL
346 self
.match("distance")
350 self
._state
.type = _type
351 self
._state
.channel
= _channel
362 def mGEO_POINT_FN(self
, ):
366 _channel
= DEFAULT_CHANNEL
371 self
.match("geopoint")
375 self
._state
.type = _type
376 self
._state
.channel
= _channel
391 _channel
= DEFAULT_CHANNEL
395 LA1_0
= self
.input.LA(1)
398 LA1
= self
.input.LA(2)
399 if LA1
== 34 or LA1
== 92:
403 elif LA1
== 48 or LA1
== 49 or LA1
== 50 or LA1
== 51 or LA1
== 52 or LA1
== 53 or LA1
== 54 or LA1
== 55:
406 nvae
= NoViableAltException("", 1, 1, self
.input)
411 nvae
= NoViableAltException("", 1, 0, self
.input)
419 if self
.input.LA(1) == 34 or self
.input.LA(1) == 92:
422 mse
= MismatchedSetException(None, self
.input)
440 self
._state
.type = _type
441 self
._state
.channel
= _channel
456 _channel
= DEFAULT_CHANNEL
461 if (9 <= self
.input.LA(1) <= 10) or (12 <= self
.input.LA(1) <= 13) or self
.input.LA(1) == 32:
464 mse
= MismatchedSetException(None, self
.input)
471 self
._state
.type = _type
472 self
._state
.channel
= _channel
487 _channel
= DEFAULT_CHANNEL
496 self
._state
.type = _type
497 self
._state
.channel
= _channel
512 _channel
= DEFAULT_CHANNEL
521 self
._state
.type = _type
522 self
._state
.channel
= _channel
533 def mLESSTHAN(self
, ):
537 _channel
= DEFAULT_CHANNEL
546 self
._state
.type = _type
547 self
._state
.channel
= _channel
562 _channel
= DEFAULT_CHANNEL
571 self
._state
.type = _type
572 self
._state
.channel
= _channel
587 _channel
= DEFAULT_CHANNEL
596 self
._state
.type = _type
597 self
._state
.channel
= _channel
612 _channel
= DEFAULT_CHANNEL
621 self
._state
.type = _type
622 self
._state
.channel
= _channel
637 _channel
= DEFAULT_CHANNEL
646 self
._state
.type = _type
647 self
._state
.channel
= _channel
662 _channel
= DEFAULT_CHANNEL
671 self
._state
.type = _type
672 self
._state
.channel
= _channel
687 _channel
= DEFAULT_CHANNEL
696 self
._state
.type = _type
697 self
._state
.channel
= _channel
712 _channel
= DEFAULT_CHANNEL
716 LA4_0
= self
.input.LA(1)
718 if (LA4_0
== 33 or (35 <= LA4_0
<= 39) or LA4_0
== 42 or (46 <= LA4_0
<= 47) or LA4_0
== 59 or (63 <= LA4_0
<= 125) or (161 <= LA4_0
<= 65518)) :
720 elif (LA4_0
== 45 or (48 <= LA4_0
<= 57)) :
723 nvae
= NoViableAltException("", 4, 0, self
.input)
738 LA2_0
= self
.input.LA(1)
753 LA3_0
= self
.input.LA(1)
755 if (LA3_0
== 33 or (35 <= LA3_0
<= 39) or (42 <= LA3_0
<= 43) or (45 <= LA3_0
<= 57) or LA3_0
== 59 or (63 <= LA3_0
<= 91) or (93 <= LA3_0
<= 125) or (161 <= LA3_0
<= 65518)) :
758 LA3
= self
.input.LA(2)
759 if LA3
== 34 or LA3
== 43 or LA3
== 44 or LA3
== 58 or LA3
== 60 or LA3
== 61 or LA3
== 62 or LA3
== 92 or LA3
== 126:
763 elif LA3
== 48 or LA3
== 49 or LA3
== 50 or LA3
== 51 or LA3
== 52 or LA3
== 53 or LA3
== 54 or LA3
== 55:
798 self
._state
.type = _type
799 self
._state
.channel
= _channel
810 def mCHAR_SEQ(self
, ):
818 LA5_0
= self
.input.LA(1)
820 if (LA5_0
== 33 or (35 <= LA5_0
<= 39) or LA5_0
== 42 or (46 <= LA5_0
<= 47) or LA5_0
== 59 or (63 <= LA5_0
<= 91) or (93 <= LA5_0
<= 125) or (161 <= LA5_0
<= 65518)) :
823 LA5
= self
.input.LA(2)
824 if LA5
== 34 or LA5
== 43 or LA5
== 44 or LA5
== 58 or LA5
== 60 or LA5
== 61 or LA5
== 62 or LA5
== 92 or LA5
== 126:
828 elif LA5
== 48 or LA5
== 49 or LA5
== 50 or LA5
== 51 or LA5
== 52 or LA5
== 53 or LA5
== 54 or LA5
== 55:
831 nvae
= NoViableAltException("", 5, 2, self
.input)
836 nvae
= NoViableAltException("", 5, 0, self
.input)
868 LA6_0
= self
.input.LA(1)
870 if (LA6_0
== 33 or (35 <= LA6_0
<= 39) or (42 <= LA6_0
<= 43) or (45 <= LA6_0
<= 57) or LA6_0
== 59 or (63 <= LA6_0
<= 91) or (93 <= LA6_0
<= 125) or (161 <= LA6_0
<= 65518)) :
873 LA6
= self
.input.LA(2)
874 if LA6
== 34 or LA6
== 43 or LA6
== 44 or LA6
== 58 or LA6
== 60 or LA6
== 61 or LA6
== 62 or LA6
== 92 or LA6
== 126:
878 elif LA6
== 48 or LA6
== 49 or LA6
== 50 or LA6
== 51 or LA6
== 52 or LA6
== 53 or LA6
== 54 or LA6
== 55:
924 def mUNICODE_ESC(self
, ):
949 def mOCTAL_ESC(self
, ):
954 LA7_0
= self
.input.LA(1)
957 LA7_1
= self
.input.LA(2)
959 if ((48 <= LA7_1
<= 51)) :
960 LA7_2
= self
.input.LA(3)
962 if ((48 <= LA7_2
<= 55)) :
963 LA7_4
= self
.input.LA(4)
965 if ((48 <= LA7_4
<= 55)) :
971 elif ((52 <= LA7_1
<= 55)) :
972 LA7_3
= self
.input.LA(3)
974 if ((48 <= LA7_3
<= 55)) :
979 nvae
= NoViableAltException("", 7, 1, self
.input)
984 nvae
= NoViableAltException("", 7, 0, self
.input)
995 self
.matchRange(48, 51)
1002 self
.matchRange(48, 55)
1009 self
.matchRange(48, 55)
1022 self
.matchRange(48, 55)
1029 self
.matchRange(48, 55)
1042 self
.matchRange(48, 55)
1064 self
.matchRange(48, 57)
1078 def mHEX_DIGIT(self
, ):
1084 if (48 <= self
.input.LA(1) <= 57) or (65 <= self
.input.LA(1) <= 70) or (97 <= self
.input.LA(1) <= 102):
1085 self
.input.consume()
1087 mse
= MismatchedSetException(None, self
.input)
1104 def mSTART_CHAR(self
, ):
1110 if self
.input.LA(1) == 33 or (35 <= self
.input.LA(1) <= 39) or self
.input.LA(1) == 42 or (46 <= self
.input.LA(1) <= 47) or self
.input.LA(1) == 59 or (63 <= self
.input.LA(1) <= 91) or (93 <= self
.input.LA(1) <= 125) or (161 <= self
.input.LA(1) <= 65518):
1111 self
.input.consume()
1113 mse
= MismatchedSetException(None, self
.input)
1130 def mMID_CHAR(self
, ):
1136 if self
.input.LA(1) == 33 or (35 <= self
.input.LA(1) <= 39) or (42 <= self
.input.LA(1) <= 43) or (45 <= self
.input.LA(1) <= 57) or self
.input.LA(1) == 59 or (63 <= self
.input.LA(1) <= 91) or (93 <= self
.input.LA(1) <= 125) or (161 <= self
.input.LA(1) <= 65518):
1137 self
.input.consume()
1139 mse
= MismatchedSetException(None, self
.input)
1156 def mESCAPED_CHAR(self
, ):
1161 alt8
= self
.dfa8
.predict(self
.input)
1228 alt9
= self
.dfa9
.predict(self
.input)
1292 self
.mGEO_POINT_FN()
1374 DFA8_eot
= DFA
.unpack(
1378 DFA8_eof
= DFA
.unpack(
1382 DFA8_min
= DFA
.unpack(
1383 u
"\1\134\1\42\11\uffff"
1386 DFA8_max
= DFA
.unpack(
1387 u
"\1\134\1\176\11\uffff"
1390 DFA8_accept
= DFA
.unpack(
1391 u
"\2\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11"
1394 DFA8_special
= DFA
.unpack(
1400 DFA
.unpack(u
"\1\1"),
1401 DFA
.unpack(u
"\1\11\10\uffff\1\7\1\2\15\uffff\1\3\1\uffff\1\5\1\4"
1402 u
"\1\6\35\uffff\1\12\41\uffff\1\10"),
1419 DFA9_eot
= DFA
.unpack(
1420 u
"\1\uffff\1\25\1\uffff\1\33\1\uffff\3\24\2\uffff\2\24\3\uffff\1"
1421 u
"\42\1\44\1\24\4\uffff\1\46\1\uffff\3\46\1\uffff\1\52\4\24\7\uffff"
1422 u
"\2\46\1\uffff\1\61\1\62\2\24\1\uffff\1\46\2\uffff\2\24\1\uffff"
1423 u
"\2\24\1\46\4\24\1\77\1\100\2\uffff"
1426 DFA9_eof
= DFA
.unpack(
1430 DFA9_min
= DFA
.unpack(
1431 u
"\1\11\1\60\1\uffff\1\42\1\uffff\1\122\1\116\1\117\2\uffff\1\151"
1432 u
"\1\145\3\uffff\3\75\4\uffff\1\41\1\60\3\41\1\uffff\1\41\1\104\1"
1433 u
"\124\1\163\1\157\6\uffff\1\60\2\41\1\uffff\2\41\1\164\1\160\1\60"
1434 u
"\1\41\2\uffff\1\141\1\157\1\60\1\156\1\151\1\41\1\143\1\156\1\145"
1435 u
"\1\164\2\41\2\uffff"
1438 DFA9_max
= DFA
.unpack(
1439 u
"\1\uffee\1\71\1\uffff\1\176\1\uffff\1\122\1\116\1\117\2\uffff\1"
1440 u
"\151\1\145\3\uffff\3\75\4\uffff\1\uffee\1\146\3\uffee\1\uffff\1"
1441 u
"\uffee\1\104\1\124\1\163\1\157\6\uffff\1\146\2\uffee\1\uffff\2"
1442 u
"\uffee\1\164\1\160\1\146\1\uffee\2\uffff\1\141\1\157\1\146\1\156"
1443 u
"\1\151\1\uffee\1\143\1\156\1\145\1\164\2\uffee\2\uffff"
1446 DFA9_accept
= DFA
.unpack(
1447 u
"\2\uffff\1\2\1\uffff\1\4\3\uffff\1\10\1\11\2\uffff\1\15\1\16\1"
1448 u
"\17\3\uffff\1\25\1\26\1\27\1\1\5\uffff\1\3\5\uffff\1\23\1\20\1"
1449 u
"\22\1\21\1\24\1\14\3\uffff\1\5\6\uffff\1\6\1\7\14\uffff\1\12\1"
1453 DFA9_special
= DFA
.unpack(
1459 DFA
.unpack(u
"\2\14\1\uffff\2\14\22\uffff\1\14\1\21\1\23\5\24\1\15"
1460 u
"\1\16\1\24\1\11\1\2\1\1\14\24\1\4\1\24\1\17\1\22\1\20\2\24\1\6"
1461 u
"\14\24\1\7\1\5\14\24\1\3\7\24\1\12\2\24\1\13\26\24\1\10\42\uffff"
1463 DFA
.unpack(u
"\12\24"),
1465 DFA
.unpack(u
"\1\26\10\uffff\2\24\3\uffff\4\31\4\32\2\uffff\1\24"
1466 u
"\1\uffff\3\24\35\uffff\1\30\30\uffff\1\27\10\uffff\1\24"),
1468 DFA
.unpack(u
"\1\34"),
1469 DFA
.unpack(u
"\1\35"),
1470 DFA
.unpack(u
"\1\36"),
1473 DFA
.unpack(u
"\1\37"),
1474 DFA
.unpack(u
"\1\40"),
1478 DFA
.unpack(u
"\1\41"),
1479 DFA
.unpack(u
"\1\43"),
1480 DFA
.unpack(u
"\1\45"),
1485 DFA
.unpack(u
"\1\24\1\uffff\5\24\2\uffff\2\24\1\uffff\15\24\1\uffff"
1486 u
"\1\24\3\uffff\77\24\43\uffff\uff4e\24"),
1487 DFA
.unpack(u
"\12\47\7\uffff\6\47\32\uffff\6\47"),
1488 DFA
.unpack(u
"\1\24\1\uffff\5\24\2\uffff\2\24\1\uffff\15\24\1\uffff"
1489 u
"\1\24\3\uffff\77\24\43\uffff\uff4e\24"),
1490 DFA
.unpack(u
"\1\24\1\uffff\5\24\2\uffff\2\24\1\uffff\3\24\10\50"
1491 u
"\2\24\1\uffff\1\24\3\uffff\77\24\43\uffff\uff4e\24"),
1492 DFA
.unpack(u
"\1\24\1\uffff\5\24\2\uffff\2\24\1\uffff\3\24\10\51"
1493 u
"\2\24\1\uffff\1\24\3\uffff\77\24\43\uffff\uff4e\24"),
1495 DFA
.unpack(u
"\1\24\1\uffff\5\24\2\uffff\2\24\1\uffff\15\24\1\uffff"
1496 u
"\1\24\3\uffff\77\24\43\uffff\uff4e\24"),
1497 DFA
.unpack(u
"\1\53"),
1498 DFA
.unpack(u
"\1\54"),
1499 DFA
.unpack(u
"\1\55"),
1500 DFA
.unpack(u
"\1\56"),
1507 DFA
.unpack(u
"\12\57\7\uffff\6\57\32\uffff\6\57"),
1508 DFA
.unpack(u
"\1\24\1\uffff\5\24\2\uffff\2\24\1\uffff\3\24\10\60"
1509 u
"\2\24\1\uffff\1\24\3\uffff\77\24\43\uffff\uff4e\24"),
1510 DFA
.unpack(u
"\1\24\1\uffff\5\24\2\uffff\2\24\1\uffff\15\24\1\uffff"
1511 u
"\1\24\3\uffff\77\24\43\uffff\uff4e\24"),
1513 DFA
.unpack(u
"\1\24\1\uffff\5\24\2\uffff\2\24\1\uffff\15\24\1\uffff"
1514 u
"\1\24\3\uffff\77\24\43\uffff\uff4e\24"),
1515 DFA
.unpack(u
"\1\24\1\uffff\5\24\2\uffff\2\24\1\uffff\15\24\1\uffff"
1516 u
"\1\24\3\uffff\77\24\43\uffff\uff4e\24"),
1517 DFA
.unpack(u
"\1\63"),
1518 DFA
.unpack(u
"\1\64"),
1519 DFA
.unpack(u
"\12\65\7\uffff\6\65\32\uffff\6\65"),
1520 DFA
.unpack(u
"\1\24\1\uffff\5\24\2\uffff\2\24\1\uffff\15\24\1\uffff"
1521 u
"\1\24\3\uffff\77\24\43\uffff\uff4e\24"),
1524 DFA
.unpack(u
"\1\66"),
1525 DFA
.unpack(u
"\1\67"),
1526 DFA
.unpack(u
"\12\70\7\uffff\6\70\32\uffff\6\70"),
1527 DFA
.unpack(u
"\1\71"),
1528 DFA
.unpack(u
"\1\72"),
1529 DFA
.unpack(u
"\1\24\1\uffff\5\24\2\uffff\2\24\1\uffff\15\24\1\uffff"
1530 u
"\1\24\3\uffff\77\24\43\uffff\uff4e\24"),
1531 DFA
.unpack(u
"\1\73"),
1532 DFA
.unpack(u
"\1\74"),
1533 DFA
.unpack(u
"\1\75"),
1534 DFA
.unpack(u
"\1\76"),
1535 DFA
.unpack(u
"\1\24\1\uffff\5\24\2\uffff\2\24\1\uffff\15\24\1\uffff"
1536 u
"\1\24\3\uffff\77\24\43\uffff\uff4e\24"),
1537 DFA
.unpack(u
"\1\24\1\uffff\5\24\2\uffff\2\24\1\uffff\15\24\1\uffff"
1538 u
"\1\24\3\uffff\77\24\43\uffff\uff4e\24"),
1550 def main(argv
, stdin
=sys
.stdin
, stdout
=sys
.stdout
, stderr
=sys
.stderr
):
1551 from google
.appengine
._internal
.antlr3
.main
import LexerMain
1552 main
= LexerMain(QueryLexer
)
1554 main
.stdout
= stdout
1555 main
.stderr
= stderr
1559 if __name__
== '__main__':