Skip to content

Instantly share code, notes, and snippets.

@mtnygard
Created March 13, 2011 04:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mtnygard/867853 to your computer and use it in GitHub Desktop.
Save mtnygard/867853 to your computer and use it in GitHub Desktop.
Parser generated from ImaginaryNode.g
/Users/mtnygard/work/atg-xref/indexer/src/gen-java/ImaginaryNodeBugParser.java:139: illegal start of expression
if ( !() ) {
^
/Users/mtnygard/work/atg-xref/indexer/src/gen-java/ImaginaryNodeBugParser.java:142: illegal start of expression
while ( ) {
^
grammar ImaginaryNodeBug;
options {
backtrack=true;
memoize=true;
output=AST;
}
tokens {
QNAME;
TYPEREF;
}
@header { package indexer.imaginary; }
@lexer::header { package indexer.imaginary; }
/********************************************************************************************
Parser section
*********************************************************************************************/
qualifiedNameList
: qnames+=qualifiedName (',' qnames+=qualifiedName )*
-> ^(TYPEREF[$qnames.text])+
;
qualifiedName
: IDENTIFIER ('.' IDENTIFIER )* -> {new CommonTree(new CommonToken(QNAME, $qualifiedName.text))};
/********************************************************************************************
Lexer section
*********************************************************************************************/
IDENTIFIER
: IdentifierStart IdentifierPart*
;
fragment
SurrogateIdentifer
: ('\ud800'..'\udbff') ('\udc00'..'\udfff')
;
fragment
IdentifierStart
: '\u0024'
| '\u0041'..'\u005a'
| '\u005f'
| '\u0061'..'\u007a'
| '\u00a2'..'\u00a5'
| '\u00aa'
| '\u00b5'
| '\u00ba'
| '\u00c0'..'\u00d6'
| '\u00d8'..'\u00f6'
| '\u00f8'..'\u0236'
| '\u0250'..'\u02c1'
| '\u02c6'..'\u02d1'
| '\u02e0'..'\u02e4'
| '\u02ee'
| '\u037a'
| '\u0386'
| '\u0388'..'\u038a'
| '\u038c'
| '\u038e'..'\u03a1'
| '\u03a3'..'\u03ce'
| '\u03d0'..'\u03f5'
| '\u03f7'..'\u03fb'
| '\u0400'..'\u0481'
| '\u048a'..'\u04ce'
| '\u04d0'..'\u04f5'
| '\u04f8'..'\u04f9'
| '\u0500'..'\u050f'
| '\u0531'..'\u0556'
| '\u0559'
| '\u0561'..'\u0587'
| '\u05d0'..'\u05ea'
| '\u05f0'..'\u05f2'
| '\u0621'..'\u063a'
| '\u0640'..'\u064a'
| '\u066e'..'\u066f'
| '\u0671'..'\u06d3'
| '\u06d5'
| '\u06e5'..'\u06e6'
| '\u06ee'..'\u06ef'
| '\u06fa'..'\u06fc'
| '\u06ff'
| '\u0710'
| '\u0712'..'\u072f'
| '\u074d'..'\u074f'
| '\u0780'..'\u07a5'
| '\u07b1'
| '\u0904'..'\u0939'
| '\u093d'
| '\u0950'
| '\u0958'..'\u0961'
| '\u0985'..'\u098c'
| '\u098f'..'\u0990'
| '\u0993'..'\u09a8'
| '\u09aa'..'\u09b0'
| '\u09b2'
| '\u09b6'..'\u09b9'
| '\u09bd'
| '\u09dc'..'\u09dd'
| '\u09df'..'\u09e1'
| '\u09f0'..'\u09f3'
| '\u0a05'..'\u0a0a'
| '\u0a0f'..'\u0a10'
| '\u0a13'..'\u0a28'
| '\u0a2a'..'\u0a30'
| '\u0a32'..'\u0a33'
| '\u0a35'..'\u0a36'
| '\u0a38'..'\u0a39'
| '\u0a59'..'\u0a5c'
| '\u0a5e'
| '\u0a72'..'\u0a74'
| '\u0a85'..'\u0a8d'
| '\u0a8f'..'\u0a91'
| '\u0a93'..'\u0aa8'
| '\u0aaa'..'\u0ab0'
| '\u0ab2'..'\u0ab3'
| '\u0ab5'..'\u0ab9'
| '\u0abd'
| '\u0ad0'
| '\u0ae0'..'\u0ae1'
| '\u0af1'
| '\u0b05'..'\u0b0c'
| '\u0b0f'..'\u0b10'
| '\u0b13'..'\u0b28'
| '\u0b2a'..'\u0b30'
| '\u0b32'..'\u0b33'
| '\u0b35'..'\u0b39'
| '\u0b3d'
| '\u0b5c'..'\u0b5d'
| '\u0b5f'..'\u0b61'
| '\u0b71'
| '\u0b83'
| '\u0b85'..'\u0b8a'
| '\u0b8e'..'\u0b90'
| '\u0b92'..'\u0b95'
| '\u0b99'..'\u0b9a'
| '\u0b9c'
| '\u0b9e'..'\u0b9f'
| '\u0ba3'..'\u0ba4'
| '\u0ba8'..'\u0baa'
| '\u0bae'..'\u0bb5'
| '\u0bb7'..'\u0bb9'
| '\u0bf9'
| '\u0c05'..'\u0c0c'
| '\u0c0e'..'\u0c10'
| '\u0c12'..'\u0c28'
| '\u0c2a'..'\u0c33'
| '\u0c35'..'\u0c39'
| '\u0c60'..'\u0c61'
| '\u0c85'..'\u0c8c'
| '\u0c8e'..'\u0c90'
| '\u0c92'..'\u0ca8'
| '\u0caa'..'\u0cb3'
| '\u0cb5'..'\u0cb9'
| '\u0cbd'
| '\u0cde'
| '\u0ce0'..'\u0ce1'
| '\u0d05'..'\u0d0c'
| '\u0d0e'..'\u0d10'
| '\u0d12'..'\u0d28'
| '\u0d2a'..'\u0d39'
| '\u0d60'..'\u0d61'
| '\u0d85'..'\u0d96'
| '\u0d9a'..'\u0db1'
| '\u0db3'..'\u0dbb'
| '\u0dbd'
| '\u0dc0'..'\u0dc6'
| '\u0e01'..'\u0e30'
| '\u0e32'..'\u0e33'
| '\u0e3f'..'\u0e46'
| '\u0e81'..'\u0e82'
| '\u0e84'
| '\u0e87'..'\u0e88'
| '\u0e8a'
| '\u0e8d'
| '\u0e94'..'\u0e97'
| '\u0e99'..'\u0e9f'
| '\u0ea1'..'\u0ea3'
| '\u0ea5'
| '\u0ea7'
| '\u0eaa'..'\u0eab'
| '\u0ead'..'\u0eb0'
| '\u0eb2'..'\u0eb3'
| '\u0ebd'
| '\u0ec0'..'\u0ec4'
| '\u0ec6'
| '\u0edc'..'\u0edd'
| '\u0f00'
| '\u0f40'..'\u0f47'
| '\u0f49'..'\u0f6a'
| '\u0f88'..'\u0f8b'
| '\u1000'..'\u1021'
| '\u1023'..'\u1027'
| '\u1029'..'\u102a'
| '\u1050'..'\u1055'
| '\u10a0'..'\u10c5'
| '\u10d0'..'\u10f8'
| '\u1100'..'\u1159'
| '\u115f'..'\u11a2'
| '\u11a8'..'\u11f9'
| '\u1200'..'\u1206'
| '\u1208'..'\u1246'
| '\u1248'
| '\u124a'..'\u124d'
| '\u1250'..'\u1256'
| '\u1258'
| '\u125a'..'\u125d'
| '\u1260'..'\u1286'
| '\u1288'
| '\u128a'..'\u128d'
| '\u1290'..'\u12ae'
| '\u12b0'
| '\u12b2'..'\u12b5'
| '\u12b8'..'\u12be'
| '\u12c0'
| '\u12c2'..'\u12c5'
| '\u12c8'..'\u12ce'
| '\u12d0'..'\u12d6'
| '\u12d8'..'\u12ee'
| '\u12f0'..'\u130e'
| '\u1310'
| '\u1312'..'\u1315'
| '\u1318'..'\u131e'
| '\u1320'..'\u1346'
| '\u1348'..'\u135a'
| '\u13a0'..'\u13f4'
| '\u1401'..'\u166c'
| '\u166f'..'\u1676'
| '\u1681'..'\u169a'
| '\u16a0'..'\u16ea'
| '\u16ee'..'\u16f0'
| '\u1700'..'\u170c'
| '\u170e'..'\u1711'
| '\u1720'..'\u1731'
| '\u1740'..'\u1751'
| '\u1760'..'\u176c'
| '\u176e'..'\u1770'
| '\u1780'..'\u17b3'
| '\u17d7'
| '\u17db'..'\u17dc'
| '\u1820'..'\u1877'
| '\u1880'..'\u18a8'
| '\u1900'..'\u191c'
| '\u1950'..'\u196d'
| '\u1970'..'\u1974'
| '\u1d00'..'\u1d6b'
| '\u1e00'..'\u1e9b'
| '\u1ea0'..'\u1ef9'
| '\u1f00'..'\u1f15'
| '\u1f18'..'\u1f1d'
| '\u1f20'..'\u1f45'
| '\u1f48'..'\u1f4d'
| '\u1f50'..'\u1f57'
| '\u1f59'
| '\u1f5b'
| '\u1f5d'
| '\u1f5f'..'\u1f7d'
| '\u1f80'..'\u1fb4'
| '\u1fb6'..'\u1fbc'
| '\u1fbe'
| '\u1fc2'..'\u1fc4'
| '\u1fc6'..'\u1fcc'
| '\u1fd0'..'\u1fd3'
| '\u1fd6'..'\u1fdb'
| '\u1fe0'..'\u1fec'
| '\u1ff2'..'\u1ff4'
| '\u1ff6'..'\u1ffc'
| '\u203f'..'\u2040'
| '\u2054'
| '\u2071'
| '\u207f'
| '\u20a0'..'\u20b1'
| '\u2102'
| '\u2107'
| '\u210a'..'\u2113'
| '\u2115'
| '\u2119'..'\u211d'
| '\u2124'
| '\u2126'
| '\u2128'
| '\u212a'..'\u212d'
| '\u212f'..'\u2131'
| '\u2133'..'\u2139'
| '\u213d'..'\u213f'
| '\u2145'..'\u2149'
| '\u2160'..'\u2183'
| '\u3005'..'\u3007'
| '\u3021'..'\u3029'
| '\u3031'..'\u3035'
| '\u3038'..'\u303c'
| '\u3041'..'\u3096'
| '\u309d'..'\u309f'
| '\u30a1'..'\u30ff'
| '\u3105'..'\u312c'
| '\u3131'..'\u318e'
| '\u31a0'..'\u31b7'
| '\u31f0'..'\u31ff'
| '\u3400'..'\u4db5'
| '\u4e00'..'\u9fa5'
| '\ua000'..'\ua48c'
| '\uac00'..'\ud7a3'
| '\uf900'..'\ufa2d'
| '\ufa30'..'\ufa6a'
| '\ufb00'..'\ufb06'
| '\ufb13'..'\ufb17'
| '\ufb1d'
| '\ufb1f'..'\ufb28'
| '\ufb2a'..'\ufb36'
| '\ufb38'..'\ufb3c'
| '\ufb3e'
| '\ufb40'..'\ufb41'
| '\ufb43'..'\ufb44'
| '\ufb46'..'\ufbb1'
| '\ufbd3'..'\ufd3d'
| '\ufd50'..'\ufd8f'
| '\ufd92'..'\ufdc7'
| '\ufdf0'..'\ufdfc'
| '\ufe33'..'\ufe34'
| '\ufe4d'..'\ufe4f'
| '\ufe69'
| '\ufe70'..'\ufe74'
| '\ufe76'..'\ufefc'
| '\uff04'
| '\uff21'..'\uff3a'
| '\uff3f'
| '\uff41'..'\uff5a'
| '\uff65'..'\uffbe'
| '\uffc2'..'\uffc7'
| '\uffca'..'\uffcf'
| '\uffd2'..'\uffd7'
| '\uffda'..'\uffdc'
| '\uffe0'..'\uffe1'
| '\uffe5'..'\uffe6'
| ('\ud800'..'\udbff') ('\udc00'..'\udfff')
;
fragment
IdentifierPart
: '\u0000'..'\u0008'
| '\u000e'..'\u001b'
| '\u0024'
| '\u0030'..'\u0039'
| '\u0041'..'\u005a'
| '\u005f'
| '\u0061'..'\u007a'
| '\u007f'..'\u009f'
| '\u00a2'..'\u00a5'
| '\u00aa'
| '\u00ad'
| '\u00b5'
| '\u00ba'
| '\u00c0'..'\u00d6'
| '\u00d8'..'\u00f6'
| '\u00f8'..'\u0236'
| '\u0250'..'\u02c1'
| '\u02c6'..'\u02d1'
| '\u02e0'..'\u02e4'
| '\u02ee'
| '\u0300'..'\u0357'
| '\u035d'..'\u036f'
| '\u037a'
| '\u0386'
| '\u0388'..'\u038a'
| '\u038c'
| '\u038e'..'\u03a1'
| '\u03a3'..'\u03ce'
| '\u03d0'..'\u03f5'
| '\u03f7'..'\u03fb'
| '\u0400'..'\u0481'
| '\u0483'..'\u0486'
| '\u048a'..'\u04ce'
| '\u04d0'..'\u04f5'
| '\u04f8'..'\u04f9'
| '\u0500'..'\u050f'
| '\u0531'..'\u0556'
| '\u0559'
| '\u0561'..'\u0587'
| '\u0591'..'\u05a1'
| '\u05a3'..'\u05b9'
| '\u05bb'..'\u05bd'
| '\u05bf'
| '\u05c1'..'\u05c2'
| '\u05c4'
| '\u05d0'..'\u05ea'
| '\u05f0'..'\u05f2'
| '\u0600'..'\u0603'
| '\u0610'..'\u0615'
| '\u0621'..'\u063a'
| '\u0640'..'\u0658'
| '\u0660'..'\u0669'
| '\u066e'..'\u06d3'
| '\u06d5'..'\u06dd'
| '\u06df'..'\u06e8'
| '\u06ea'..'\u06fc'
| '\u06ff'
| '\u070f'..'\u074a'
| '\u074d'..'\u074f'
| '\u0780'..'\u07b1'
| '\u0901'..'\u0939'
| '\u093c'..'\u094d'
| '\u0950'..'\u0954'
| '\u0958'..'\u0963'
| '\u0966'..'\u096f'
| '\u0981'..'\u0983'
| '\u0985'..'\u098c'
| '\u098f'..'\u0990'
| '\u0993'..'\u09a8'
| '\u09aa'..'\u09b0'
| '\u09b2'
| '\u09b6'..'\u09b9'
| '\u09bc'..'\u09c4'
| '\u09c7'..'\u09c8'
| '\u09cb'..'\u09cd'
| '\u09d7'
| '\u09dc'..'\u09dd'
| '\u09df'..'\u09e3'
| '\u09e6'..'\u09f3'
| '\u0a01'..'\u0a03'
| '\u0a05'..'\u0a0a'
| '\u0a0f'..'\u0a10'
| '\u0a13'..'\u0a28'
| '\u0a2a'..'\u0a30'
| '\u0a32'..'\u0a33'
| '\u0a35'..'\u0a36'
| '\u0a38'..'\u0a39'
| '\u0a3c'
| '\u0a3e'..'\u0a42'
| '\u0a47'..'\u0a48'
| '\u0a4b'..'\u0a4d'
| '\u0a59'..'\u0a5c'
| '\u0a5e'
| '\u0a66'..'\u0a74'
| '\u0a81'..'\u0a83'
| '\u0a85'..'\u0a8d'
| '\u0a8f'..'\u0a91'
| '\u0a93'..'\u0aa8'
| '\u0aaa'..'\u0ab0'
| '\u0ab2'..'\u0ab3'
| '\u0ab5'..'\u0ab9'
| '\u0abc'..'\u0ac5'
| '\u0ac7'..'\u0ac9'
| '\u0acb'..'\u0acd'
| '\u0ad0'
| '\u0ae0'..'\u0ae3'
| '\u0ae6'..'\u0aef'
| '\u0af1'
| '\u0b01'..'\u0b03'
| '\u0b05'..'\u0b0c'
| '\u0b0f'..'\u0b10'
| '\u0b13'..'\u0b28'
| '\u0b2a'..'\u0b30'
| '\u0b32'..'\u0b33'
| '\u0b35'..'\u0b39'
| '\u0b3c'..'\u0b43'
| '\u0b47'..'\u0b48'
| '\u0b4b'..'\u0b4d'
| '\u0b56'..'\u0b57'
| '\u0b5c'..'\u0b5d'
| '\u0b5f'..'\u0b61'
| '\u0b66'..'\u0b6f'
| '\u0b71'
| '\u0b82'..'\u0b83'
| '\u0b85'..'\u0b8a'
| '\u0b8e'..'\u0b90'
| '\u0b92'..'\u0b95'
| '\u0b99'..'\u0b9a'
| '\u0b9c'
| '\u0b9e'..'\u0b9f'
| '\u0ba3'..'\u0ba4'
| '\u0ba8'..'\u0baa'
| '\u0bae'..'\u0bb5'
| '\u0bb7'..'\u0bb9'
| '\u0bbe'..'\u0bc2'
| '\u0bc6'..'\u0bc8'
| '\u0bca'..'\u0bcd'
| '\u0bd7'
| '\u0be7'..'\u0bef'
| '\u0bf9'
| '\u0c01'..'\u0c03'
| '\u0c05'..'\u0c0c'
| '\u0c0e'..'\u0c10'
| '\u0c12'..'\u0c28'
| '\u0c2a'..'\u0c33'
| '\u0c35'..'\u0c39'
| '\u0c3e'..'\u0c44'
| '\u0c46'..'\u0c48'
| '\u0c4a'..'\u0c4d'
| '\u0c55'..'\u0c56'
| '\u0c60'..'\u0c61'
| '\u0c66'..'\u0c6f'
| '\u0c82'..'\u0c83'
| '\u0c85'..'\u0c8c'
| '\u0c8e'..'\u0c90'
| '\u0c92'..'\u0ca8'
| '\u0caa'..'\u0cb3'
| '\u0cb5'..'\u0cb9'
| '\u0cbc'..'\u0cc4'
| '\u0cc6'..'\u0cc8'
| '\u0cca'..'\u0ccd'
| '\u0cd5'..'\u0cd6'
| '\u0cde'
| '\u0ce0'..'\u0ce1'
| '\u0ce6'..'\u0cef'
| '\u0d02'..'\u0d03'
| '\u0d05'..'\u0d0c'
| '\u0d0e'..'\u0d10'
| '\u0d12'..'\u0d28'
| '\u0d2a'..'\u0d39'
| '\u0d3e'..'\u0d43'
| '\u0d46'..'\u0d48'
| '\u0d4a'..'\u0d4d'
| '\u0d57'
| '\u0d60'..'\u0d61'
| '\u0d66'..'\u0d6f'
| '\u0d82'..'\u0d83'
| '\u0d85'..'\u0d96'
| '\u0d9a'..'\u0db1'
| '\u0db3'..'\u0dbb'
| '\u0dbd'
| '\u0dc0'..'\u0dc6'
| '\u0dca'
| '\u0dcf'..'\u0dd4'
| '\u0dd6'
| '\u0dd8'..'\u0ddf'
| '\u0df2'..'\u0df3'
| '\u0e01'..'\u0e3a'
| '\u0e3f'..'\u0e4e'
| '\u0e50'..'\u0e59'
| '\u0e81'..'\u0e82'
| '\u0e84'
| '\u0e87'..'\u0e88'
| '\u0e8a'
| '\u0e8d'
| '\u0e94'..'\u0e97'
| '\u0e99'..'\u0e9f'
| '\u0ea1'..'\u0ea3'
| '\u0ea5'
| '\u0ea7'
| '\u0eaa'..'\u0eab'
| '\u0ead'..'\u0eb9'
| '\u0ebb'..'\u0ebd'
| '\u0ec0'..'\u0ec4'
| '\u0ec6'
| '\u0ec8'..'\u0ecd'
| '\u0ed0'..'\u0ed9'
| '\u0edc'..'\u0edd'
| '\u0f00'
| '\u0f18'..'\u0f19'
| '\u0f20'..'\u0f29'
| '\u0f35'
| '\u0f37'
| '\u0f39'
| '\u0f3e'..'\u0f47'
| '\u0f49'..'\u0f6a'
| '\u0f71'..'\u0f84'
| '\u0f86'..'\u0f8b'
| '\u0f90'..'\u0f97'
| '\u0f99'..'\u0fbc'
| '\u0fc6'
| '\u1000'..'\u1021'
| '\u1023'..'\u1027'
| '\u1029'..'\u102a'
| '\u102c'..'\u1032'
| '\u1036'..'\u1039'
| '\u1040'..'\u1049'
| '\u1050'..'\u1059'
| '\u10a0'..'\u10c5'
| '\u10d0'..'\u10f8'
| '\u1100'..'\u1159'
| '\u115f'..'\u11a2'
| '\u11a8'..'\u11f9'
| '\u1200'..'\u1206'
| '\u1208'..'\u1246'
| '\u1248'
| '\u124a'..'\u124d'
| '\u1250'..'\u1256'
| '\u1258'
| '\u125a'..'\u125d'
| '\u1260'..'\u1286'
| '\u1288'
| '\u128a'..'\u128d'
| '\u1290'..'\u12ae'
| '\u12b0'
| '\u12b2'..'\u12b5'
| '\u12b8'..'\u12be'
| '\u12c0'
| '\u12c2'..'\u12c5'
| '\u12c8'..'\u12ce'
| '\u12d0'..'\u12d6'
| '\u12d8'..'\u12ee'
| '\u12f0'..'\u130e'
| '\u1310'
| '\u1312'..'\u1315'
| '\u1318'..'\u131e'
| '\u1320'..'\u1346'
| '\u1348'..'\u135a'
| '\u1369'..'\u1371'
| '\u13a0'..'\u13f4'
| '\u1401'..'\u166c'
| '\u166f'..'\u1676'
| '\u1681'..'\u169a'
| '\u16a0'..'\u16ea'
| '\u16ee'..'\u16f0'
| '\u1700'..'\u170c'
| '\u170e'..'\u1714'
| '\u1720'..'\u1734'
| '\u1740'..'\u1753'
| '\u1760'..'\u176c'
| '\u176e'..'\u1770'
| '\u1772'..'\u1773'
| '\u1780'..'\u17d3'
| '\u17d7'
| '\u17db'..'\u17dd'
| '\u17e0'..'\u17e9'
| '\u180b'..'\u180d'
| '\u1810'..'\u1819'
| '\u1820'..'\u1877'
| '\u1880'..'\u18a9'
| '\u1900'..'\u191c'
| '\u1920'..'\u192b'
| '\u1930'..'\u193b'
| '\u1946'..'\u196d'
| '\u1970'..'\u1974'
| '\u1d00'..'\u1d6b'
| '\u1e00'..'\u1e9b'
| '\u1ea0'..'\u1ef9'
| '\u1f00'..'\u1f15'
| '\u1f18'..'\u1f1d'
| '\u1f20'..'\u1f45'
| '\u1f48'..'\u1f4d'
| '\u1f50'..'\u1f57'
| '\u1f59'
| '\u1f5b'
| '\u1f5d'
| '\u1f5f'..'\u1f7d'
| '\u1f80'..'\u1fb4'
| '\u1fb6'..'\u1fbc'
| '\u1fbe'
| '\u1fc2'..'\u1fc4'
| '\u1fc6'..'\u1fcc'
| '\u1fd0'..'\u1fd3'
| '\u1fd6'..'\u1fdb'
| '\u1fe0'..'\u1fec'
| '\u1ff2'..'\u1ff4'
| '\u1ff6'..'\u1ffc'
| '\u200c'..'\u200f'
| '\u202a'..'\u202e'
| '\u203f'..'\u2040'
| '\u2054'
| '\u2060'..'\u2063'
| '\u206a'..'\u206f'
| '\u2071'
| '\u207f'
| '\u20a0'..'\u20b1'
| '\u20d0'..'\u20dc'
| '\u20e1'
| '\u20e5'..'\u20ea'
| '\u2102'
| '\u2107'
| '\u210a'..'\u2113'
| '\u2115'
| '\u2119'..'\u211d'
| '\u2124'
| '\u2126'
| '\u2128'
| '\u212a'..'\u212d'
| '\u212f'..'\u2131'
| '\u2133'..'\u2139'
| '\u213d'..'\u213f'
| '\u2145'..'\u2149'
| '\u2160'..'\u2183'
| '\u3005'..'\u3007'
| '\u3021'..'\u302f'
| '\u3031'..'\u3035'
| '\u3038'..'\u303c'
| '\u3041'..'\u3096'
| '\u3099'..'\u309a'
| '\u309d'..'\u309f'
| '\u30a1'..'\u30ff'
| '\u3105'..'\u312c'
| '\u3131'..'\u318e'
| '\u31a0'..'\u31b7'
| '\u31f0'..'\u31ff'
| '\u3400'..'\u4db5'
| '\u4e00'..'\u9fa5'
| '\ua000'..'\ua48c'
| '\uac00'..'\ud7a3'
| '\uf900'..'\ufa2d'
| '\ufa30'..'\ufa6a'
| '\ufb00'..'\ufb06'
| '\ufb13'..'\ufb17'
| '\ufb1d'..'\ufb28'
| '\ufb2a'..'\ufb36'
| '\ufb38'..'\ufb3c'
| '\ufb3e'
| '\ufb40'..'\ufb41'
| '\ufb43'..'\ufb44'
| '\ufb46'..'\ufbb1'
| '\ufbd3'..'\ufd3d'
| '\ufd50'..'\ufd8f'
| '\ufd92'..'\ufdc7'
| '\ufdf0'..'\ufdfc'
| '\ufe00'..'\ufe0f'
| '\ufe20'..'\ufe23'
| '\ufe33'..'\ufe34'
| '\ufe4d'..'\ufe4f'
| '\ufe69'
| '\ufe70'..'\ufe74'
| '\ufe76'..'\ufefc'
| '\ufeff'
| '\uff04'
| '\uff10'..'\uff19'
| '\uff21'..'\uff3a'
| '\uff3f'
| '\uff41'..'\uff5a'
| '\uff65'..'\uffbe'
| '\uffc2'..'\uffc7'
| '\uffca'..'\uffcf'
| '\uffd2'..'\uffd7'
| '\uffda'..'\uffdc'
| '\uffe0'..'\uffe1'
| '\uffe5'..'\uffe6'
| '\ufff9'..'\ufffb'
| ('\ud800'..'\udbff') ('\udc00'..'\udfff')
;
// $ANTLR 3.2 Sep 23, 2009 14:05:07 ImaginaryNodeBug.g 2011-03-12 21:47:00
package indexer.imaginary;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
import org.antlr.runtime.tree.*;
public class ImaginaryNodeBugParser extends Parser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "QNAME", "TYPEREF", "IDENTIFIER", "IdentifierStart", "IdentifierPart", "SurrogateIdentifer", "','", "'.'"
};
public static final int TYPEREF=5;
public static final int QNAME=4;
public static final int T__11=11;
public static final int SurrogateIdentifer=9;
public static final int IDENTIFIER=6;
public static final int T__10=10;
public static final int IdentifierStart=7;
public static final int EOF=-1;
public static final int IdentifierPart=8;
// delegates
// delegators
public ImaginaryNodeBugParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public ImaginaryNodeBugParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
this.state.ruleMemo = new HashMap[4+1];
}
protected TreeAdaptor adaptor = new CommonTreeAdaptor();
public void setTreeAdaptor(TreeAdaptor adaptor) {
this.adaptor = adaptor;
}
public TreeAdaptor getTreeAdaptor() {
return adaptor;
}
public String[] getTokenNames() { return ImaginaryNodeBugParser.tokenNames; }
public String getGrammarFileName() { return "ImaginaryNodeBug.g"; }
public static class qualifiedNameList_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "qualifiedNameList"
// ImaginaryNodeBug.g:18:1: qualifiedNameList : qnames+= qualifiedName ( ',' qnames+= qualifiedName )* -> ( ^( TYPEREF[$qnames.text] ) )+ ;
public final ImaginaryNodeBugParser.qualifiedNameList_return qualifiedNameList() throws RecognitionException {
ImaginaryNodeBugParser.qualifiedNameList_return retval = new ImaginaryNodeBugParser.qualifiedNameList_return();
retval.start = input.LT(1);
int qualifiedNameList_StartIndex = input.index();
Object root_0 = null;
Token char_literal1=null;
List list_qnames=null;
RuleReturnScope qnames = null;
Object char_literal1_tree=null;
RewriteRuleTokenStream stream_10=new RewriteRuleTokenStream(adaptor,"token 10");
RewriteRuleSubtreeStream stream_qualifiedName=new RewriteRuleSubtreeStream(adaptor,"rule qualifiedName");
try {
if ( state.backtracking>0 && alreadyParsedRule(input, 1) ) { return retval; }
// ImaginaryNodeBug.g:23:5: (qnames+= qualifiedName ( ',' qnames+= qualifiedName )* -> ( ^( TYPEREF[$qnames.text] ) )+ )
// ImaginaryNodeBug.g:23:9: qnames+= qualifiedName ( ',' qnames+= qualifiedName )*
{
pushFollow(FOLLOW_qualifiedName_in_qualifiedNameList96);
qnames=qualifiedName();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) stream_qualifiedName.add(qnames.getTree());
if (list_qnames==null) list_qnames=new ArrayList();
list_qnames.add(qnames.getTree());
// ImaginaryNodeBug.g:23:31: ( ',' qnames+= qualifiedName )*
loop1:
do {
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==10) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// ImaginaryNodeBug.g:23:32: ',' qnames+= qualifiedName
{
char_literal1=(Token)match(input,10,FOLLOW_10_in_qualifiedNameList99); if (state.failed) return retval;
if ( state.backtracking==0 ) stream_10.add(char_literal1);
pushFollow(FOLLOW_qualifiedName_in_qualifiedNameList103);
qnames=qualifiedName();
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) stream_qualifiedName.add(qnames.getTree());
if (list_qnames==null) list_qnames=new ArrayList();
list_qnames.add(qnames.getTree());
}
break;
default :
break loop1;
}
} while (true);
// AST REWRITE
// elements:
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if ( state.backtracking==0 ) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
// 24:9: -> ( ^( TYPEREF[$qnames.text] ) )+
{
if ( !() ) {
throw new RewriteEarlyExitException();
}
while ( ) {
// ImaginaryNodeBug.g:24:12: ^( TYPEREF[$qnames.text] )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TYPEREF, list_qnames.text), root_1);
adaptor.addChild(root_0, root_1);
}
}
}
retval.tree = root_0;}
}
retval.stop = input.LT(-1);
if ( state.backtracking==0 ) {
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
if ( state.backtracking>0 ) { memoize(input, 1, qualifiedNameList_StartIndex); }
}
return retval;
}
// $ANTLR end "qualifiedNameList"
public static class qualifiedName_return extends ParserRuleReturnScope {
Object tree;
public Object getTree() { return tree; }
};
// $ANTLR start "qualifiedName"
// ImaginaryNodeBug.g:27:1: qualifiedName : IDENTIFIER ( '.' IDENTIFIER )* ->;
public final ImaginaryNodeBugParser.qualifiedName_return qualifiedName() throws RecognitionException {
ImaginaryNodeBugParser.qualifiedName_return retval = new ImaginaryNodeBugParser.qualifiedName_return();
retval.start = input.LT(1);
int qualifiedName_StartIndex = input.index();
Object root_0 = null;
Token IDENTIFIER2=null;
Token char_literal3=null;
Token IDENTIFIER4=null;
Object IDENTIFIER2_tree=null;
Object char_literal3_tree=null;
Object IDENTIFIER4_tree=null;
RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
RewriteRuleTokenStream stream_11=new RewriteRuleTokenStream(adaptor,"token 11");
try {
if ( state.backtracking>0 && alreadyParsedRule(input, 2) ) { return retval; }
// ImaginaryNodeBug.g:28:5: ( IDENTIFIER ( '.' IDENTIFIER )* ->)
// ImaginaryNodeBug.g:28:9: IDENTIFIER ( '.' IDENTIFIER )*
{
IDENTIFIER2=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_qualifiedName141); if (state.failed) return retval;
if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER2);
// ImaginaryNodeBug.g:28:20: ( '.' IDENTIFIER )*
loop2:
do {
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==11) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// ImaginaryNodeBug.g:28:21: '.' IDENTIFIER
{
char_literal3=(Token)match(input,11,FOLLOW_11_in_qualifiedName144); if (state.failed) return retval;
if ( state.backtracking==0 ) stream_11.add(char_literal3);
IDENTIFIER4=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_qualifiedName146); if (state.failed) return retval;
if ( state.backtracking==0 ) stream_IDENTIFIER.add(IDENTIFIER4);
}
break;
default :
break loop2;
}
} while (true);
// AST REWRITE
// elements:
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
if ( state.backtracking==0 ) {
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (Object)adaptor.nil();
// 28:39: ->
{
adaptor.addChild(root_0, new CommonTree(new CommonToken(QNAME, input.toString(retval.start,input.LT(-1)))));
}
retval.tree = root_0;}
}
retval.stop = input.LT(-1);
if ( state.backtracking==0 ) {
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
if ( state.backtracking>0 ) { memoize(input, 2, qualifiedName_StartIndex); }
}
return retval;
}
// $ANTLR end "qualifiedName"
// Delegated rules
public static final BitSet FOLLOW_qualifiedName_in_qualifiedNameList96 = new BitSet(new long[]{0x0000000000000402L});
public static final BitSet FOLLOW_10_in_qualifiedNameList99 = new BitSet(new long[]{0x0000000000000040L});
public static final BitSet FOLLOW_qualifiedName_in_qualifiedNameList103 = new BitSet(new long[]{0x0000000000000402L});
public static final BitSet FOLLOW_IDENTIFIER_in_qualifiedName141 = new BitSet(new long[]{0x0000000000000802L});
public static final BitSet FOLLOW_11_in_qualifiedName144 = new BitSet(new long[]{0x0000000000000040L});
public static final BitSet FOLLOW_IDENTIFIER_in_qualifiedName146 = new BitSet(new long[]{0x0000000000000802L});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment