From 4d309a53b2369fe95b6b7374b599fb22bec9e918 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kevin=20Kr=C3=BCger?= Date: Wed, 6 Sep 2023 09:54:14 +0200 Subject: [PATCH] Init --- .vs/Supercharger/Tiger/codemap.dat | 1 + .vs/Supercharger/Tiger/global_history.dat | 1 + .vs/Supercharger/Tiger/workbench.dat | 1 + .vs/Supercharger/YATC/codemap.dat | 1 + .vs/Supercharger/YATC/global_history.dat | 1 + .vs/Supercharger/YATC/workbench.dat | 1 + .vs/Supercharger/_/DTabsHistory.dat | 1 + ...3f07f1cc-4685-4b0d-9adc-b87b13487c2b.vsidx | Bin 0 -> 1452 bytes ...acd5c18f-c380-4d13-bbff-b4bf68025f6d.vsidx | Bin 0 -> 260972 bytes ...efc3d55b-f639-4562-b98d-3976465a80d7.vsidx | Bin 0 -> 1750 bytes YATC.Compiler/Tiger.csproj | 7 +- YATC.Compiler/packages.config | 5 + YATC/YATC.csproj | 7 +- YATC/packages.config | 4 + packages/Antlr.3.5.0.2/.signature.p7s | Bin 0 -> 9472 bytes packages/Antlr.3.5.0.2/Antlr.3.5.0.2.nupkg | Bin 0 -> 156224 bytes packages/Antlr.3.5.0.2/lib/Antlr3.Runtime.dll | Bin 0 -> 103424 bytes packages/Antlr3.Runtime.3.5.1/.signature.p7s | Bin 0 -> 9465 bytes .../Antlr3.Runtime.3.5.1.nupkg | Bin 0 -> 332458 bytes .../lib/net20/Antlr3.Runtime.dll | Bin 0 -> 100352 bytes .../lib/net20/Antlr3.Runtime.xml | 3249 +++++++++++++++++ .../lib/net40-client/Antlr3.Runtime.dll | Bin 0 -> 100864 bytes .../lib/net40-client/Antlr3.Runtime.xml | 3249 +++++++++++++++++ .../lib/netstandard1.1/Antlr3.Runtime.dll | Bin 0 -> 97280 bytes .../lib/netstandard1.1/Antlr3.Runtime.xml | 3220 ++++++++++++++++ .../Antlr3.Runtime.dll | Bin 0 -> 96768 bytes .../Antlr3.Runtime.xml | 3220 ++++++++++++++++ packages/Antlr34.3.4.19004.1/.signature.p7s | Bin 0 -> 9463 bytes .../Antlr34.3.4.19004.1.nupkg | Bin 0 -> 559961 bytes .../lib/Antlr3.Runtime.dll | Bin 0 -> 102912 bytes .../tools/Antlr3.Runtime.Debug.dll | Bin 0 -> 45568 bytes .../tools/Antlr3.Runtime.JavaExtensions.dll | Bin 0 -> 17920 bytes .../tools/Antlr3.Runtime.dll | Bin 0 -> 102912 bytes .../tools/Antlr3.exe.config | 3 + .../Antlr34.3.4.19004.1/tools/Antlr3.targets | 163 + .../Antlr4.StringTemplate.Visualizer.dll | Bin 0 -> 38400 bytes .../tools/Antlr4.StringTemplate.dll | Bin 0 -> 182272 bytes .../tools/AntlrBuildTask.dll | Bin 0 -> 15872 bytes .../tools/Codegen/Templates/CSharp2/AST.stg | 430 +++ .../Codegen/Templates/CSharp2/ASTDbg.stg | 94 + .../Codegen/Templates/CSharp2/ASTParser.stg | 192 + .../Templates/CSharp2/ASTTreeParser.stg | 380 ++ .../Codegen/Templates/CSharp2/CSharp2.stg | 1765 +++++++++ .../tools/Codegen/Templates/CSharp2/Dbg.stg | 313 ++ .../tools/Codegen/Templates/CSharp2/ST.stg | 171 + .../tools/Codegen/Templates/CSharp3/AST.stg | 428 +++ .../Codegen/Templates/CSharp3/ASTDbg.stg | 98 + .../Codegen/Templates/CSharp3/ASTParser.stg | 203 + .../Templates/CSharp3/ASTTreeParser.stg | 377 ++ .../Codegen/Templates/CSharp3/CSharp3.stg | 1749 +++++++++ .../tools/Codegen/Templates/CSharp3/Dbg.stg | 312 ++ .../tools/Codegen/Templates/CSharp3/ST.stg | 153 + .../Codegen/Templates/LeftRecursiveRules.stg | 82 + .../Antlr34.3.4.19004.1/tools/LICENSE.txt | 27 + .../tools/Targets/Antlr3.Targets.CSharp2.dll | Bin 0 -> 9216 bytes .../tools/Targets/Antlr3.Targets.CSharp3.dll | Bin 0 -> 8704 bytes .../tools/Tool/Templates/depend.stg | 12 + .../tools/Tool/Templates/dot/dot.stg | 73 + .../Tool/Templates/messages/formats/antlr.stg | 42 + .../Templates/messages/formats/vs2005.stg | 42 + .../Tool/Templates/messages/languages/en.stg | 297 ++ 61 files changed, 20370 insertions(+), 4 deletions(-) create mode 100644 .vs/Supercharger/Tiger/codemap.dat create mode 100644 .vs/Supercharger/Tiger/global_history.dat create mode 100644 .vs/Supercharger/Tiger/workbench.dat create mode 100644 .vs/Supercharger/YATC/codemap.dat create mode 100644 .vs/Supercharger/YATC/global_history.dat create mode 100644 .vs/Supercharger/YATC/workbench.dat create mode 100644 .vs/Supercharger/_/DTabsHistory.dat create mode 100644 .vs/YATC/FileContentIndex/3f07f1cc-4685-4b0d-9adc-b87b13487c2b.vsidx create mode 100644 .vs/YATC/FileContentIndex/acd5c18f-c380-4d13-bbff-b4bf68025f6d.vsidx create mode 100644 .vs/YATC/FileContentIndex/efc3d55b-f639-4562-b98d-3976465a80d7.vsidx create mode 100644 YATC.Compiler/packages.config create mode 100644 YATC/packages.config create mode 100644 packages/Antlr.3.5.0.2/.signature.p7s create mode 100644 packages/Antlr.3.5.0.2/Antlr.3.5.0.2.nupkg create mode 100644 packages/Antlr.3.5.0.2/lib/Antlr3.Runtime.dll create mode 100644 packages/Antlr3.Runtime.3.5.1/.signature.p7s create mode 100644 packages/Antlr3.Runtime.3.5.1/Antlr3.Runtime.3.5.1.nupkg create mode 100644 packages/Antlr3.Runtime.3.5.1/lib/net20/Antlr3.Runtime.dll create mode 100644 packages/Antlr3.Runtime.3.5.1/lib/net20/Antlr3.Runtime.xml create mode 100644 packages/Antlr3.Runtime.3.5.1/lib/net40-client/Antlr3.Runtime.dll create mode 100644 packages/Antlr3.Runtime.3.5.1/lib/net40-client/Antlr3.Runtime.xml create mode 100644 packages/Antlr3.Runtime.3.5.1/lib/netstandard1.1/Antlr3.Runtime.dll create mode 100644 packages/Antlr3.Runtime.3.5.1/lib/netstandard1.1/Antlr3.Runtime.xml create mode 100644 packages/Antlr3.Runtime.3.5.1/lib/portable-net4+sl5+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1/Antlr3.Runtime.dll create mode 100644 packages/Antlr3.Runtime.3.5.1/lib/portable-net4+sl5+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1/Antlr3.Runtime.xml create mode 100644 packages/Antlr34.3.4.19004.1/.signature.p7s create mode 100644 packages/Antlr34.3.4.19004.1/Antlr34.3.4.19004.1.nupkg create mode 100644 packages/Antlr34.3.4.19004.1/lib/Antlr3.Runtime.dll create mode 100644 packages/Antlr34.3.4.19004.1/tools/Antlr3.Runtime.Debug.dll create mode 100644 packages/Antlr34.3.4.19004.1/tools/Antlr3.Runtime.JavaExtensions.dll create mode 100644 packages/Antlr34.3.4.19004.1/tools/Antlr3.Runtime.dll create mode 100644 packages/Antlr34.3.4.19004.1/tools/Antlr3.exe.config create mode 100644 packages/Antlr34.3.4.19004.1/tools/Antlr3.targets create mode 100644 packages/Antlr34.3.4.19004.1/tools/Antlr4.StringTemplate.Visualizer.dll create mode 100644 packages/Antlr34.3.4.19004.1/tools/Antlr4.StringTemplate.dll create mode 100644 packages/Antlr34.3.4.19004.1/tools/AntlrBuildTask.dll create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/CSharp2/AST.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/CSharp2/ASTDbg.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/CSharp2/ASTParser.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/CSharp2/ASTTreeParser.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/CSharp2/CSharp2.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/CSharp2/Dbg.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/CSharp2/ST.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/CSharp3/AST.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/CSharp3/ASTDbg.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/CSharp3/ASTParser.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/CSharp3/ASTTreeParser.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/CSharp3/CSharp3.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/CSharp3/Dbg.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/CSharp3/ST.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Codegen/Templates/LeftRecursiveRules.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/LICENSE.txt create mode 100644 packages/Antlr34.3.4.19004.1/tools/Targets/Antlr3.Targets.CSharp2.dll create mode 100644 packages/Antlr34.3.4.19004.1/tools/Targets/Antlr3.Targets.CSharp3.dll create mode 100644 packages/Antlr34.3.4.19004.1/tools/Tool/Templates/depend.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Tool/Templates/dot/dot.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Tool/Templates/messages/formats/antlr.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Tool/Templates/messages/formats/vs2005.stg create mode 100644 packages/Antlr34.3.4.19004.1/tools/Tool/Templates/messages/languages/en.stg diff --git a/.vs/Supercharger/Tiger/codemap.dat b/.vs/Supercharger/Tiger/codemap.dat new file mode 100644 index 0000000..8a2c280 --- /dev/null +++ b/.vs/Supercharger/Tiger/codemap.dat @@ -0,0 +1 @@ +Program.csProgram.csProgram.csProgram.csProgram.csProgram.csProgram.cs3615Program#Main12023-09-06T08:41:47.5530823+02:000string[]Program.csProgram.csProgram.csProgram.csProgram.csTiger \ No newline at end of file diff --git a/.vs/Supercharger/Tiger/global_history.dat b/.vs/Supercharger/Tiger/global_history.dat new file mode 100644 index 0000000..eec6e76 --- /dev/null +++ b/.vs/Supercharger/Tiger/global_history.dat @@ -0,0 +1 @@ +D:\yatc\YATC.Compiler\Program.csYATC.Compiler.Program.Mainstatic##int#string[]img\tvi\x_method-s_private-i_staticfalsefalseMainYATC.Compiler.ProgramD:\yatc\YATC.Compiler\Tiger.csprojD:\yatc\YATC.Compiler\Program.cs2023-09-06T08:43:08.8339312+02:00YATC.Compiler.Program.Printstatic##void#CommonTreeimg\tvi\x_method-s_private-i_staticfalsefalsePrintYATC.Compiler.ProgramD:\yatc\YATC.Compiler\Tiger.csprojD:\yatc\YATC.Compiler\Program.cs2023-09-06T08:43:02.6982502+02:00D:\yatc\YATC.Compiler\Program.csTiger \ No newline at end of file diff --git a/.vs/Supercharger/Tiger/workbench.dat b/.vs/Supercharger/Tiger/workbench.dat new file mode 100644 index 0000000..be43d93 --- /dev/null +++ b/.vs/Supercharger/Tiger/workbench.dat @@ -0,0 +1 @@ +Tiger \ No newline at end of file diff --git a/.vs/Supercharger/YATC/codemap.dat b/.vs/Supercharger/YATC/codemap.dat new file mode 100644 index 0000000..64d6015 --- /dev/null +++ b/.vs/Supercharger/YATC/codemap.dat @@ -0,0 +1 @@ +D:\yatc\Grammar\tigerLexer.csD:\yatc\Grammar\tigerLexer.csD:\yatc\Grammar\tigerParser.csD:\yatc\Grammar\tigerParser.csASTNodes\ProgramNode.csASTNodes\ProgramNode.csD:\yatc\Grammar\tigerLexer.cstigerLexer#DFAfalseD:\yatc\Grammar\tigerLexer.csD:\yatc\Grammar\tigerParser.csD:\yatc\Grammar\tigerParser.csASTNodes\ProgramNode.csASTNodes\ProgramNode.csD:\yatc\Grammar\tigerLexer.csD:\yatc\Grammar\tigerLexer.csD:\yatc\Grammar\tigerParser.csD:\yatc\Grammar\tigerParser.csASTNodes\ProgramNode.csASTNodes\ProgramNode.csD:\yatc\Grammar\tigerLexer.cs342tigerLexer#mFUNCTIONKEY12023-09-06T09:54:00.6943386+02:000D:\yatc\Grammar\tigerLexer.csD:\yatc\Grammar\tigerParser.csD:\yatc\Grammar\tigerParser.csASTNodes\ProgramNode.csASTNodes\ProgramNode.csD:\yatc\Grammar\tigerLexer.csD:\yatc\Grammar\tigerLexer.csD:\yatc\Grammar\tigerParser.csD:\yatc\Grammar\tigerParser.csASTNodes\ProgramNode.csASTNodes\ProgramNode.csD:\yatc\Grammar\tigerLexer.csD:\yatc\Grammar\tigerLexer.csD:\yatc\Grammar\tigerParser.csD:\yatc\Grammar\tigerParser.csASTNodes\ProgramNode.csASTNodes\ProgramNode.csYATC \ No newline at end of file diff --git a/.vs/Supercharger/YATC/global_history.dat b/.vs/Supercharger/YATC/global_history.dat new file mode 100644 index 0000000..d4f954a --- /dev/null +++ b/.vs/Supercharger/YATC/global_history.dat @@ -0,0 +1 @@ +D:\yatc\Grammar\tigerLexer.csYATC.Grammar.tigerLexer.mFUNCTIONKEY#void#img\tvi\x_method-s_private-i_instancefalsefalsemFUNCTIONKEYYATC.Grammar.tigerLexerD:\yatc\YATC\YATC.csprojD:\yatc\Grammar\tigerLexer.cs2023-09-06T09:21:05.7326172+02:00D:\yatc\Grammar\tigerLexer.csD:\yatc\Grammar\tigerParser.csYATC.Grammar.tigerParser.GrammarFileNameimg\tvi\x_property_override-s_public-i_instancefalsetrueGrammarFileNameYATC.Grammar.tigerParserD:\yatc\YATC\YATC.csprojD:\yatc\Grammar\tigerParser.cs2023-09-06T08:56:49.7403958+02:00D:\yatc\Grammar\tigerParser.csD:\yatc\YATC\ASTNodes\ProgramNode.csYATC.ASTNodes.ProgramNode.AddStdLib#void#img\tvi\x_method-s_private-i_instancefalsefalseAddStdLibYATC.ASTNodes.ProgramNodeD:\yatc\YATC\YATC.csprojD:\yatc\YATC\ASTNodes\ProgramNode.cs2023-09-06T08:56:15.8291369+02:00YATC.ASTNodes.ProgramNodeimg\tvi\y_class-s_public-i_instancefalsefalseProgramNodeYATC.ASTNodesD:\yatc\YATC\YATC.csprojD:\yatc\YATC\ASTNodes\ProgramNode.cs2023-09-06T08:55:41.7786924+02:00D:\yatc\YATC\ASTNodes\ProgramNode.csYATC \ No newline at end of file diff --git a/.vs/Supercharger/YATC/workbench.dat b/.vs/Supercharger/YATC/workbench.dat new file mode 100644 index 0000000..24a6f26 --- /dev/null +++ b/.vs/Supercharger/YATC/workbench.dat @@ -0,0 +1 @@ +YATC \ No newline at end of file diff --git a/.vs/Supercharger/_/DTabsHistory.dat b/.vs/Supercharger/_/DTabsHistory.dat new file mode 100644 index 0000000..0e640cc --- /dev/null +++ b/.vs/Supercharger/_/DTabsHistory.dat @@ -0,0 +1 @@ +D:0:0:{00000000-0000-0000-0000-000000000000}|<Solution>|Tiger||{95501C48-A850-47C1-A785-2AAA96637F81}D:0:0:{8B1FA297-B497-4F06-A6AE-87D73920AA57}|YATC.Compiler\Tiger.csproj|d:\yatc\yatc.compiler\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674} \ No newline at end of file diff --git a/.vs/YATC/FileContentIndex/3f07f1cc-4685-4b0d-9adc-b87b13487c2b.vsidx b/.vs/YATC/FileContentIndex/3f07f1cc-4685-4b0d-9adc-b87b13487c2b.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..490bb3d5a98ee30a951e79b4b71c3a2c8572e145 GIT binary patch literal 1452 zcmZ9M$#T%ak(HxK?SN{!ymBWH~1iS z?AY@GY`NWi?II}lJ*|GX`}MOG$4PT;c1FJL5xW)~G7l!J!!M)H!gX5UVOdys@@?@p%|9udI{Hh&@Z zZoZ0{4@{Q4mFqMK8$3u(o8WfZ!Oi~}kVM9lZh-#l%)OuSGh^(@p|z*IbxC9WIFu+f zqMs3mG|rORLw);6Om6oF$wTB}66dh>qvSDijyz7DAWxE~$kXH*@+^6dJWpOAFOrwY z%j6aEDtV2}lh?_4@&$(T&Y2APsg@(H<4J|$aZoBW{<2`+tp@=}xnv}{_JHN=s0pwM4wfrH!h*O|yv=t=0Y1rTb`22+gEzlX-oJxQ{M+^4NCm zKy^>ehR^|a(s$2h4WN3;%qCUUSa;TMC6yOesVC{<6YXGSa_KLH{#WazPnTXLe(T@; H*H!)ku7g|S literal 0 HcmV?d00001 diff --git a/.vs/YATC/FileContentIndex/acd5c18f-c380-4d13-bbff-b4bf68025f6d.vsidx b/.vs/YATC/FileContentIndex/acd5c18f-c380-4d13-bbff-b4bf68025f6d.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..736fda10aa02578bcfc2354b8073d6ee0de27af0 GIT binary patch literal 260972 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 X#&P#Pc*;ZD@q$~I;|W*aru6>-7SP<{ literal 0 HcmV?d00001 diff --git a/.vs/YATC/FileContentIndex/efc3d55b-f639-4562-b98d-3976465a80d7.vsidx b/.vs/YATC/FileContentIndex/efc3d55b-f639-4562-b98d-3976465a80d7.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..3431e4a09a20df31f55afb0d09071d2b27d618c8 GIT binary patch literal 1750 zcmYk6*-{fx6h#j>;H)^0s5lQaiRmaHA;!*N3`sBp0gVq7g%m17sV{znKjNc5WBKMs z_yO*H?j}X2d#`iPbo<`!bW*I0jttwcgXTv%z$U=rO#l1Jx7Ge~p_4?(_U6vU=d~~W zot4#3E9+}tqt)%L4;$-0yT3Po{QWaDHWVuNIWRb87Bm>J!|;$9&i#I#avMX0_WFa3 zLZpQdGGUz9ZGzCC?U)(P;DN#p6G3qvH#@y2ItUG%VG5*$S|~hFcm~PA6S{>ocyN=j z!--^gLKApGVW@%*3Wxp;hh0ML?mjW<7elnUgCq)_2Sh$0`bR|e;P|k3L_8|uK0J=Q za$@tGCq-y>RXT@{kdGUgHQM@Ex7O#j`#cLuSjQ77T-Vkq!pBl2{fi;w!N#z7}iZyjT|-VpCiY--s=-Eq27NxG46-C2?7NE4~x^;(KvQ?>^t- zaZ6hS&A8@m4tBvB(1w+uUF+ZzGzBZNlxtc#4Nr_KvaD+hxs$el>J)ylUy*lDL8me1 z9IaGo}rC=@iLM*YS74c)gqE&sx4a7>wX+zuCjS^~N*D|z+in8xV89D6ETF%jS?Vt<$ zReeTwtiW!9HO~xpG>_VhXN<%nlPjr0yXZoz>Fdctxf2~<4V5tiger v4.5 512 + + AnyCPU @@ -32,8 +34,8 @@ 4 - - ..\Antlr3.Runtime.dll + + ..\packages\Antlr3.Runtime.3.5.1\lib\net40-client\Antlr3.Runtime.dll @@ -49,6 +51,7 @@ + diff --git a/YATC.Compiler/packages.config b/YATC.Compiler/packages.config new file mode 100644 index 0000000..9035c0e --- /dev/null +++ b/YATC.Compiler/packages.config @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/YATC/YATC.csproj b/YATC/YATC.csproj index 9a13653..a003f3a 100644 --- a/YATC/YATC.csproj +++ b/YATC/YATC.csproj @@ -31,8 +31,8 @@ 4 - - ..\Antlr3.Runtime.dll + + ..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll @@ -134,6 +134,9 @@ YATC.Grammar + + + ;i9s9DPGB_o#<1%zT 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 z zB`$#6(2>qsXu)!%RH`F%qVs9c{1KoffKC#crvdsxs3UZ$V<)3yt%?#NR2C#lNS=LJcray;31^$ALMh>u@|UX=|hyI zDd?2FC8pm?B(NhWIO@vcN8swV44;EzDW#*zd_Exf?`MgBx%+Q?A{Tz~Y0|$jvc1_3 zWm7wZ?ZhPY67Z9-K;EDxspm?3_9A?NsqZY**HMcnMiP$tU|JiVAuwQD*sGa^&*yi?lfFQO06$@A?A3YTqvqkS091w!-G>BOXv*Ht$< z3{RNG@C(of*kBW90<#`8UG?$+G4FtmtG+8w))y(!g05+c87b=3=L-!jdfKAKc7c*4dZ44->UU5@8{MTTefQ_g!%IUmoVsccQQqu-|A>AMips6q0s>Mc<+d-d@7R`+E{ zPx(9QR>;#)KLNKPb@EoLfPbdU(i=QXQa=dFxl{h1E!TC+LUNO-1VAnbH?t zC{Q2nnfjH){wq?GHmLnqTr-W&uj3g~=TH0^Qhrr*b)fqeq}&TnS1pGYxoR4;bduTu zy5y+KCXuTjf*O7wXd3H#C0gH6J4&psFI&)2%X8C!-x^#wA_reG+eDdnC{Et4%TQY= zLs#VK29mrJvB!p|LgvHL?sM_XsLvKRz>nDF@OkcpdlMOT5T5K8KSs&|T6y7$$HIK> zA)4@0^oxZn?iO9zSM=e+BKiNEaI0ISSK6ARpQ|3o{uG?7oWvS!J?T+Ae-6!bRMveG zVb;!3m-I8XQM-_O+I|k)z9LWdEI*}Af7-?8e!qZ4}v<+fe^HQ?`-yd9I?M!CArUXo(oeIcKa+E#R!a>gnQ zPpyZpng{+}b#~wTz#OKC|9nVtL7zkF)X;~({J+vUk@mB?CdB7li!_fAYD=1Ep3wa_ zl>1_K1J<5Dl(BJl^pue5nDiu`7f<*Y&wZOP4^MXB<+!*n#wTJI^m4Xb*|qcJHk5K` z0JSGAwN#*Wp=C~c(ouJ5D7q&06w10UNckwBhXZJAGNPUdpa)b;{W^eplL_@<0Bw~_ zW8I?gw@QV2hm-B#nGku|DcPZ>1<>4Nr`k4v_Dts09s-fGJ(Jz)mLRSTck_QIfc8&L zRF4GEA<16#^8h+BIay7^%&pXgD9^>-;9P;$#f~dK2Z%GiQtM(z#|a%^pp)YvK!+LV zV#M{U;|z2i;`$XW4CD)KS3uuZml+6~f`EQ!pl?_wB&VqzVPP=kzV->p0`y0q*kQ%z zu=?8D#ND1H^mhaOAshm<`&6Cp4`CN8zk?05E!wlFPBYL=aF~_U6$Uz^{U2^wJ*lA> z+iy_4pdqzuJE1oOdM9>Aqz34HfmTMp8~H7uj|6%>c1dIfPlNWcbheQTDB1#b2GFU= z>1t~YMIRhnP0mm|8R!>dKM80zf!2jCNS&G-Qu_+@Q0Qc=+$(BMaAk*IrLn z)ck&3_l46}CbvZ$3P3Zu1?NW&l_m@q^~4*P;Jw6zGEk?P41{>8)#wl z_TWi~^r1kzlt|^FkShEvIZy3wphY&J1qM2I+S7n;G0+S7dU7{aF6+`?nD#<) z54D#-4~5ouyq4T6fPUEVPI7Oxz@)sO<4?&2YDED3BYA+jTc8Wota2!Ikm|u{G3dOS zUxt55Z7tBc(8bwE>R>fbpw;T)>=-~l&~dSO9nWDM`iOxJg$Hb*dci=KI%i^4sySO1 zTQ#*i)qw7Xo*lx%@V72Stvf`$rSpYO?CU|wd4m!c>h7MNTBI&B(7v(Dl834%40Lg3 zo7Caz8&Ev9-G z61BI1J_G1Pb((=naQ>dGE;G>1fKE|&80e$|#%}e5fhuF?r%qG9Gth4Ev*KgwiZ0>I zu?te3DjTSlT$nmb?QNhD^u`f&nt_hV&QC2>mlXYiB z06I2xj_Md@c}y9?+I>)<)#@vm(^AXTtN^N}YU+ppIyY5U=LXOPsTJy4fmSN7=aSTg z>iY)zG}dw#sXrTN+ek>QRJ~hEd8)?^r7l*N3Uq;53LpPx)wKexQs2(5N_|d!SD<%7 z|BA1`n*Rxt?~|G50FB*-RMx3)x`cWSw4yKWT%ukQXr-$6tWI63I=0p2y^no`%hcWm zs&$;HE>|^yR;jzgUrAlAK5gRmK)=00U16Y0rVzTuKx3v~pSnW*(&W3a=PQ7IEzmj{ z`L0y&nv}b?-q6%e^zTO5JLp3*6fQJ!Bxx9apI* z40L{!(9Z>WDE2vQOF!pko z`KD_q#QEXsV6@>JaJ4$X#BsLxf;udKT-*zPvVl0Zeo>ukAkG$FRG&5w=c?7}+X6il zdLMp))#@b!eTeTN} zNo(G$=9#!%G2`8=9tUOpJPNbq+`gXNn0EG~DbO0sOcc^a#P<#5D z>fr$DN`FheA<#RqwWX)jchvg^x*eCid`Ep`pjnCM)LrUd2HFGm*j>umnWeuY*2Ucl zlaN5PF78&H2BLNGT{Xc#v@X7@`VI6iwEI13&_HlW0ou+$Lxaz$?-`wVCpLR91jvs& za^N}j{UGkNfe@e_Ouj!sckfkm4HQD$y=F9hCzj9mq<;|Po0gvnXm3fW`_X-BuU%LN zEzkSZF#!}(_o?#&sF?ntx;KE@(?3yf1yC~mQ*|Ma@IWq<=R@j`2BJJ4QvWm%<@vC( zW+Nd|Ql1a1gn?+Sty5V8QJ(A6cmq+MkEp2zqC6i_0|ufzA645Ji1K_??P4Ix^D*@a z15uujsr?K@dHzftVj#-%XXlFL@b807n9#ZVL&#BLvIQHA;)rUGRbZy@W$)Bsp$pU}qU)_URlz_vp*7!D>JyB6D0Fz? z^z=Kyh`D0Y()7D(Ux`~8y{x;IeorkF=z{3Y-NyjZJ!h3#URaTSUmY!RtJNEs&!vB_ zUNO+i{a2XigC2&UnP}Ky|b@+q&OaQg1Kd8$B=xO_pYIOjep8iPP6hL20|3!T- zfWDgkyZV_xT(A7X{Jx+Aip1*$cmFxN6c$}rbXI6P_cvG-%Y+(7L84T!xT`{O2# zy+44$>;W+5bX=J8SOek=%i~h~TbJVe9zbEvu+0$s2!6^i=i&y$85aBHh6?9?Y_S`N zbAJO$lvXrBGkcn$M5)#i*9_%S%_(!R{~9zonl>PgrVWUrDfh_vw=Tuev;k3`+%MO0 zlxG8?JbQyU%CiA+?3onAaWri}98F=m8k!tU8xTj+DM1`Z(+0%RbZQXC(X;_^H0=xG zIGP4f_<2}Q{XraM-GI1W2_WdweGMo@+ijYkFHB1(fKnVyu`tke2-DVRhMaWKk4w># zD+drQxduc_t{j>Z^amHv(E)TjQhEWjV|pNTzChYPF+Fs#fyn3d(3Jvd8*_T-8XXr} zg>imH=!XU>_F{KGv}!)tUKgUy4}~5T=ph-|heGaNjMF1~B{U$=x=^-bL25X(pMkE0 zhHMi$(?HMn!7~#&*FanMKb+n!^!WgK3edFy^m2Op(A2$k>09@|lin$`bpZV}Ju5WN zKx~J(q5qG$H-WFKs`khC-sj}zrb#p0w6ukU-VV??bYyIy=|uBL=d=_oq&LZJ6Pn(H z+#A|bh6E}y3P>3$gGCfU3Ia07@R+O>9w?}wpgx5s@<8w@ice6K-}k%rKIfh^0rC0y ze?I?0*4f{+r?vN9d+oLNIrkiYiIs)x(R`f}v`;+F1)49lU>i777wWSe;!Itn?ODP; z&H1-T@3wJrs&c%()1~CRJzhT$qL^B&_d3LNY_WdPAO`HsCPaSe3Hn|^c12jC9}dyj(k1$t5Sg;2`sWtKId7NiiOX2#1#!;X z<@!j6I5$`5g${9UuF$I-;@n)R*E__yxl(ruvg`CJ{hmddvtyMWzQRg$5Fy*oq?3|_61D{Xym zCCb%m{WXWy;K`3Q`o1s@=L|Zz%BH+3zI^bBdZ$H2&%#ceq;IxJ@r36jeYZnA(>Yl$ zUv2ZfTJuqCU0B0GNO_8W)WuyoY>0QN9=pb-JY~`lZ@s=)&|dxh;W5>uzaYqtSd;!@ zh{_RnONgHLn)RI_DlSXw2SZd@woyM7qN=jf^z(x3Dw@%+2(mt3r;hpzoqbmA&OWR5 z>3Zmil$w%_FU#u5A(~othF%z=qsq?I>jl~R&edPEaq+L2AL6-?FFSO%psx$Et9Gw` z-65{p=l7B9{63PM-$$|?dePcIvf{D}^qLS=mR+bfhN!CS5`Cs1E7|4xUKX9b}vTQEBMo$dU!m{i1(h#jEyIyyP=+v?= z>D_{?WM9!A*f>b`Lv^dxCrg>}E5~NaZq+!b!apnLt-94A%6VHKIdAJD=WTuDyj@p+ zCXjPW*&TXHh|Vp$Qy&|m3(M}-D+F1|?$c-5IFalDeV!mI%L96kLzLxP`hA-c`Vs@; z5A3Y=lmiuo=y~rUT^XXCWsm5QA-bXLF+Dv*x0gMoj}Os9`=L&TXlmI@x+X+FD0@XO3(?QY zexVyf^y{);>GMML`?9z6&Jg{r?05Q6L00Pj)rnK3KJlpE*9SWE5q28y>(LI~25-Y5zhuGJD(Zd=8sf)}1q7MyGMfqR#;exCc{+nJYXs_al?%(u!hj^m9r-p;O3-UX?@a7bMJD6Wh>=9mlM}pk%;po#Dl!*`=z@|W^TiPT zp=6NxdWgzZiMc;SBg+SyCqr~-d71fMh@STn=H(F8ln*hlhv>-iVdl-0!aqBH2buLv zMEiV)9^q7m=Flm1I!DgR}>zs5!$-(A%7q{An_iKLQ z(0#)m7(CMa(xJzOm6VP&Z#wi)tVboy?*;9MKNZ^8iGrQBQooHG4c=L`RyQ)nz!#6OFXj92V^EW|n6mkDB$rNmqxcHdCZv&MIdadYp zB|U1gImpJzxKB1?`k-locBmEbr6!y8VH|u~(-9*0wB}qv`*a=rti#L|AsXUMH9vRg zSUgcV-MkedJSSxS=+G~cCzj7Jrj>H;)4xcbT0YBEgs7$b2s0`~a|R!6Y8)yrIk9|> znG>Q@%a1elA!;eFHS0n&XYc}ZnL`s|r*7h#%7hh-6g6#d`>r6(F zy3TaA6{JXMRSRu-uS!2hXU<%ap{RaRM(r}e&cZy zk`>n*x8p1Nw+TMb9WLb-*w!1uxC>xgZ^*~tZqkj0Ex;HJJ{2btdDMjyi99+J^XR59 z9#`W?i?9`}^=I6}OuE9NJZIRK?fK@H1@O zmw|3Ktq$!d$j0t4k2*AHM0@!jbHP@o+^c6yDz5m3xlGVLJ^hfF`i8kKL>lNhhh|{s zcDH#sL>j1So2{<``R*~}LsVOFkNJ^9E5=+i_?zZchfW!DXvKY|{7jo~;<)09`%S$= zuM~b?-5>O)Pd_U}1!aXvr1ZDjd}j~oK^&GZ{M)Ci3+oU!!lCU$2Kf(}@eY+0uBmv~ zEDq7SibqXrh?*)MGoN?p{ld12C(U&s%2YgMK5%GzL9Sx28FH4b@A`?EihZWlp{6VJ0gmE8Dx~<}6bAyY!qTsHIpPDBe+Es90#m~)K4(&kPFU|W7 zSM~yl;LWh`wS>ePCV{L>u|riVw{1EsDQB z{Jo05m^nSHopC#3e=#S7=&u!jHEToUCH`if60}dwmz4J_hgQcB@ZNTaYmV~XcZmKx zZi@6O{M%PVe_nY-4*hI&NkV%S4!u1(0d$~4e;d<@7fz3MXxP}HK$9HeI_7zE9pXBM z*G(U3Yv4NOd0C0ut9b_Kc^BH0Ks#fe_o0jX8T!-r=AOrVd-dO9S`~P=3EEfGHY|%* zBtB;mo>~ZHFb~|J+B+& zebdItGg!smBQ7P+>x#X-A&RLI?}rZYgs#ND_^0O0FFTg>hUv4)T&0N)58YR(UHf3TnVpzFudD4og&d z&xWX^wA%ZfpnY+!9S3`dT`Z-#Q;_7>dceq3B!9&CP*n@|9OKhCtiZISwYmsgli)Zh=1()V~ zcbvD~A=<2Q-uVvEx{dcP4bf8-6TO`d(Sl9#?hwRr$Iiz4W{7siCVNkY=&u!1ytiyV zdD`wU4-c>4-#*#RALhj!;_N@nt8j?3f2udaAUkMS;bahz3iy!RbCZ{jhD zIo|KD5Xtm;6Xz$6^ZqVquYPyTza{2+RaY`@uUBPhW?<|KdADM|Q z^7cB^f?de*Ui}xC&yLYzk74wD0j16(N?jMm(X+yPlWfYt^f6Be5p_O~sPiEzp#M@I zq%5HSvLr)E%PhC!SexMu_OUZ4D89w{0P!@3uWe^xe)15pB;o zA)@zmZiwhTofjf{Pv?h-KHrWI(dWbW3|#Nh=esCG^!Y9c5xuTULqxCZvJlbhx;#Ym zx~>QjXa5%hG?+faH37oi)okqA01c)+yDmiZiSmecFpp^K@`$!BM7Z<%Z27LBlmga% zeTaTq+*a|W5G|V2Rjs5Ukl?n<8BM%IOA>$<2c7|597Fw-R`;lt*m2T_lDTo#V`1} zx6UG6dg%An*S+T)T7x_^u*V_x}B8T+QB=#6(K5DcX&-9dfwaPZ4S|j zlDoXKL-cgn-QMQ~*%Q`pdJhV+r;PV|uZAgO>Ot?#5S0VH8=~jEZ+U+W(Tb9Xy@IO) z$(}BI)GHTcYk0g*nNRj9^T|GCKGmnpy?x5u*Qd;9yaU7fwkDqSriQ2|@jb6LL>DDq z@JJ_GV&uk>2x+b2&m{n$G|5Jzll;>TVxL_LX@y-6XuDDgAzaGOt$ zE9_Cf@QxLP=jBk}FT8q(D9bPVl=*6(GXJYjnZNedM#_BCdnr=Nn|(@ot4}F!_bKIn zyw@Y8yz3QRC+(B_%TB?Yr@w^gB%I~_ z#T&hgQupF_P;C`|@s4unSfIap%LQ?a4oiIKtq;*(EB@xaAn1*v!zcErkGz*{zWBU} zJ7XWY8s5+=N@94&&g(X%?uAY$|M}}#-y8Cq5#|3*5NlXmuKd4;XlFwEr8h98y?^BS z6D`u`;FRCz`yOci~ z{zEm?|I%)$Po75^>i=92Q|?I&_2W0&8qTfm!SB)*IP^Spez-3`^~DL#t5`{f`&Zq< zl(x@?`(Fvs&cq1+eL>WMhY|<*kAB6LIp(m364m~j4mCjsNBVyV(RUI_Klr`HHPz21 zMu+I6kwkov8)yHWBXSj^{nG{Ys-${0G1lMa&=Ntt4&gTj6=VG?9I632#Q%~Ydw1?o z|7(Km-MK^ky9L=haO3OjW z_$6OseR#&RxXhdBA1UYp^{tvAm9zW?L3?$qWK`wh{?jhyiv@>O9_hamq9ZDgc7451 zpD^jJirEpguHsmKS8i8L{_h;(9fv00-y=1MU(n>Q7Gy`d$!ARPnHR{s!-WCm>Wr&tvKD_XS8pCxEVyr}4HpkrNJY{GW@Hg}OA>j|7GQbVr`CP^I2 zCmL2X(>v2|wJ8re6usIb&a`ywxw0(d5{^ zT6w#FNQmC7yu+U-XrF$t{N2jC{CbPThJ3^Sk|5fUH!Hv4?{RTVd9Po34>g2w?^k}) zA0=p?V%&rNT!-XYBme0zr5W-q{}+O+PxO#)PkXHw^pJnxy)5$$@q!-mPj-msv=8~s zf>ZW>%zEcL!R~T7xacm{eAzHFz(nPKlJ||iTg2Hr19RAfEx8&#s1;#lgJ@8>Pm^V zVVg3~_gvm6rxxk`K75;N;~17n8kCt2dupuI(x1bU14(WdnRk0E;k_F2^I=cf*w@R+ zw{%J+!oG9q_l3Rq_OEQADqu?IksId7ISTHn9SIyJmd$m+1Q=Zikrt$ zLK`MEiX8klP+||3a-L1(^NufJ`2KNu&i*yp(gu=&WqRsjNa9B%H0t4qY;(u62zX^Hponq+|+g@^lb}{U^SUrd-E$6)I>2{r%PR=Mya7vvPgTP^w^V!kh4a@IZ1hoXvjA} zwaSM*l@!h2pW`b$dhAkaWlLBr5;7&8Vi-gErpP}_^v9-&Qk&k6^39PRw*7p( z-Be-|EPYzEdP|(?NijRB7`8LTmS*|n1k&!$@m;QA2eSm*Khbdi^6f}*&U)%c(37Bc z@;#Z${wMMa{y~kSWJX&JwD#7HMRde1$IcN;?M#WL`Sf8s?zYUR=10RHr!$rx)fQUg zK(DOL{~sCaXleQIKQlu=PCxtiL%#gJbJ=Qz9l`$VSG31|A@kkp=l+&3Sev4&l}%&U zro5ex+I*`gfwov({UX*ik%y{-zUM`kIp`ZG4A5Y*cMsKV8b@HKZofDvIbEZ zK27-Jdc(>SwUGVo|B@-RA%nyV&4=++4}6TkSK+D@gl$U3dd`Eg9Ht34|4QCyU7y4L z1>e)bnjVzALi`r%x%H2=l92C7F29e2{rPsa&6k5;H==x;Duwk1J(JJ-ah!l}*HF9q zM}2@73W9zP*0Mauh?nRo%lWC;y}bR`iX5ZfmJ;$|PgR$&OuI_jymox;N_r^zt*@v3 zaqB6yG|=k)D_Yc!eUeQMN?>}s_F0QJkgc{_J*|-Sei{w$pT_pH^}6lu^0Q-t_8QS% z+xBQ!t0zROuNLjKx#oyxYiZjA_OmV7`aG6${sv>j-GuLUwX>w(><;4D7;7gDW=ftP zXs=CgX9w#FX4zdbviDA8-m5_IHWQ&y&cou5Z4-Yc9}Y?;Kd9Hn+Bss|Xlso2mF48q z1g*Aw_JF6XRC$h-7VpB8QH$1MrQ-Ru?SUYr&3iv&^VF9`a&n@vK@a46BjDJ%X-9;k z<|&Sv??%>^WBb$6I*h(i`-eT%Bzuki`eRG5ZLy!2gyla!W@?#X`1Ys+Q zmCaJCleWeqWRBQTuyRIcrRCUMO!JRsdbFj{UixR}l%47M+5PEe{l|^I?H{(nxEU9n z_0|s9o{#eLJ!a%IBRZ!7I}lCtNptX@nfuW)|JgYkonLk=qB`?&dX=wHs~Vg?7*#K) z5K;b*#qWxaZ!~=@X!u_#=U>TdXNoN$ANJIL$oduK zbjoQ=^rX&)^J(}tS@r`<`*bDb)BiJh|8Kdhv~~nJYl2f*>&J53jXDjdtbxv3du8eV z_CN40`j?aE1m*YNDU2=2*G|h5oJBLGJv|6cxj$|d5nPOz_cy8|4G)l1^0oWG= z{p@6rdkQvet+5T;mi}YDr}m8w$~1U4Gy5beC+z?{VOi@LThJ#xYw25pdpmlL$}>{a_ly*?FF0lWiAn6t!J?n_-+U4a;*Z-^ymCx_}gST~u{ zs9mxTy;pX%N60?T`Y`!$;4|BG;gk9KeP6Jbw7G_2M)OVEd1`BqYHw602j=6>U^qkZ z7JnJRC|!(wU(nmEG0^8_A>ZJ=^7;8>QqAzHxy}x;(7q$M&NpoYE=g#oJ9I0uA}h7 z(TVb{p!I5sO5m?mO-I~x#7#$8Gf~e>lra-|XQ>a>;b`EI%E#Y2btK|vBRm`7+4u%W zEw1xbT-T$VdX%#iH7!*W^inlNuRu2b+rgo&yd zyk_v4!D|LDjd!MR!e2Z7iWKksSAgQ(Y@mbi=4(DbI8EqLLTiQA30)!dB%vwLp?Ie+ z^PVo@ZNl#rdXdmwpa-gVLGcSU&5|zyjj1Pv{y^wkpoig&7mOVN+MuR^enuT7oE3)8 za-L-P96-G~eByS5`Ru|;hR=UCC^PyJ)n?4-tJUd9k6&>qzG>rj_1dIw2)$43GQ$pg z1aH}#Gx`akPpc=@w+p@x%93}PkMPEsXGFr+K+Dxz5`IN!yU-k-&v_do%V&trQhc6l zm$~S$zk{OpG-;9EA>Uxwq4-yYpkJwi{2P17H!v+=DetuL>*Oiw`n48=QU*}4gO&)EC)DE;SxM|6dGEB>T@ z$oy*Tf9Rbe;a5aLrqpVW^vr$IV~EV=&T1tPf;8H_+mC!Gmcck8T6rY=WN6LRkq&gkx z@eLa3H>P2qPl$cTJfzo-dPVB}h0tG{UFP{i|88EU~cwI&`M@o|N;RYc)q_m(+5z;j>ebHJ0+Dlp{9bQ? zJUjSv%`aFikT&8C@@Urr#V7ZEuK9h7=cFwQq#shcYY=t2YtTC}&d@)^9u)~66$y74 zz9WI&Zz{(G8FoW3Xh_MSY8`ku%<0fhY|gho*81OSL~UX8e%x&Rl*-D;THK;$2!sW7WraF zi+qKMtvD>+qWH9Ii{hKI*U2nsk(8W4cyiTo*pusIeyx)kz0PWpxw-Ovylv*D%7yXC zhEIa7QykNohTs2~Y4|OWnTFp50mWB9W*R<|*&;nZ)9{JRnTAhy&NO_gbEctA&NTdL zNQ;#Jkl{N@cbRJ{HpbsF&3-%RXuKhal3y5~ZSIV}jqjsTwmAN4D2l_@k{+o}0-dc+ z1)Zy!K^Lf2(8X$VQ7P7qE`-;r&w{Q~7lW=>mxG=q>7Uk2`J86T7xYeqU(_t&W#PZ6 zS>`(u{=L2h;rH}ypzrHDK|j>@f=)I}Kh-=4x5f=4PQ!dgSyJknR@xtAcNeiv_h4u*DE%XVYuL@NqOp_EkSLpl_matyJsS--kESw(U>=yc}@O3$3pDbtkSB1VN zR8^2uSMej2IY5tKc=v&~fbOWe19W}$_3FW)Jwkh{C9hC*FvC3uQ=Z);zlrdxNz&cp z$$vtqntHw3H#8}#qWTx6mhqzAAKXhOw{a z7^}KT*9+~jbPLPbE%eoGlIBd(q|muScb`Mf6GC@id=T{W38BeL7@jM1z0e+^yM;a> z^i`pAFJ;R0LVJYn7W#xxgIRXipgZuE>5+Pj9;YYkBlS7@0)2!2i5_ig&GDw)WX)OT zd~>_`hI!OHYhEz#m_HcLJH$KMTjVu(Cwc3=4PLu#r&3D!8iPfr2Lso-cU6K*eIQA+dw;BFw3=y4Z@?#@M;B&&77dz7%^b_FU}6 zSY=^#;h4hlg+~^yDQqb`t?-<}9fcPa-cop5;a!Cf7rs#Vdf{&h-z)q}VR`(3`1ts& z__}ygyeqyfes28oIQNeQ*hS!rsrau5|5d<#jDUAP8vZn96a4iGd~YS8red~DhsQqy z-u_H@`?K)H+9T9(e8YAGtjvM<0_Q>aib)l0O|`0n4}O9gsg_^|upB#p)tH_5HW9v! zdx$y}e)oEOlP0Cc(P8J)Py=@bXQPI5QNzWsWS6L;@GXF&)h^U@ z3u?Jd)#5$(3-EsV#dynmy?PA0fG5;4_^+$fQ}{~AKGgOMYWN;%_&#R(3wX%&rlOU2 zmg`$JYe0WLi1cxxXH8_-#!iZ#jPQwtji5gp(F__N$JkScNE*Kt;j72CgMLd&v$;Bx z+~4kuZ6ROEzb?-7(USKLKMR~qLjSXXv1T&mdA^w8s5~=lT~f}2Qy6=M&`HC3|IfK> znO4Gi)vWi911|u5W+co1v$SRJB=Qd$L^>(X9*7mmTPb+`_p6uV}Hl;1W)*fxecMf1r+Sp%7-`-)^5BCYZJaGxa zmnX=%dh8WpxK&2V_LwJqxJP>LiwEpN8e3Yl2fjOzJ+SX!($$jp2i4S{+@za8Px4v* zPedOkiN3vTtz~Tfo^O8s0SFPK3WRnYC;mLP;(X z9lJ$(!0KWDzN#4UO{BCVeo~Aw*p}K>k00|eI0uboY5nCnW7rem+ZNdxqnco6UsN7D zMpjOn()Le(Is40CWwVm}EA6#1+tT{C(Mr`{p3hHW57=I^^D8=Pi$oKm8e(z=?!)^mEcSPHL$#R+YjvPFmRTD8razppvz$E z4J>;#=nB|*gKq+l0^I>S&oB9mLHGjLdZRvvviZfHaR^@oYj0rBCxKpq8VtU(a~SAl zI9oC5>#+O$2FeVC_rUh!2~$v<On_?w^x-!7Sh@cp0$ z-y=B=;RivD`WDs+eodqn;fLV~@|z&@5q?T7MEKjFM(tI{Bm5mugLR`0;qQVPe23!% zgr5O5__oFpgr5b)uLRI~jg@5?!rw>h@ufgegEeLq!ao2t_^QQfgntBzXRPq`DWiUh z9@6S(pa!QYp8@?HRzr<%GMs|&hxoP>zQV0jpfQ|C88rxJQuq?L-UwQv+d#{3LWM8h zf*O43U^BuAP@@je9iRtke0dpf`p<$^>u%74^%l^PdK+j`ZwDQv&juZ>&jlT$dr`tz zP&`ee&qw%BP=hzme-`2Kpav%^pF?;es8N&jMF>v@#l1m&3Bom?25*4B4B@Gu25)u0 z9O3DpM$ORpwjOr&S0a44z6$gReKqJ&`dZLq^e)h2_4S~~=^H`k>MwyV&^LoF)VCn- zB2c4F)?Wo})L#Q#uWtw4sP8~*D=1Db^_>Wx25Ru7!*3wm4r)}Fz6aqfC|+BqzX`fs z-w*l){UGR7`XSI8^&_CS;fu#c-L4-8{ic2r^fCQy&}a2`K%dj!1^pgQsc=tKKZ`Pd z3~JO*^!Gr2s-FkvXP^dq7(0BDO!TAHIQGe90A^aYwQGe3ELim3{jrz0xHNx+M8ufwxZ-oB>YSdr#TL^y$ ziu(cPZG=5g*a7of&{^hppog1xL60zh1U=IH3G^uQXV7|_F=0lVzarN%P|RraH_!(2 z5jd+sjaq|qE~8E~{1Ee6P|S2wfbhwnMt#N13 zQ-*Les8KDZ0^u~MQ5#Gp!W%)2y44H?{kjai|`wu zM*X*$kMNtInDu5M!oLB<$eQCp|JT%k^Jh?_-Zv*8`~j#@e=$oy|7wqdA3DDFjg zTR<=Jwt-&kZ3n&4I~%b#ff}5^oC|t~*9*=bP>hs!KIo6U&w}$JC}x@WInW<_7lHo7 zy9D$-?=sLod6y&2|AJyJcvpfZ{HwsJ1V#V&SA$mh*Mc7G?*d)nUk`ece+zR@@6d#nHRG=Z>tGsx8}PRg zf35gy!{2H6+l0S%{PACj+EK__OVpiG-bD2r?xia13BM!P!_}{G_g&!*hmAiOnCVY; zxK&l+{7#|#IPQcib)Ad94&@Tx>aKg-JE`tg*Wq3#S_v$zb@)Ds$2X#Jy-Zz;wJpu& z&R)>5CDYw`Y*S<7w5g5wuxK97BCKi7b#yWI@V=2qJgskHz(``C=GM0MmSbn3U^Tll z)s@cVmZmnREn`u4rg{A|RktwHy*b^LYHCjtt?X`3uT1B*W6xdEb`2=^BHpuxBZ7ryUNZ zNpEP&q?dNIq_fAiG&UX?a2B>~w49^V>?Iv7(1l~wf+2g=HPp^O zp>b8+$qU28LHxYcixw?hY2$(d7-u<4mMv&pQoHH|wP4waOVz4v*<5;aP2DoJdbz4! zc6{T!x`tJ%zCpERTGCq^)clUko!z7Nl}1)z~7mNo~$HcXYM4HL1qtpzgfNWowR4 zXVP75%_`T?*@F4pxB=5kHFe~29h-3$+dUYtnAL@ z+BTY&$d6)uOi83wk!KmUY!-mbarPkP!wKSFw=NIV#64Vx{fdmSqsa_-sxy zuo1JB1+MDo?gFf9=-8CbI3RHmoMqYwM!Tc1F&Bx0)QeNu*7>j;QU^_lVgVA!p+*T{ z(q*x#NLZ|z2!SKsB2-1z>(?5IKEuaP`RQ@ExRrQdu4;mx^qF8?G|Pxy+y9GkDbxjm}6CxW=T4mg<((& zHl!A$o4Pj!7^OBXr`3sSP7K#RIMHaiaMMg_|@EP_#y`tztRn-5c+I*>wI zxDfWdYgKm>t&`(yZOa9W+IAYqZ88cil0=G;(3aLVG%KHt1w|lA5k#rzCQ1L=IU_JD zb195DzALqPbE=D?Ti$+nLm0sxMy--chLaO2EFDO6rYHZL| ztyXPn>s+>BgGi0B%4E{**_G)t((uvk>{*rGoPyiY3~5{1nqi<-XBe6<7F#XpZbyPt zHpg`mwz{8n{g?r(3HYiZ4D~hDA2-xB9KtWZuTRAVj(HKe;X(>GvmG|>`jHfCK`Is{6lhj@~h%w6K*q2QL< z91MFCoJ+N|BeM!_A3UHlqwM3m+aig=N*2A6b{dG}tWOL8`r9DrT))ww!8!xjj&RNVK7C zV|SO7(7$+im(5*mo%AmAk=Puipz!d3o6=o*w)K6bAWXj0RtaVE@wM&k9b2&O&?86J zcXeZX(lQ@mv@Md#4bAc{Y_FPg{UhdgbZ+Zv+t?b3nqR+)mAAKHp5`+I{mSXyp4yg= zfDEb4wOw6NUeMVrCzXjLcFVNzb8Ss+?HJg6Q9&IvYLIwqBx>PSsDVr}>;t=D-ZJ(I zk4`qLI5*e^YiYySA|T01>?zI=<4YCf4g-EJ`+k0^xi!5CQwX~W+0iV*2EStqW@Ymx zVRKEN-`btAXeH3R?hP9-+nI-v5$KADaNIU2!r_#URL7tdheBp;4D9i;4J;h8wJhw| zpc>O4P2C#;n`^gHm^Em7b4LpU@V#xI36j$}=SE1a&U7LqiD;VW6WWv^YUl`86&K&o zA$=dBWzY#8RfG)55F!^qhleb2CmmYUw$+8;CuOY!90P2@av0ZU_<|IQMt7mCn?#Lv zJ!Ei$j0Zz~%!O)AWqCeQ+qF@p@V7a;v9A+SBaKik^h}j_m1+-Ci1Lc^0HQ5!oWNO*L-984LEgoLTH;1q);YDlm$Ig%y&aobkYIn|w)?BLZEoslryu3qsyxGOw)-)x zKH7Y3-0HX#+3sfQ--hmXIDT#e31!8ZpRzL+K3re+!mS)w9M^?w1NRjBC4xnB8!qk| zU4f8yzhvy{zNKS-PN$g45Xl+gVhZJu#T8k*w4r__7b1scfLvcATfwWvJKlIYYF4k>(W>Ln%!92hPl`Mi4;LOI({4FzvCD4DvP}(Gp$4cd&NM9-V%Pw@$jgQp^YEI;^ z(kjOOOsD?KI&s5=YfRuu1P8yNi!YJr?fo1j)rh^By$@oIrR*d-x*V$!hc7u74!rar zDkb*}!V1$H+#QtY-4tobz=x{Ro{x(f@EDedlkP;8K^%;>EZo|RRh;c!+L5b+M=KU! zKmMxjPWEw>8%&S(<*)WAZWLTDgrc`!pZZ2A`lS5A%Xx zu^Whu!RQkcv?|rrzHK4qR6ftrjx}wv{cMjggO1K8a|O)D(FuK4Y$@__G#8O=m#CcE zm=BXk! z9N5y4#nbeL4&2bdW|x@fMdI~#bnfTN?|*N2c0&W|Jho;PmWO|k^wXpXilc&jnj*t= z^b8~e&Tb${HCo$YohHQ{l?#Fo=Wt#(v=>s+ z5w}jC>d3W%(Fm6Vn~|vjy$ruTDyTUY?z#=*+QI^umEjil0_XI zyfk*;XrT)#FJ4r%%KG$HM2H^4%j;4+49%bZVY?n21WH?_o0U5uiP}ouR^p7pLSxfl zj(~%Mtt>8)rw4)sGrEOyw|Z-WWH@`9?RI*0z>dY;VEAiTez44=yaBd>k-YmQUeF;s z5_i~$-0XX}tF9=_^VH@L%HtlYrkRh3$X!P!ws#SoYarQ!uyqCkgy$&a-gtm{*D{}f zzeq{+v9XP3@JO3o$0W5asZIhaMif&uqByu|7NpPb*#ZtzI}07n80=hvWO7d|~MN8_4WnC~;%P|yC+JWJzoaTqUC45v36x$Dou0SzC%kRGx&yYFq#tW2YUW4i65 z7kzGNpzM)1PU?*m1KERmBsTDGjSKS zwJq!J%g~nM1Sg9JTe`F976%5pd4f|H>@BjmOCo#Dtl};b-Gq5*H&)WAusQTMaOVZK zkY_X^41N#zF?_od%l8FuN=5c#S=B1X=dKitgA3Ww;TU9cDLj-BC?joc4GejAdkU@~ zb`5es9!3YdgPQ!|IaIC{_tfdMhg+L4eZ>61Z045-g&haA;sltEWgC`t+Hs}%&kl6# zNe3m1n^`y*mn3%4vYG7SxNHL+V#%epidBY4QGj}a$(&W8Dm7p{)48ldejLqVAh6J8 zRYoXlv1=>(2Yc2GVw}?`YTE?;wP(#)G>fOxwK;YrP5`k*X+a!sJ}6Ei7qnfY(p$0E zDSMWuI^<~~-tNNdwwg$=O($6O1>pFv2=3(W;)k2Kh2+eZE;EE=$E7~3oob!^zc zOJiG3p}~rG`Q;EqiMd7_LVrE7Yp!k2sTBSO_7&VgqiR46xDCRat~hRW0D43ow5Ayo zQ}NUo&nQ_pT;Y*`Ajo~{8EqZi*goZ0vm4dKcnpiiPMNIc2d3_Zm8&nX(;HX#{cXv=WXOj$E2MHm4=n z*qY*Dv4rs?isf}NQ3}VmowqLR~jmz`d*uvFiNVELBG!GTC!VaULQOsCM9p9Gw+gG*-Y|7w)U# zJS1NiH-{E+0P`r6BhO+2sWQ)kJo|B^zI=jgSUd~ll4C1#$)LS?-pVxY`odFMC5AIR z)qy>=dFZ{!N?>6ylbzACOx7ZE!$R98)M6pKIT9ObW0)k;$dH$BWys3Q?<(R%v_Xn# zLzqL zc*xz-zU>nozy)bMCb`YtY^=>}i#{!_(%j?)YiwZ316K%(Crcn@oNM%CXIJc=7 zE31--&EUOO-H1V1!;*;E3Y^C87;+M~k^G9y2*c^gbBdB81LDTmxXpr_@mqv6YTmEh zDFdgWG->>ogbW?XmBugLQQ~n#Np%KlOW`*al%BP2A@wGqF&QN_&3Ulk!`S>N7PLzAev8|m3* z_CNoWhZp9JfMbDDSdSguKms);i5NRKI?&dn)X2KnlBuFm_}Nh9WR%$oSu*%9jq!pc zn3YzGDLLmI#-`viYA)zx{zABL9Da8^TWRlT$Z!g{bA+3bUlOU}ygsWDoI4r(g4Sxo zDJb3Q0b^1qd!QK3Z@jB)fIN)ZFi=bpYvFjR>IIOwS^B>X7&k@G2bag<)FF%|#u)VRPWVI&LsN?^6YcpUu+5c~?&VY3m(5k5d zneCwHZ%~ZUVA?p2XPUY=Yl-w)-nMb9mZG<@(~|xhcoar4ug6y_*5Yp-Mq;3HR*K$p zMhsX=W!|<@o+LC+6`aCx#TvE$N}~=NsD@9FacBctVP|fjjoFWpGoNxmIgc8s<_6Jg zYPwyW2F!V!%^9qXpIi_7fNKLzib1&s1ikv{^4k?iP5Sh8s#(XQHqKOze;0mv*>`Re zXE6u6pd;j5Hy0zWCw=-{s(?AvL9-!m zU!Nmf>tI{=k5k9gqAxiEn<3vu^fFfgYf-pDa|N?2RR>Zu!=jMG5y1Q@u0wij^OZLr z{#8A4a_*=@=8IkLQp=H>BNUX$9AT<)wdgsnx6>$1C&FCOtRKKp3)ULSa|SSHb&K_q29FnsxT<2FR#4t8(g)VFQ8W6M$d!y9 zPZO^67wJQC%sKju*Or*wWFmRi6m%XC!#C7Z9Dsc zX}FfL$0_qhwE!!xO{v=X zBF#8S%{0sv*dew*30=&W9MqYwLwnHNI`)^HJ+?oI^SXKrO38?{`Lftofv=S>P0i_q zJT{Ip(>v$bTlw;<7fbBlzq-tNqqfhW%XRts`j7cPRk8=4WD9*^t0&wMP*3uj$o8=Z zI3kprmcZ^O#^bl!%V2Yt$(&^yxLR5H`}#de>1paR`+%}J#>)9wYLDWWqa@Z9$E)VB1kkA4Kp3+jmWEctm|WB6aFw}RTtHI6or z^IZ+ypCfxw_@dCIk^NVk9L9&XM^a(6qDHbbYDTcTmN@JV?8=lyjtoW?^LboQUS6xM zm7olEl!J1q&--h;#8t4)U|kbVQP5kekXEc6wkVn=h~+NvZ2V=g3rj*ayRV>U#?^;5 zmOGfyZkI6{@9Q}RsYkp0Bd$fv#s5^H-Bqhf`u-cG^_`-9@ZYP8(3URIprDWEh{oht z-iRXCS9o3-HFl!L8oUD!F+HypL5Pj$C>n4UL1AdtsMt941SgHI9F4?zg{JsiHc~Pu zd{qS(V|G0iZYy%o?AcA|9Pqf5vSOQpW`-swh@XZHb~J`Z4qP56$zojFWs#&az>WJ9 zsg34$be~*(Tfl>iZsZ-Ubk99}?;uy!7F63RZJ&;JKe0;At)QvwlYrm9FuV5+s^oaL z@7HNtP#Wz&D`nYS7q%glZAf$`+E{itWg=n++9t{PHy0rnemV@wuBMHmUD^`qv>Mlf zPnNW=4AENDAqzz|b~J}$0j>jhrb}ATja>QJ^}*_3Jp*#s3wAD9dqhhZRTI`v1>%6# zD820eQd)kN+CGhxH-a-Um}yi#YrQd72B(0mEd?rOPjhA?JgNq7gv2{qAQ*0Kk#O1a2{gg*tg>Kdf*it$8)Bkfd!a?Q;Oh} zN!RiOEiHe2?QW2oX=yRoqx+}eIh7jsk4l)0d{gnd$LN@F{R})Z>y^?12CE!b-C&y9 zQxdLFTb1gFY6B;B8hJi`eZX&M`}7aja(cj=jrN2gD$_XB$+Gf(pYFLfTA@8qWQCvP zCPdYS3Omq(`7aB$ePFrhTG@dLmR73>|7^qQ0tYT)5?h>kIIy82=isbpER$9_=DNk> zXc!)QSUH*pU|9AzsX0M85td;ZGbIl>xscdnEu@<@TdhQVemgX9%Kb{86J5-rs+`23 z+F=-*yevuBY^pCgGf+EhvUiBWzwN*L;$y#g{2TKweetSbn;ryv`CcbEt0goLy@TG zW?h8~5>=rlV>ze=ZzKd}RL}jo6sxWztyBd`mFS(qs&~2K*W&6GLNcXGOJmBEmL^sp zf3;VbG&*roVg;p5oP^R!@fY_Cbz-v3Z?883Gl|IDW!=7SfxS$b;j{m#R8LlA?l4OuN42P3I~@adY;4I4fxxMzw01V&lQQD3lobAmCrP# z1r!uimsVE^EtQz6sw$R(OJSjxNX8S%SfNSu?5Qd$*G89DAB+YJLVe|hzH~upb)x6W zcy*$l9kolB#?WwZ*h@VZ#TEOyqW7eD(o|O=Xgs8>DD-Sv(3>$dGB`cx1r8EA+g=&N zL7Qgcaq_>4D~dt8%PTc|mOW8ih~9CLCAi+GhgS5akdm#dswzOw^yZ2R4We$=@wgpK zxd0*!iu4BQVpCllEA->>VpLUtM&nAEA&mpF zdmO#AtgwK(LKUH+TuObS0#}t{*akuWQ2hN?MSK3n`9Mw^7^WJ6sA?!L1Su`0MtbOv zQag&6o{Eapi{9m+p^je{;hO0AZAH&BXoe}3LGq{fKRifwp#97peM6W^vs_@52 zZ>pd>$#^y7pehvMdY{aO!J;Ik(%#;!)CLSm?^dvpFko9vDvc*x$MkLu(s2;cQ@vYD zpyy-@U@_3h-mO;kO5;U^(q3?6KHL*Ov=C_|Eyh{uiX)PLiB3SMFG9UrDJSG*NKD9$ zut6*wYHo#Uxp~D@1y%8QRh4ik4Kxgv ziXk>gjA8=dx*BV?ul2G6vnF{&ON2^ zxXe5ayW#;1DJ%#Zo#=VfR?WO?b(M+1&O-uMhn)mH_f*A)6|yK%fYR#HIP?>}Mng=4 zd5;)y*e%!$SP4vWHler0z$ho7IF+i%+9TQ(PTqTHS11nq0V$`-sFkzZC6~K!a#and zXmcn$R8Prdtmv&nUfBBL!a~SUipkb{18ZEb6U#A)6U(u<7*i!f%8r#KhUSWiu$(HG z6D)~^9;6VP!zqVuD&}mldOs@EyirByute`D^mRBZMu{|tfr%J}%HwQHyb3xBAVrkQ zFk(1Mt>ibb6eO{dvOW$VIkKY3vIWB{9oI_hgEb>w4)X*Pf(r$wUqF*h@gXh;-YbAf z?(G&;D1{K{q6=ZJ4J=w|JjSIGt0cLXvKMQ0Rb;h+gb$v%Zq109uU^!%8!tLmeh=QA z4SyzPK!8`Ss-1>es5Jh2=}YIoa_8+gzVZI+|9!^x!|qNj`RZBc7XP|+_C+06{%XVt zKfnLv?>y1)^izjt?|S@^r=F~3ezGdp{`}fV-cG&v!ZvEx_ zlGmz6X!UB%FLqt}X6=K^V~ck^n(e&zip#b=)A;utYma>NZ^I9L;NOdmxoy_wA6%Kf zXW?-N4A%P&{nOJv1@Zs>(MKQo`1{Cjfr#LMG=n7UaR;7|f=h0XLj1XmjFDisqDtxV z=a0^P%?P&B=ZhMB7UknExH4y}@lluXlg>A0M-%?DzN3$k!#INUTvwxe&U24w1lkUbZ*4ig0m*W*|ZOwT9 zo;=nvr|F0zQnQ+89X{=-88g#Uk36bEH<*&u89Wq;-)Zn=GjQ183_@|RTuk<3iJrT? zSmJCji*e046OrfySPN#%k5yO40ANH6F0&;8*E|-%H6F~Qgs~8tSQX$_{H?=ZC-Nqe zMX_L&EM<=TD(FhW45b#+;4=WJU>t4AsyO9)5u|q%iDEr8hGg#{d6VoTAt&YqqG)C% zKqDoIVPcr>GN$txx`&~;Bn^_1#>J1p_Av5Ml2=LIlP19!N-3CP%y9$B6;3$JbQm&t z*SsW7f;;H(l2}oc^aUqY#Fa^$68hXJNtlA?frKgg(Z~+x4d&kyCNA_X&;s}~7#Fzh ziL>c#C(cIURf%=*e+8~XCId)ol2`|)Skmu-L#nIc(=fnGH9bQHkO>|TqmddNhjLj^ zB54Lmx!?%{RTL+EP%!9gO9s}$e75RjAsvS{T{=jK3xeXWMtRkxWl0)Y_}rlMp3yp( zL22tcwg`SDj3R38&9UKe?3zHO6X12B0oBFUje|21FHjIJ4ogS(w@}gb$3NxUD_WIE zVv~VKS79$I-_gD63Db75>_yWPwhsrNkTd& zM9(W+O|cBWB$;P}A_a5Eg^IA7WzUW)mm8f^9phf9+LJvQ{K$2KpmV&!p|xF(g@P>9 zRay*jB!I}c9lb>7Aa()f8d@zaw82EOjLo%x*LZOrbHjsnK`})ml2Aa7Du#kuV*{>! zbR{Aw5&}{`1BgU%Y?o+IiIZ7C8HEgD0zv89vo5UDzSPBl)WtwhS7Kcii$dlqDQd7Q z%A)dQObWJ0N`}x-TX_Dg64{^`2uW}dQ(I<97)08^No=VtA4o=Ot8~X!H&4aAMK81W zaY2!CMPeBma1i7;VrVg@y}tAznkBl?Nhb>qpUvF~jX*cS&%=f42EO!V6-|pMAUGHc zMA?ZY#z!KsIbtWkm!@Kh$TBgl*YBcG8N8-Srvl+N1AD6>Zn&eoIM!00c^KA4ef&^n z5-REW(C)<~$hqC~AyUwO7bBs}9{@Xo_R2U6R#gJ~68uNg1e49yS5;A9glPiB>4Yc9 zUZJ;Xu0X8T3}wKz3N~8;SQKUR%9$Wj62+|($$U&{B${)(#^W9CpP zW*w2<(A@z^40RV2Yi{H`(@ z->|ZF{z8RMf2g@=2fzF<7{7q%*di|y#A_eGD5}fgC(QWmT#K&JYC^-Z1Pm=cyt6^&n*o8 ztvRq|+RH!v`9aef>)&i#bK~+~o<6?jhe!YPn+tBda{JWAOILdP9y{uqUElq&`uk~n zPW=Ao7GAvdiPP>o?6})c|9|bB&1(}u7{+%o3gSVjhh9A7pa_Z~iS;5VMAMLz7{N&F zVNj_JJ(y}qVlE2WgNQx&fgh*V&yzw+5fKXZ;$I+m5ie2-QW0A``9V>C&uqpdtdpPii>dv-3CyfHC-MKaufU+7h=(XferdOC*3 z&htM1C6oE?%R3?`JN9HB&VPD77g;x@VbQbO^cQPpfC++U`b-6qyt>*jx2;q@Q89H3 znARa>n4@M+6|3>6sjnQlq(Ee-zfV&98R5$vSt1A>cR3HcRBMcbhNg^Ttgo3Yl@2gZ zGFZ*KShNdVsmPBlw6US7@Lzn2w;!~_!TE(&CGBfMNa3=4l}oet-t)cD`m>|F(N$d> z3tk@o3euO@yyO;C>DYl{17z8F zr(?JEwC`kH0imZ{g1c1FyzK1+*b`%1X>lWq5(7N|W`4C(AeZ$S>XPWXYVBf=u}kL^ zKbF3=a)6+VkWp&Vtlj-0;N4;cC>+Iumya%jS=EB9IE0O)>j2mV!ODIvpOBD-&-K6ByzTOl#}+hY}ReB z?Hh6I#YWRi2j&V}nFE`*vyo(qdTWrqwf@qcY4nSSzZ3Og0*!>XYkok$(p;&I=1at# W@-DvS + + + Antlr3.Runtime + + + +

+ This is a char buffer stream that is loaded from a file + all at once when you construct the object. This looks very + much like an ANTLReader or ANTLRInputStream, but it's a special case + since we know the exact size of the object to load. We can avoid lots + of data copying. + + + + + A kind of ReaderStream that pulls from an InputStream. + Useful for reading from stdin and specifying file encodings etc... + + + + + Vacuum all input from a Reader and then treat it like a StringStream. + Manage the buffer manually to avoid unnecessary data copying. + + + + If you need encoding, use ANTLRInputStream. + + + + + A pretty quick CharStream that pulls all data from an array + directly. Every method call counts in the lexer. Java's + strings aren't very good so I'm avoiding. + + + + The data being scanned + + + How many characters are actually in the buffer + + + 0..n-1 index into string of next char + + + line number 1..n within the input + + + The index of the character relative to the beginning of the line 0..n-1 + + + tracks how deep mark() calls are nested + + + + A list of CharStreamState objects that tracks the stream state + values line, charPositionInLine, and p that can change as you + move through the input stream. Indexed from 1..markDepth. + A null is kept @ index 0. Create upon first call to mark(). + + + + Track the last mark() call result value for use in rewind(). + + + What is name or source of this char stream? + + + Copy data in string to a local char array + + + This is the preferred constructor as no data is copied + + + + Return the current input symbol index 0..n where n indicates the + last symbol has been read. The index is the index of char to + be returned from LA(1). + + + + + Reset the stream so that it's in the same state it was + when the object was created *except* the data array is not + touched. + + + + + consume() ahead until p==index; can't just set p=index as we must + update line and charPositionInLine. + + + + + A generic recognizer that can handle recognizers generated from + lexer, parser, and tree grammars. This is all the parsing + support code essentially; most of it is error recovery stuff and + backtracking. + + + + + State of a lexer, parser, or tree parser are collected into a state + object so the state can be shared. This sharing is needed to + have one grammar import others and share same error variables + and other state variables. It's a kind of explicit multiple + inheritance via delegation of methods and shared state. + + + + reset the parser's state; subclasses must rewinds the input stream + + + + Match current input symbol against ttype. Attempt + single token insertion or deletion error recovery. If + that fails, throw MismatchedTokenException. + + + + To turn off single token insertion or deletion error + recovery, override recoverFromMismatchedToken() and have it + throw an exception. See TreeParser.recoverFromMismatchedToken(). + This way any error in a rule will cause an exception and + immediate exit from rule. Rule would recover by resynchronizing + to the set of symbols that can follow rule ref. + + + + Match the wildcard: in a symbol + + + Report a recognition problem. + + + This method sets errorRecovery to indicate the parser is recovering + not parsing. Once in recovery mode, no errors are generated. + To get out of recovery mode, the parser must successfully match + a token (after a resync). So it will go: + + 1. error occurs + 2. enter recovery mode, report error + 3. consume until token found in resynch set + 4. try to resume parsing + 5. next match() will reset errorRecovery mode + + If you override, make sure to update syntaxErrors if you care about that. + + + + What error message should be generated for the various exception types? + + + Not very object-oriented code, but I like having all error message + generation within one method rather than spread among all of the + exception classes. This also makes it much easier for the exception + handling because the exception classes do not have to have pointers back + to this object to access utility routines and so on. Also, changing + the message for an exception type would be difficult because you + would have to subclassing exception, but then somehow get ANTLR + to make those kinds of exception objects instead of the default. + This looks weird, but trust me--it makes the most sense in terms + of flexibility. + + For grammar debugging, you will want to override this to add + more information such as the stack frame with + getRuleInvocationStack(e, this.getClass().getName()) and, + for no viable alts, the decision description and state etc... + + Override this to change the message generated for one or more + exception types. + + + + + Get number of recognition errors (lexer, parser, tree parser). Each + recognizer tracks its own number. So parser and lexer each have + separate count. Does not count the spurious errors found between + an error and next valid token match + + + + + + What is the error header, normally line/character position information? + + + + How should a token be displayed in an error message? The default + is to display just the text, but during development you might + want to have a lot of information spit out. Override in that case + to use t.ToString() (which, for CommonToken, dumps everything about + the token). This is better than forcing you to override a method in + your token objects because you don't have to go modify your lexer + so that it creates a new Java type. + + + + Override this method to change where error messages go + + + + Recover from an error found on the input stream. This is + for NoViableAlt and mismatched symbol exceptions. If you enable + single token insertion and deletion, this will usually not + handle mismatched symbol exceptions but there could be a mismatched + token that the match() routine could not recover from. + + + + + A hook to listen in on the token consumption during error recovery. + The DebugParser subclasses this to fire events to the listenter. + + + + + Compute the context-sensitive FOLLOW set for current rule. + This is set of token types that can follow a specific rule + reference given a specific call chain. You get the set of + viable tokens that can possibly come next (lookahead depth 1) + given the current call chain. Contrast this with the + definition of plain FOLLOW for rule r: + + + FOLLOW(r)={x | S=>*alpha r beta in G and x in FIRST(beta)} + + where x in T* and alpha, beta in V*; T is set of terminals and + V is the set of terminals and nonterminals. In other words, + FOLLOW(r) is the set of all tokens that can possibly follow + references to r in *any* sentential form (context). At + runtime, however, we know precisely which context applies as + we have the call chain. We may compute the exact (rather + than covering superset) set of following tokens. + + For example, consider grammar: + + stat : ID '=' expr ';' // FOLLOW(stat)=={EOF} + | "return" expr '.' + ; + expr : atom ('+' atom)* ; // FOLLOW(expr)=={';','.',')'} + atom : INT // FOLLOW(atom)=={'+',')',';','.'} + | '(' expr ')' + ; + + The FOLLOW sets are all inclusive whereas context-sensitive + FOLLOW sets are precisely what could follow a rule reference. + For input input "i=(3);", here is the derivation: + + stat => ID '=' expr ';' + => ID '=' atom ('+' atom)* ';' + => ID '=' '(' expr ')' ('+' atom)* ';' + => ID '=' '(' atom ')' ('+' atom)* ';' + => ID '=' '(' INT ')' ('+' atom)* ';' + => ID '=' '(' INT ')' ';' + + At the "3" token, you'd have a call chain of + + stat -> expr -> atom -> expr -> atom + + What can follow that specific nested ref to atom? Exactly ')' + as you can see by looking at the derivation of this specific + input. Contrast this with the FOLLOW(atom)={'+',')',';','.'}. + + You want the exact viable token set when recovering from a + token mismatch. Upon token mismatch, if LA(1) is member of + the viable next token set, then you know there is most likely + a missing token in the input stream. "Insert" one by just not + throwing an exception. + + + Attempt to recover from a single missing or extra token. + + EXTRA TOKEN + + LA(1) is not what we are looking for. If LA(2) has the right token, + however, then assume LA(1) is some extra spurious token. Delete it + and LA(2) as if we were doing a normal match(), which advances the + input. + + MISSING TOKEN + + If current token is consistent with what could come after + ttype then it is ok to "insert" the missing token, else throw + exception For example, Input "i=(3;" is clearly missing the + ')'. When the parser returns from the nested call to expr, it + will have call chain: + + stat -> expr -> atom + + and it will be trying to match the ')' at this point in the + derivation: + + => ID '=' '(' INT ')' ('+' atom)* ';' + ^ + match() will see that ';' doesn't match ')' and report a + mismatched token error. To recover, it sees that LA(1)==';' + is in the set of tokens that can follow the ')' token + reference in rule atom. It can assume that you forgot the ')'. + + + Not currently used + + + + Match needs to return the current input symbol, which gets put + into the label for the associated token ref; e.g., x=ID. Token + and tree parsers need to return different objects. Rather than test + for input stream type or change the IntStream interface, I use + a simple method to ask the recognizer to tell me what the current + input symbol is. + + + This is ignored for lexers. + + + Conjure up a missing token during error recovery. + + + The recognizer attempts to recover from single missing + symbols. But, actions might refer to that missing symbol. + For example, x=ID {f($x);}. The action clearly assumes + that there has been an identifier matched previously and that + $x points at that token. If that token is missing, but + the next token in the stream is what we want we assume that + this token is missing and we keep going. Because we + have to return some token to replace the missing token, + we have to conjure one up. This method gives the user control + over the tokens returned for missing tokens. Mostly, + you will want to create something special for identifier + tokens. For literals such as '{' and ',', the default + action in the parser or tree parser works. It simply creates + a CommonToken of the appropriate type. The text will be the token. + If you change what tokens must be created by the lexer, + override this method to create the appropriate tokens. + + + + Consume tokens until one matches the given token set + + + Push a rule's follow set using our own hardcoded stack + + + + Return of the rules in your parser instance + leading up to a call to this method. You could override if + you want more details such as the file/line info of where + in the parser java code a rule is invoked. + + + + This is very useful for error messages and for context-sensitive + error recovery. + + + + + A more general version of GetRuleInvocationStack where you can + pass in the StackTrace of, for example, a RecognitionException + to get it's rule stack trace. + + + + Return whether or not a backtracking attempt failed. + + + + Used to print out token names like ID during debugging and + error reporting. The generated parsers implement a method + that overrides this to point to their String[] tokenNames. + + + + + For debugging and other purposes, might want the grammar name. + Have ANTLR generate an implementation for this method. + + + + + A convenience method for use most often with template rewrites. + Convert a list of to a list of . + + + + + Given a rule number and a start token index number, return + MEMO_RULE_UNKNOWN if the rule has not parsed input starting from + start index. If this rule has parsed input starting from the + start index before, then return where the rule stopped parsing. + It returns the index of the last token matched by the rule. + + + + For now we use a hashtable and just the slow Object-based one. + Later, we can make a special one for ints and also one that + tosses out data after we commit past input position i. + + + + + Has this rule already parsed input at the current index in the + input stream? Return the stop token index or MEMO_RULE_UNKNOWN. + If we attempted but failed to parse properly before, return + MEMO_RULE_FAILED. + + + + This method has a side-effect: if we have seen this input for + this rule and successfully parsed before, then seek ahead to + 1 past the stop token matched for this rule last time. + + + + + Record whether or not this rule parsed the input at this position + successfully. Use a standard java hashtable for now. + + + + return how many rule/input-index pairs there are in total. + TODO: this includes synpreds. :( + + + + A stripped-down version of org.antlr.misc.BitSet that is just + good enough to handle runtime requirements such as FOLLOW sets + for automatic error recovery. + + + + + We will often need to do a mod operator (i mod nbits). Its + turns out that, for powers of two, this mod operation is + same as (i & (nbits-1)). Since mod is slow, we use a + precomputed mod mask to do the mod instead. + + + + The actual data bits + + + Construct a bitset of size one word (64 bits) + + + Construction from a static array of longs + + + Construction from a list of integers + + + Construct a bitset given the size + The size of the bitset in bits + + + return this | a in a new set + + + or this element into this set (grow as necessary to accommodate) + + + Grows the set to a larger number of bits. + element that must fit in set + + + Sets the size of a set. + how many words the new set should be + + + return how much space is being used by the bits array not how many actually have member bits on. + + + Is this contained within a? + + + Buffer all input tokens but do on-demand fetching of new tokens from + lexer. Useful when the parser or lexer has to set context/mode info before + proper lexing of future tokens. The ST template parser needs this, + for example, because it has to constantly flip back and forth between + inside/output templates. E.g., <names:{hi, <it>}> has to parse names + as part of an expression but "hi, <it>" as a nested template. + + You can't use this stream if you pass whitespace or other off-channel + tokens to the parser. The stream can't ignore off-channel tokens. + (UnbufferedTokenStream is the same way.) + + This is not a subclass of UnbufferedTokenStream because I don't want + to confuse small moving window of tokens it uses for the full buffer. + + + Record every single token pulled from the source so we can reproduce + chunks of it later. The buffer in LookaheadStream overlaps sometimes + as its moving window moves through the input. This list captures + everything so we can access complete input text. + + + Track the last mark() call result value for use in rewind(). + + + The index into the tokens list of the current token (next token + to consume). tokens[p] should be LT(1). p=-1 indicates need + to initialize with first token. The ctor doesn't get a token. + First call to LT(1) or whatever gets the first token and sets p=0; + + + + How deep have we gone? + + + + Move the input pointer to the next incoming token. The stream + must become active with LT(1) available. consume() simply + moves the input pointer so that LT(1) points at the next + input symbol. Consume at least one token. + + Walk past any token not on the channel the parser is listening to. + + + Make sure index i in tokens has a token. + + + add n elements to buffer + + + Given a start and stop index, return a List of all tokens in + the token type BitSet. Return null if no tokens were found. This + method looks at both on and off channel tokens. + + + + When walking ahead with cyclic DFA or for syntactic predicates, + we need to record the state of the input stream (char index, + line, etc...) so that we can rewind the state after scanning ahead. + + + This is the complete state of a stream. + + + Index into the char stream of next lookahead char + + + What line number is the scanner at before processing buffer[p]? + + + What char position 0..n-1 in line is scanner before processing buffer[p]? + + + + A Token object like we'd use in ANTLR 2.x; has an actual string created + and associated with this object. These objects are needed for imaginary + tree nodes that have payload objects. We need to create a Token object + that has a string; the tree node will point at this token. CommonToken + has indexes into a char stream and hence cannot be used to introduce + new strings. + + + + What token number is this from 0..n-1 tokens + + + + We need to be able to change the text once in a while. If + this is non-null, then getText should return this. Note that + start/stop are not affected by changing this. + + + + What token number is this from 0..n-1 tokens; < 0 implies invalid index + + + The char position into the input buffer where this token starts + + + The char position into the input buffer where this token stops + + + + The most common stream of tokens is one where every token is buffered up + and tokens are prefiltered for a certain channel (the parser will only + see these tokens and cannot change the filter channel number during the + parse). + + + TODO: how to access the full token stream? How to track all tokens matched per rule? + + + Skip tokens on any channel but this one; this is how we skip whitespace... + + + Reset this token stream by setting its token source. + + + Always leave p on an on-channel token. + + + Given a starting index, return the index of the first on-channel + token. + + + All debugging events that a recognizer can trigger. + + + I did not create a separate AST debugging interface as it would create + lots of extra classes and DebugParser has a dbg var defined, which makes + it hard to change to ASTDebugEventListener. I looked hard at this issue + and it is easier to understand as one monolithic event interface for all + possible events. Hopefully, adding ST debugging stuff won't be bad. Leave + for future. 4/26/2006. + + + + + The parser has just entered a rule. No decision has been made about + which alt is predicted. This is fired AFTER init actions have been + executed. Attributes are defined and available etc... + The grammarFileName allows composite grammars to jump around among + multiple grammar files. + + + + + Because rules can have lots of alternatives, it is very useful to + know which alt you are entering. This is 1..n for n alts. + + + + + This is the last thing executed before leaving a rule. It is + executed even if an exception is thrown. This is triggered after + error reporting and recovery have occurred (unless the exception is + not caught in this rule). This implies an "exitAlt" event. + The grammarFileName allows composite grammars to jump around among + multiple grammar files. + + + + Track entry into any (...) subrule other EBNF construct + + + + Every decision, fixed k or arbitrary, has an enter/exit event + so that a GUI can easily track what LT/consume events are + associated with prediction. You will see a single enter/exit + subrule but multiple enter/exit decision events, one for each + loop iteration. + + + + + An input token was consumed; matched by any kind of element. + Trigger after the token was matched by things like match(), matchAny(). + + + + + An off-channel input token was consumed. + Trigger after the token was matched by things like match(), matchAny(). + (unless of course the hidden token is first stuff in the input stream). + + + + + Somebody (anybody) looked ahead. Note that this actually gets + triggered by both LA and LT calls. The debugger will want to know + which Token object was examined. Like consumeToken, this indicates + what token was seen at that depth. A remote debugger cannot look + ahead into a file it doesn't have so LT events must pass the token + even if the info is redundant. + + + + + The parser is going to look arbitrarily ahead; mark this location, + the token stream's marker is sent in case you need it. + + + + + After an arbitrairly long lookahead as with a cyclic DFA (or with + any backtrack), this informs the debugger that stream should be + rewound to the position associated with marker. + + + + + Rewind to the input position of the last marker. + Used currently only after a cyclic DFA and just + before starting a sem/syn predicate to get the + input position back to the start of the decision. + Do not "pop" the marker off the state. mark(i) + and rewind(i) should balance still. + + + + + To watch a parser move through the grammar, the parser needs to + inform the debugger what line/charPos it is passing in the grammar. + For now, this does not know how to switch from one grammar to the + other and back for island grammars etc... + + + + This should also allow breakpoints because the debugger can stop + the parser whenever it hits this line/pos. + + + + + A recognition exception occurred such as NoViableAltException. I made + this a generic event so that I can alter the exception hierachy later + without having to alter all the debug objects. + + + + Upon error, the stack of enter rule/subrule must be properly unwound. + If no viable alt occurs it is within an enter/exit decision, which + also must be rewound. Even the rewind for each mark must be unwount. + In the Java target this is pretty easy using try/finally, if a bit + ugly in the generated code. The rewind is generated in DFA.predict() + actually so no code needs to be generated for that. For languages + w/o this "finally" feature (C++?), the target implementor will have + to build an event stack or something. + + Across a socket for remote debugging, only the RecognitionException + data fields are transmitted. The token object or whatever that + caused the problem was the last object referenced by LT. The + immediately preceding LT event should hold the unexpected Token or + char. + + Here is a sample event trace for grammar: + + b : C ({;}A|B) // {;} is there to prevent A|B becoming a set + | D + ; + + The sequence for this rule (with no viable alt in the subrule) for + input 'c c' (there are 3 tokens) is: + + commence + LT(1) + enterRule b + location 7 1 + enter decision 3 + LT(1) + exit decision 3 + enterAlt1 + location 7 5 + LT(1) + consumeToken [c/<4>,1:0] + location 7 7 + enterSubRule 2 + enter decision 2 + LT(1) + LT(1) + recognitionException NoViableAltException 2 1 2 + exit decision 2 + exitSubRule 2 + beginResync + LT(1) + consumeToken [c/<4>,1:1] + LT(1) + endResync + LT(-1) + exitRule b + terminate + + + + + Indicates the recognizer is about to consume tokens to resynchronize + the parser. Any consume events from here until the recovered event + are not part of the parse--they are dead tokens. + + + + + Indicates that the recognizer has finished consuming tokens in order + to resychronize. There may be multiple beginResync/endResync pairs + before the recognizer comes out of errorRecovery mode (in which + multiple errors are suppressed). This will be useful + in a gui where you want to probably grey out tokens that are consumed + but not matched to anything in grammar. Anything between + a beginResync/endResync pair was tossed out by the parser. + + + + A semantic predicate was evaluate with this result and action text + + + + Announce that parsing has begun. Not technically useful except for + sending events over a socket. A GUI for example will launch a thread + to connect and communicate with a remote parser. The thread will want + to notify the GUI when a connection is made. ANTLR parsers + trigger this upon entry to the first rule (the ruleLevel is used to + figure this out). + + + + + Parsing is over; successfully or not. Mostly useful for telling + remote debugging listeners that it's time to quit. When the rule + invocation level goes to zero at the end of a rule, we are done + parsing. + + + + + Input for a tree parser is an AST, but we know nothing for sure + about a node except its type and text (obtained from the adaptor). + This is the analog of the consumeToken method. Again, the ID is + the hashCode usually of the node so it only works if hashCode is + not implemented. If the type is UP or DOWN, then + the ID is not really meaningful as it's fixed--there is + just one UP node and one DOWN navigation node. + + + + + + + The tree parser lookedahead. If the type is UP or DOWN, + then the ID is not really meaningful as it's fixed--there is + just one UP node and one DOWN navigation node. + + + + + A nil was created (even nil nodes have a unique ID... + they are not "null" per se). As of 4/28/2006, this + seems to be uniquely triggered when starting a new subtree + such as when entering a subrule in automatic mode and when + building a tree in rewrite mode. + + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only t.ID is set. + + + + + Upon syntax error, recognizers bracket the error with an error node + if they are building ASTs. + + + + + + Announce a new node built from token elements such as type etc... + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only t.ID, type, text are + set. + + + + Announce a new node built from an existing token. + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only node.ID and token.tokenIndex + are set. + + + + Make a node the new root of an existing root. See + + + Note: the newRootID parameter is possibly different + than the TreeAdaptor.becomeRoot() newRoot parameter. + In our case, it will always be the result of calling + TreeAdaptor.becomeRoot() and not root_n or whatever. + + The listener should assume that this event occurs + only when the current subrule (or rule) subtree is + being reset to newRootID. + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only IDs are set. + + + + + + Make childID a child of rootID. + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only IDs are set. + + + + + + Set the token start/stop token index for a subtree root or node. + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only t.ID is set. + + + + A DFA implemented as a set of transition tables. + + + Any state that has a semantic predicate edge is special; those states + are generated with if-then-else structures in a specialStateTransition() + which is generated by cyclicDFA template. + + There are at most 32767 states (16-bit signed short). + Could get away with byte sometimes but would have to generate different + types and the simulation code too. For a point of reference, the Java + lexer's Tokens rule DFA has 326 states roughly. + + + + Which recognizer encloses this DFA? Needed to check backtracking + + + + From the input stream, predict what alternative will succeed + using this DFA (representing the covering regular approximation + to the underlying CFL). Return an alternative number 1..n. Throw + an exception upon error. + + + + A hook for debugging interface + + + + Given a String that has a run-length-encoding of some unsigned shorts + like "\1\2\3\9", convert to short[] {2,9,9,9}. We do this to avoid + static short[] which generates so much init code that the class won't + compile. :( + + + + Hideous duplication of code, but I need different typed arrays out :( + + + The recognizer did not match anything for a (..)+ loop. + + + + A semantic predicate failed during validation. Validation of predicates + occurs when normally parsing the alternative just like matching a token. + Disambiguating predicate evaluation occurs when we hoist a predicate into + a prediction decision. + + + + AST rules have trees + + + Has a value potentially if output=AST; + + + AST rules have trees + + + Has a value potentially if output=AST; + + + A source of characters for an ANTLR lexer + + + + For infinite streams, you don't need this; primarily I'm providing + a useful interface for action code. Just make sure actions don't + use this on streams that don't support it. + + + + + Get the ith character of lookahead. This is the same usually as + LA(i). This will be used for labels in the generated + lexer code. I'd prefer to return a char here type-wise, but it's + probably better to be 32-bit clean and be consistent with LA. + + + + ANTLR tracks the line information automatically + Because this stream can rewind, we need to be able to reset the line + + + The index of the character relative to the beginning of the line 0..n-1 + + + + A simple stream of integers used when all I care about is the char + or token type sequence (such as interpretation). + + + + + Get int at current input pointer + i ahead where i=1 is next int. + Negative indexes are allowed. LA(-1) is previous token (token + just matched). LA(-i) where i is before first token should + yield -1, invalid char / EOF. + + + + + Tell the stream to start buffering if it hasn't already. Return + current input position, Index, or some other marker so that + when passed to rewind() you get back to the same spot. + rewind(mark()) should not affect the input cursor. The Lexer + track line/col info as well as input index so its markers are + not pure input indexes. Same for tree node streams. + + + + + Return the current input symbol index 0..n where n indicates the + last symbol has been read. The index is the symbol about to be + read not the most recently read symbol. + + + + + Reset the stream so that next call to index would return marker. + The marker will usually be Index but it doesn't have to be. It's + just a marker to indicate what state the stream was in. This is + essentially calling release() and seek(). If there are markers + created after this marker argument, this routine must unroll them + like a stack. Assume the state the stream was in when this marker + was created. + + + + + Rewind to the input position of the last marker. + Used currently only after a cyclic DFA and just + before starting a sem/syn predicate to get the + input position back to the start of the decision. + Do not "pop" the marker off the state. mark(i) + and rewind(i) should balance still. It is + like invoking rewind(last marker) but it should not "pop" + the marker off. It's like seek(last marker's input position). + + + + + You may want to commit to a backtrack but don't want to force the + stream to keep bookkeeping objects around for a marker that is + no longer necessary. This will have the same behavior as + rewind() except it releases resources without the backward seek. + This must throw away resources for all markers back to the marker + argument. So if you're nested 5 levels of mark(), and then release(2) + you have to release resources for depths 2..5. + + + + + Set the input cursor to the position indicated by index. This is + normally used to seek ahead in the input stream. No buffering is + required to do this unless you know your stream will use seek to + move backwards such as when backtracking. + + + + This is different from rewind in its multi-directional + requirement and in that its argument is strictly an input cursor (index). + + For char streams, seeking forward must update the stream state such + as line number. For seeking backwards, you will be presumably + backtracking using the mark/rewind mechanism that restores state and + so this method does not need to update state when seeking backwards. + + Currently, this method is only used for efficient backtracking using + memoization, but in the future it may be used for incremental parsing. + + The index is 0..n-1. A seek to position i means that LA(1) will + return the ith symbol. So, seeking to 0 means LA(1) will return the + first element in the stream. + + + + + Only makes sense for streams that buffer everything up probably, but + might be useful to display the entire stream or for testing. This + value includes a single EOF. + + + + + Where are you getting symbols from? Normally, implementations will + pass the buck all the way to the lexer who can ask its input stream + for the file name or whatever. + + + + + Rules can have start/stop info. + + + + + Gets the start element from the input stream + + + + + Gets the stop element from the input stream + + + + + Rules can have start/stop info. + + The element type of the input stream. + + + + Gets the start element from the input stream + + + + + Gets the stop element from the input stream + + + + Get the text of the token + + + The line number on which this token was matched; line=1..n + + + The index of the first character relative to the beginning of the line 0..n-1 + + + + An index from 0..n-1 of the token object in the input stream. + This must be valid in order to use the ANTLRWorks debugger. + + + + + From what character stream was this token created? You don't have to + implement but it's nice to know where a Token comes from if you have + include files etc... on the input. + + + + + A source of tokens must provide a sequence of tokens via nextToken() + and also must reveal it's source of characters; CommonToken's text is + computed from a CharStream; it only store indices into the char stream. + + + + Errors from the lexer are never passed to the parser. Either you want + to keep going or you do not upon token recognition error. If you do not + want to continue lexing then you do not want to continue parsing. Just + throw an exception not under RecognitionException and Java will naturally + toss you all the way out of the recognizers. If you want to continue + lexing then you should not throw an exception to the parser--it has already + requested a token. Keep lexing until you get a valid one. Just report + errors and keep going, looking for a valid token. + + + + + Return a Token object from your input stream (usually a CharStream). + Do not fail/return upon lexing error; keep chewing on the characters + until you get a good one; errors are not passed through to the parser. + + + + + Where are you getting tokens from? normally the implication will simply + ask lexers input stream. + + + + A stream of tokens accessing tokens from a TokenSource + + + Get Token at current input pointer + i ahead where i=1 is next Token. + i<0 indicates tokens in the past. So -1 is previous token and -2 is + two tokens ago. LT(0) is undefined. For i>=n, return Token.EOFToken. + Return null for LT(0) and any index that results in an absolute address + that is negative. + + + + How far ahead has the stream been asked to look? The return + value is a valid index from 0..n-1. + + + + + Get a token at an absolute index i; 0..n-1. This is really only + needed for profiling and debugging and token stream rewriting. + If you don't want to buffer up tokens, then this method makes no + sense for you. Naturally you can't use the rewrite stream feature. + I believe DebugTokenStream can easily be altered to not use + this method, removing the dependency. + + + + + Where is this stream pulling tokens from? This is not the name, but + the object that provides Token objects. + + + + + Return the text of all tokens from start to stop, inclusive. + If the stream does not buffer all the tokens then it can just + return "" or null; Users should not access $ruleLabel.text in + an action of course in that case. + + + + + Because the user is not required to use a token with an index stored + in it, we must provide a means for two token objects themselves to + indicate the start/end location. Most often this will just delegate + to the other toString(int,int). This is also parallel with + the TreeNodeStream.toString(Object,Object). + + + + + The most common stream of tokens is one where every token is buffered up + and tokens are prefiltered for a certain channel (the parser will only + see these tokens and cannot change the filter channel number during the + parse). + + + TODO: how to access the full token stream? How to track all tokens matched per rule? + + + + Record every single token pulled from the source so we can reproduce + chunks of it later. + + + + Map from token type to channel to override some Tokens' channel numbers + + + Set of token types; discard any tokens with this type + + + Skip tokens on any channel but this one; this is how we skip whitespace... + + + By default, track all incoming tokens + + + Track the last mark() call result value for use in rewind(). + + + + The index into the tokens list of the current token (next token + to consume). p==-1 indicates that the tokens list is empty + + + + + How deep have we gone? + + + + Reset this token stream by setting its token source. + + + + Load all tokens from the token source and put in tokens. + This is done upon first LT request because you might want to + set some token type / channel overrides before filling buffer. + + + + + Move the input pointer to the next incoming token. The stream + must become active with LT(1) available. consume() simply + moves the input pointer so that LT(1) points at the next + input symbol. Consume at least one token. + + + + Walk past any token not on the channel the parser is listening to. + + + + Given a starting index, return the index of the first on-channel token. + + + + A simple filter mechanism whereby you can tell this token stream + to force all tokens of type ttype to be on channel. For example, + when interpreting, we cannot exec actions so we need to tell + the stream to force all WS and NEWLINE to be a different, ignored + channel. + + + + + Given a start and stop index, return a List of all tokens in + the token type BitSet. Return null if no tokens were found. This + method looks at both on and off channel tokens. + + + + + Get the ith token from the current position 1..n where k=1 is the + first symbol of lookahead. + + + + Look backwards k tokens on-channel tokens + + + + Return absolute token i; ignore which channel the tokens are on; + that is, count all tokens not just on-channel tokens. + + + + + A lexer is recognizer that draws input symbols from a character stream. + lexer grammars result in a subclass of this object. A Lexer object + uses simplified match() and error recovery mechanisms in the interest + of speed. + + + + Where is the lexer drawing characters from? + + + + Gets or sets the text matched so far for the current token or any text override. + + + Setting this value replaces any previously set value, and overrides the original text. + + + + Return a token from this source; i.e., match a token on the char stream. + + + Returns the EOF token (default), if you need + to return a custom token instead override this method. + + + + Instruct the lexer to skip creating a token for current lexer rule + and look for another token. nextToken() knows to keep looking when + a lexer rule finishes with token set to SKIP_TOKEN. Recall that + if token==null at end of any token rule, it creates one for you + and emits it. + + + + This is the lexer entry point that sets instance var 'token' + + + + Currently does not support multiple emits per nextToken invocation + for efficiency reasons. Subclass and override this method and + nextToken (to push tokens into a list and pull from that list rather + than a single variable as this implementation does). + + + + + The standard method called to automatically emit a token at the + outermost lexical rule. The token object should point into the + char buffer start..stop. If there is a text override in 'text', + use that to set the token's text. Override this method to emit + custom Token objects. + + + + If you are building trees, then you should also override + Parser or TreeParser.getMissingSymbol(). + + + + What is the index of the current character of lookahead? + + + + Lexers can normally match any char in it's vocabulary after matching + a token, so do the easy thing and just kill a character and hope + it all works out. You can instead use the rule invocation stack + to do sophisticated error recovery if you are in a fragment rule. + + + + A queue that can dequeue and get(i) in O(1) and grow arbitrarily large. + A linked list is fast at dequeue but slow at get(i). An array is + the reverse. This is O(1) for both operations. + + List grows until you dequeue last element at end of buffer. Then + it resets to start filling at 0 again. If adds/removes are balanced, the + buffer will not grow too large. + + No iterator stuff as that's not how we'll use it. + + + dynamically-sized buffer of elements + + + index of next element to fill + + + + How deep have we gone? + + + + + Return element {@code i} elements ahead of current element. {@code i==0} + gets current element. This is not an absolute index into {@link #data} + since {@code p} defines the start of the real list. + + + + Get and remove first element in queue + + + Return string of current buffer contents; non-destructive + + + + A lookahead queue that knows how to mark/release locations in the buffer for + backtracking purposes. Any markers force the {@link FastQueue} superclass to + keep all elements until no more markers; then can reset to avoid growing a + huge buffer. + + + + Absolute token index. It's the index of the symbol about to be + read via {@code LT(1)}. Goes from 0 to numtokens. + + + This is the {@code LT(-1)} element for the first element in {@link #data}. + + + Track object returned by nextElement upon end of stream; + Return it later when they ask for LT passed end of input. + + + Track the last mark() call result value for use in rewind(). + + + tracks how deep mark() calls are nested + + + + Implement nextElement to supply a stream of elements to this + lookahead buffer. Return EOF upon end of the stream we're pulling from. + + + + + Get and remove first element in queue; override + {@link FastQueue#remove()}; it's the same, just checks for backtracking. + + + + Make sure we have at least one element to remove, even if EOF + + + + Make sure we have 'need' elements from current position p. Last valid + p index is data.size()-1. p+need-1 is the data index 'need' elements + ahead. If we need 1 element, (p+1-1)==p must be < data.size(). + + + + add n elements to buffer + + + Size of entire stream is unknown; we only know buffer size from FastQueue + + + + Seek to a 0-indexed absolute token index. Normally used to seek backwards + in the buffer. Does not force loading of nodes. + + + To preserve backward compatibility, this method allows seeking past the + end of the currently buffered data. In this case, the input pointer will + be moved but the data will only actually be loaded upon the next call to + {@link #consume} or {@link #LT} for {@code k>0}. + + + + A mismatched char or Token or tree node + + + + We were expecting a token but it's not found. The current token + is actually what we wanted next. Used for tree node errors too. + + + + + A parser for TokenStreams. "parser grammars" result in a subclass + of this. + + + + Gets or sets the token stream; resets the parser upon a set. + + + + Rules that return more than a single value must return an object + containing all the values. Besides the properties defined in + RuleLabelScope.predefinedRulePropertiesScope there may be user-defined + return values. This class simply defines the minimum properties that + are always defined and methods to access the others that might be + available depending on output option such as template and tree. + + + + Note text is not an actual property of the return value, it is computed + from start and stop using the input stream's toString() method. I + could add a ctor to this so that we can pass in and store the input + stream, but I'm not sure we want to do that. It would seem to be undefined + to get the .text property anyway if the rule matches tokens from multiple + input streams. + + I do not use getters for fields of objects that are used simply to + group values such as this aggregate. The getters/setters are there to + satisfy the superclass interface. + + + + The root of the ANTLR exception hierarchy. + + + To avoid English-only error messages and to generally make things + as flexible as possible, these exceptions are not created with strings, + but rather the information necessary to generate an error. Then + the various reporting methods in Parser and Lexer can be overridden + to generate a localized error message. For example, MismatchedToken + exceptions are built with the expected token type. + So, don't expect getMessage() to return anything. + + Note that as of Java 1.4, you can access the stack trace, which means + that you can compute the complete trace of rules from the start symbol. + This gives you considerable context information with which to generate + useful error messages. + + ANTLR generates code that throws exceptions upon recognition error and + also generates code to catch these exceptions in each rule. If you + want to quit upon first error, you can turn off the automatic error + handling mechanism using rulecatch action, but you still need to + override methods mismatch and recoverFromMismatchSet. + + In general, the recognition exceptions can track where in a grammar a + problem occurred and/or what was the expected input. While the parser + knows its state (such as current input symbol and line info) that + state can change before the exception is reported so current token index + is computed and stored at exception time. From this info, you can + perhaps print an entire line of input not just a single token, for example. + Better to just say the recognizer had a problem and then let the parser + figure out a fancy report. + + + + What input stream did the error occur in? + + + + What was the lookahead index when this exception was thrown? + + + + What is index of token/char were we looking at when the error occurred? + + + + The current Token when an error occurred. Since not all streams + can retrieve the ith Token, we have to track the Token object. + For parsers. Even when it's a tree parser, token might be set. + + + + + If this is a tree parser exception, node is set to the node with + the problem. + + + + The current char when an error occurred. For lexers. + + + + Track the line (1-based) at which the error occurred in case this is + generated from a lexer. We need to track this since the + unexpected char doesn't carry the line info. + + + + + The 0-based index into the line where the error occurred. + + + + + If you are parsing a tree node stream, you will encounter som + imaginary nodes w/o line/col info. We now search backwards looking + for most recent token with line/col info, but notify getErrorHeader() + that info is approximate. + + + + Used for remote debugger deserialization + + + Return the token type or char of the unexpected input element + + + + The set of fields needed by an abstract recognizer to recognize input + and recover from errors etc... As a separate state object, it can be + shared among multiple grammars; e.g., when one grammar imports another. + + + + These fields are publically visible but the actual state pointer per + parser is protected. + + + + + Track the set of token types that can follow any rule invocation. + Stack grows upwards. When it hits the max, it grows 2x in size + and keeps going. + + + + + This is true when we see an error and before having successfully + matched a token. Prevents generation of more than one error message + per error. + + + + + The index into the input stream where the last error occurred. + This is used to prevent infinite loops where an error is found + but no token is consumed during recovery...another error is found, + ad naseum. This is a failsafe mechanism to guarantee that at least + one token/tree node is consumed for two errors. + + + + + In lieu of a return value, this indicates that a rule or token + has failed to match. Reset to false upon valid token match. + + + + Did the recognizer encounter a syntax error? Track how many. + + + + If 0, no backtracking is going on. Safe to exec actions etc... + If >0 then it's the level of backtracking. + + + + + An array[size num rules] of dictionaries that tracks + the stop token index for each rule. ruleMemo[ruleIndex] is + the memoization table for ruleIndex. For key ruleStartIndex, you + get back the stop token for associated rule or MEMO_RULE_FAILED. + + + This is only used if rule memoization is on (which it is by default). + + + + The goal of all lexer rules/methods is to create a token object. + This is an instance variable as multiple rules may collaborate to + create a single token. nextToken will return this object after + matching lexer rule(s). If you subclass to allow multiple token + emissions, then set this to the last token to be matched or + something nonnull so that the auto token emit mechanism will not + emit another token. + + + + + What character index in the stream did the current token start at? + Needed, for example, to get the text for current token. Set at + the start of nextToken. + + + + The line on which the first character of the token resides + + + The character position of first character within the line + + + The channel number for the current token + + + The token type for the current token + + + + You can set the text for the current token to override what is in + the input char buffer. Use setText() or can set this instance var. + + + + + All tokens go to the parser (unless skip() is called in that rule) + on a particular "channel". The parser tunes to a particular channel + so that whitespace etc... can go to the parser on a "hidden" channel. + + + + + Anything on different channel than DEFAULT_CHANNEL is not parsed + by parser. + + + + Useful for dumping out the input stream after doing some + augmentation or other manipulations. + + You can insert stuff, replace, and delete chunks. Note that the + operations are done lazily--only if you convert the buffer to a + String. This is very efficient because you are not moving data around + all the time. As the buffer of tokens is converted to strings, the + toString() method(s) check to see if there is an operation at the + current index. If so, the operation is done and then normal String + rendering continues on the buffer. This is like having multiple Turing + machine instruction streams (programs) operating on a single input tape. :) + + Since the operations are done lazily at toString-time, operations do not + screw up the token index values. That is, an insert operation at token + index i does not change the index values for tokens i+1..n-1. + + Because operations never actually alter the buffer, you may always get + the original token stream back without undoing anything. Since + the instructions are queued up, you can easily simulate transactions and + roll back any changes if there is an error just by removing instructions. + For example, + + CharStream input = new ANTLRFileStream("input"); + TLexer lex = new TLexer(input); + TokenRewriteStream tokens = new TokenRewriteStream(lex); + T parser = new T(tokens); + parser.startRule(); + + Then in the rules, you can execute + Token t,u; + ... + input.insertAfter(t, "text to put after t");} + input.insertAfter(u, "text after u");} + System.out.println(tokens.toString()); + + Actually, you have to cast the 'input' to a TokenRewriteStream. :( + + You can also have multiple "instruction streams" and get multiple + rewrites from a single pass over the input. Just name the instruction + streams and use that name again when printing the buffer. This could be + useful for generating a C file and also its header file--all from the + same buffer: + + tokens.insertAfter("pass1", t, "text to put after t");} + tokens.insertAfter("pass2", u, "text after u");} + System.out.println(tokens.toString("pass1")); + System.out.println(tokens.toString("pass2")); + + If you don't use named rewrite streams, a "default" stream is used as + the first example shows. + + + What index into rewrites List are we? + + + Token buffer index. + + + + Execute the rewrite operation by possibly adding to the buffer. + Return the index of the next token to operate on. + + + + + I'm going to try replacing range from x..y with (y-x)+1 ReplaceOp + instructions. + + + + + You may have multiple, named streams of rewrite operations. + I'm calling these things "programs." + Maps String (name) -> rewrite (List) + + + + Map String (program name) -> Integer index + + + + Rollback the instruction stream for a program so that + the indicated instruction (via instructionIndex) is no + longer in the stream. UNTESTED! + + + + Reset the program so that no instructions exist + + + We need to combine operations and report invalid operations (like + overlapping replaces that are not completed nested). Inserts to + same index need to be combined etc... Here are the cases: + + I.i.u I.j.v leave alone, nonoverlapping + I.i.u I.i.v combine: Iivu + + R.i-j.u R.x-y.v | i-j in x-y delete first R + R.i-j.u R.i-j.v delete first R + R.i-j.u R.x-y.v | x-y in i-j ERROR + R.i-j.u R.x-y.v | boundaries overlap ERROR + + Delete special case of replace (text==null): + D.i-j.u D.x-y.v | boundaries overlap combine to max(min)..max(right) + + I.i.u R.x-y.v | i in (x+1)-y delete I (since insert before + we're not deleting i) + I.i.u R.x-y.v | i not in (x+1)-y leave alone, nonoverlapping + R.x-y.v I.i.u | i in x-y ERROR + R.x-y.v I.x.u R.x-y.uv (combine, delete I) + R.x-y.v I.i.u | i not in x-y leave alone, nonoverlapping + + I.i.u = insert u before op @ index i + R.x-y.u = replace x-y indexed tokens with u + + First we need to examine replaces. For any replace op: + + 1. wipe out any insertions before op within that range. + 2. Drop any replace op before that is contained completely within + that range. + 3. Throw exception upon boundary overlap with any previous replace. + + Then we can deal with inserts: + + 1. for any inserts to same index, combine even if not adjacent. + 2. for any prior replace with same left boundary, combine this + insert with replace and delete this replace. + 3. throw exception if index in same range as previous replace + + Don't actually delete; make op null in list. Easier to walk list. + Later we can throw as we add to index -> op map. + + Note that I.2 R.2-2 will wipe out I.2 even though, technically, the + inserted stuff would be before the replace range. But, if you + add tokens in front of a method body '{' and then delete the method + body, I think the stuff before the '{' you added should disappear too. + + Return a map from token index to operation. + + + Get all operations before an index of a particular kind + + + + In an action, a lexer rule can set token to this SKIP_TOKEN and ANTLR + will avoid creating a token for this symbol and try to fetch another. + + + + imaginary tree navigation type; traverse "get child" link + + + imaginary tree navigation type; finish with a child list + + + + A generic tree implementation with no payload. You must subclass to + actually have any user data. ANTLR v3 uses a list of children approach + instead of the child-sibling approach in v2. A flat tree (a list) is + an empty node whose children represent the list. An empty, but + non-null node is called "nil". + + + + + Create a new node from an existing node does nothing for BaseTree + as there are no fields other than the children list, which cannot + be copied as the children are not considered part of this node. + + + + + Get the children internal List; note that if you directly mess with + the list, do so at your own risk. + + + + BaseTree doesn't track parent pointers. + + + BaseTree doesn't track child indexes. + + + Add t as child of this node. + + + Warning: if t has no children, but child does + and child isNil then this routine moves children to t via + t.children = child.children; i.e., without copying the array. + + + + Add all elements of kids list as children of this node + + + Insert child t at child position i (0..n-1) by shifting children + i+1..n-1 to the right one position. Set parent / indexes properly + but does NOT collapse nil-rooted t's that come in here like addChild. + + + + Delete children from start to stop and replace with t even if t is + a list (nil-root tree). num of children can increase or decrease. + For huge child lists, inserting children can force walking rest of + children to set their childindex; could be slow. + + + + Override in a subclass to change the impl of children list + + + Set the parent and child index values for all child of t + + + Walk upwards looking for ancestor with this token type. + + + Walk upwards and get first ancestor with this token type. + + + + Return a list of all ancestors of this node. The first node of + list is the root and the last is the parent of this node. + + + + Print out a whole tree not just a node + + + Override to say how a node (not a tree) should look as text + + + A TreeAdaptor that works with any Tree implementation. + + + + System.identityHashCode() is not always unique; we have to + track ourselves. That's ok, it's only for debugging, though it's + expensive: we have to create a hashtable with all tree nodes in it. + + + + + Create tree node that holds the start and stop tokens associated + with an error. + + + + If you specify your own kind of tree nodes, you will likely have to + override this method. CommonTree returns Token.INVALID_TOKEN_TYPE + if no token payload but you might have to set token type for diff + node type. + + You don't have to subclass CommonErrorNode; you will likely need to + subclass your own tree node class to avoid class cast exception. + + + + + This is generic in the sense that it will work with any kind of + tree (not just ITree interface). It invokes the adaptor routines + not the tree node routines to do the construction. + + + + + Add a child to the tree t. If child is a flat tree (a list), make all + in list children of t. Warning: if t has no children, but child does + and child isNil then you can decide it is ok to move children to t via + t.children = child.children; i.e., without copying the array. Just + make sure that this is consistent with have the user will build + ASTs. + + + + + If oldRoot is a nil root, just copy or move the children to newRoot. + If not a nil root, make oldRoot a child of newRoot. + + + + old=^(nil a b c), new=r yields ^(r a b c) + old=^(a b c), new=r yields ^(r ^(a b c)) + + If newRoot is a nil-rooted single child tree, use the single + child as the new root node. + + old=^(nil a b c), new=^(nil r) yields ^(r a b c) + old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) + + If oldRoot was null, it's ok, just return newRoot (even if isNil). + + old=null, new=r yields r + old=null, new=^(nil r) yields ^(nil r) + + Return newRoot. Throw an exception if newRoot is not a + simple node or nil root with a single child node--it must be a root + node. If newRoot is ^(nil x) return x as newRoot. + + Be advised that it's ok for newRoot to point at oldRoot's + children; i.e., you don't have to copy the list. We are + constructing these nodes so we should have this control for + efficiency. + + + + Transform ^(nil x) to x and nil to null + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + This is a variant of createToken where the new token is derived from + an actual real input token. Typically this is for converting '{' + tokens to BLOCK etc... You'll see + + r : lc='{' ID+ '}' -> ^(BLOCK[$lc] ID+) ; + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + Duplicate a node. This is part of the factory; + override if you want another kind of node to be built. + + + + I could use reflection to prevent having to override this + but reflection is slow. + + + + + Track start/stop token for subtree root created for a rule. + Only works with Tree nodes. For rules that match nothing, + seems like this will yield start=i and stop=i-1 in a nil node. + Might be useful info so I'll not force to be i..i. + + + + A buffered stream of tree nodes. Nodes can be from a tree of ANY kind. + + This node stream sucks all nodes out of the tree specified in + the constructor during construction and makes pointers into + the tree using an array of Object pointers. The stream necessarily + includes pointers to DOWN and UP and EOF nodes. + + This stream knows how to mark/release for backtracking. + + This stream is most suitable for tree interpreters that need to + jump around a lot or for tree parsers requiring speed (at cost of memory). + There is some duplicated functionality here with UnBufferedTreeNodeStream + but just in bookkeeping, not tree walking etc... + + TARGET DEVELOPERS: + + This is the old CommonTreeNodeStream that buffered up entire node stream. + No need to implement really as new CommonTreeNodeStream is much better + and covers what we need. + + @see CommonTreeNodeStream + + + The complete mapping from stream index to tree node. + This buffer includes pointers to DOWN, UP, and EOF nodes. + It is built upon ctor invocation. The elements are type + Object as we don't what the trees look like. + + Load upon first need of the buffer so we can set token types + of interest for reverseIndexing. Slows us down a wee bit to + do all of the if p==-1 testing everywhere though. + + + Pull nodes from which tree? + + + IF this tree (root) was created from a token stream, track it. + + + What tree adaptor was used to build these trees + + + Reuse same DOWN, UP navigation nodes unless this is true + + + The index into the nodes list of the current node (next node + to consume). If -1, nodes array not filled yet. + + + Track the last mark() call result value for use in rewind(). + + + Stack of indexes used for push/pop calls + + + Walk tree with depth-first-search and fill nodes buffer. + Don't do DOWN, UP nodes if its a list (t is isNil). + + + What is the stream index for node? 0..n-1 + Return -1 if node not found. + + + As we flatten the tree, we use UP, DOWN nodes to represent + the tree structure. When debugging we need unique nodes + so instantiate new ones when uniqueNavigationNodes is true. + + + Look backwards k nodes + + + + Make stream jump to a new location, saving old location. + Switch back with pop(). + + + + + Seek back to previous index saved during last push() call. + Return top of stack (return index). + + + + Used for testing, just return the token type stream + + + Debugging + + + A node representing erroneous token range in token stream + + + + A tree node that is wrapper for a Token object. After 3.0 release + while building tree rewrite stuff, it became clear that computing + parent and child index is very difficult and cumbersome. Better to + spend the space in every tree node. If you don't want these extra + fields, it's easy to cut them out in your own BaseTree subclass. + + + + A single token is the payload + + + + What token indexes bracket all tokens associated with this node + and below? + + + + Who is the parent node of this node; if null, implies node is root + + + What index is this node in the child list? Range: 0..n-1 + + + + For every node in this subtree, make sure it's start/stop token's + are set. Walk depth first, visit bottom up. Only updates nodes + with at least one token index < 0. + + + + + A TreeAdaptor that works with any Tree implementation. It provides + really just factory methods; all the work is done by BaseTreeAdaptor. + If you would like to have different tokens created than ClassicToken + objects, you need to override this and then set the parser tree adaptor to + use your subclass. + + + + To get your parser to build nodes of a different type, override + create(Token), errorNode(), and to be safe, YourTreeClass.dupNode(). + dupNode is called to duplicate nodes during rewrite operations. + + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + This is a variant of createToken where the new token is derived from + an actual real input token. Typically this is for converting '{' + tokens to BLOCK etc... You'll see + + r : lc='{' ID+ '}' -> ^(BLOCK[$lc] ID+) ; + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + What is the Token associated with this node? If + you are not using CommonTree, then you must + override this in your own adaptor. + + + + Pull nodes from which tree? + + + If this tree (root) was created from a token stream, track it. + + + What tree adaptor was used to build these trees + + + The tree iterator we are using + + + Stack of indexes used for push/pop calls + + + Tree (nil A B C) trees like flat A B C streams + + + Tracks tree depth. Level=0 means we're at root node level. + + + Tracks the last node before the start of {@link #data} which contains + position information to provide information for error reporting. This is + tracked in addition to {@link #prevElement} which may or may not contain + position information. + + @see #hasPositionInformation + @see RecognitionException#extractInformationFromTreeNodeStream + + + Make stream jump to a new location, saving old location. + Switch back with pop(). + + + Seek back to previous index saved during last push() call. + Return top of stack (return index). + + + Returns an element containing position information. If {@code allowApproximateLocation} is {@code false}, then + this method will return the {@code LT(1)} element if it contains position information, and otherwise return {@code null}. + If {@code allowApproximateLocation} is {@code true}, then this method will return the last known element containing position information. + + @see #hasPositionInformation + + + For debugging; destructive: moves tree iterator to end. + + + A utility class to generate DOT diagrams (graphviz) from + arbitrary trees. You can pass in your own templates and + can pass in any kind of tree or use Tree interface method. + I wanted this separator so that you don't have to include + ST just to use the org.antlr.runtime.tree.* package. + This is a set of non-static methods so you can subclass + to override. For example, here is an invocation: + + CharStream input = new ANTLRInputStream(System.in); + TLexer lex = new TLexer(input); + CommonTokenStream tokens = new CommonTokenStream(lex); + TParser parser = new TParser(tokens); + TParser.e_return r = parser.e(); + Tree t = (Tree)r.tree; + System.out.println(t.toStringTree()); + DOTTreeGenerator gen = new DOTTreeGenerator(); + StringTemplate st = gen.toDOT(t); + System.out.println(st); + + + Track node to number mapping so we can get proper node name back + + + Track node number so we can get unique node names + + + Generate DOT (graphviz) for a whole tree not just a node. + For example, 3+4*5 should generate: + + digraph { + node [shape=plaintext, fixedsize=true, fontsize=11, fontname="Courier", + width=.4, height=.2]; + edge [arrowsize=.7] + "+"->3 + "+"->"*" + "*"->4 + "*"->5 + } + + Takes a Tree interface object. + + + + @author Sam Harwell + + + Returns an element containing concrete information about the current + position in the stream. + + @param allowApproximateLocation if {@code false}, this method returns + {@code null} if an element containing exact information about the current + position is not available + + + Determines if the specified {@code element} contains concrete position + information. + + @param element the element to check + @return {@code true} if {@code element} contains concrete position + information, otherwise {@code false} + + + + What does a tree look like? ANTLR has a number of support classes + such as CommonTreeNodeStream that work on these kinds of trees. You + don't have to make your trees implement this interface, but if you do, + you'll be able to use more support code. + + + + NOTE: When constructing trees, ANTLR can build any kind of tree; it can + even use Token objects as trees if you add a child list to your tokens. + + This is a tree node without any payload; just navigation and factory stuff. + + + + Is there is a node above with token type ttype? + + + Walk upwards and get first ancestor with this token type. + + + + Return a list of all ancestors of this node. The first node of + list is the root and the last is the parent of this node. + + + + This node is what child index? 0..n-1 + + + Set the parent and child index values for all children + + + + Add t as a child to this node. If t is null, do nothing. If t + is nil, add all children of t to this' children. + + + + Set ith child (0..n-1) to t; t must be non-null and non-nil node + + + + Delete children from start to stop and replace with t even if t is + a list (nil-root tree). num of children can increase or decrease. + For huge child lists, inserting children can force walking rest of + children to set their childindex; could be slow. + + + + + Indicates the node is a nil node but may still have children, meaning + the tree is a flat list. + + + + + What is the smallest token index (indexing from 0) for this node + and its children? + + + + + What is the largest token index (indexing from 0) for this node + and its children? + + + + Return a token type; needed for tree parsing + + + In case we don't have a token payload, what is the line for errors? + + + + How to create and navigate trees. Rather than have a separate factory + and adaptor, I've merged them. Makes sense to encapsulate. + + + + This takes the place of the tree construction code generated in the + generated code in 2.x and the ASTFactory. + + I do not need to know the type of a tree at all so they are all + generic Objects. This may increase the amount of typecasting needed. :( + + + + + Create a tree node from Token object; for CommonTree type trees, + then the token just becomes the payload. This is the most + common create call. + + + + Override if you want another kind of node to be built. + + + + + Create a new node derived from a token, with a new token type. + This is invoked from an imaginary node ref on right side of a + rewrite rule as IMAG[$tokenLabel]. + + + + This should invoke createToken(Token). + + + + + Same as create(tokenType,fromToken) except set the text too. + This is invoked from an imaginary node ref on right side of a + rewrite rule as IMAG[$tokenLabel, "IMAG"]. + + + + This should invoke createToken(Token). + + + + + Same as create(fromToken) except set the text too. + This is invoked when the text terminal option is set, as in + IMAG<text='IMAG'>. + + + + This should invoke createToken(Token). + + + + + Create a new node derived from a token, with a new token type. + This is invoked from an imaginary node ref on right side of a + rewrite rule as IMAG["IMAG"]. + + + + This should invoke createToken(int,String). + + + + Duplicate a single tree node. + Override if you want another kind of node to be built. + + + Duplicate tree recursively, using dupNode() for each node + + + + Return a nil node (an empty but non-null node) that can hold + a list of element as the children. If you want a flat tree (a list) + use "t=adaptor.nil(); t.addChild(x); t.addChild(y);" + + + + + Return a tree node representing an error. This node records the + tokens consumed during error recovery. The start token indicates the + input symbol at which the error was detected. The stop token indicates + the last symbol consumed during recovery. + + + + You must specify the input stream so that the erroneous text can + be packaged up in the error node. The exception could be useful + to some applications; default implementation stores ptr to it in + the CommonErrorNode. + + This only makes sense during token parsing, not tree parsing. + Tree parsing should happen only when parsing and tree construction + succeed. + + + + Is tree considered a nil node used to make lists of child nodes? + + + + Add a child to the tree t. If child is a flat tree (a list), make all + in list children of t. Warning: if t has no children, but child does + and child isNil then you can decide it is ok to move children to t via + t.children = child.children; i.e., without copying the array. Just + make sure that this is consistent with have the user will build + ASTs. Do nothing if t or child is null. + + + + + If oldRoot is a nil root, just copy or move the children to newRoot. + If not a nil root, make oldRoot a child of newRoot. + + + + old=^(nil a b c), new=r yields ^(r a b c) + old=^(a b c), new=r yields ^(r ^(a b c)) + + If newRoot is a nil-rooted single child tree, use the single + child as the new root node. + + old=^(nil a b c), new=^(nil r) yields ^(r a b c) + old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) + + If oldRoot was null, it's ok, just return newRoot (even if isNil). + + old=null, new=r yields r + old=null, new=^(nil r) yields ^(nil r) + + Return newRoot. Throw an exception if newRoot is not a + simple node or nil root with a single child node--it must be a root + node. If newRoot is ^(nil x) return x as newRoot. + + Be advised that it's ok for newRoot to point at oldRoot's + children; i.e., you don't have to copy the list. We are + constructing these nodes so we should have this control for + efficiency. + + + + + Given the root of the subtree created for this rule, post process + it to do any simplifications or whatever you want. A required + behavior is to convert ^(nil singleSubtree) to singleSubtree + as the setting of start/stop indexes relies on a single non-nil root + for non-flat trees. + + + + Flat trees such as for lists like "idlist : ID+ ;" are left alone + unless there is only one ID. For a list, the start/stop indexes + are set in the nil node. + + This method is executed after all rule tree construction and right + before setTokenBoundaries(). + + + + For identifying trees. + + + How to identify nodes so we can say "add node to a prior node"? + Even becomeRoot is an issue. Use System.identityHashCode(node) + usually. + + + + + Create a node for newRoot make it the root of oldRoot. + If oldRoot is a nil root, just copy or move the children to newRoot. + If not a nil root, make oldRoot a child of newRoot. + + + + Return node created for newRoot. + + + + Be advised: when debugging ASTs, the DebugTreeAdaptor manually + calls create(Token child) and then plain becomeRoot(node, node) + because it needs to trap calls to create, but it can't since it delegates + to not inherits from the TreeAdaptor. + + + + For tree parsing, I need to know the token type of a node + + + Node constructors can set the type of a node + + + Node constructors can set the text of a node + + + + Return the token object from which this node was created. + Currently used only for printing an error message. + The error display routine in BaseRecognizer needs to + display where the input the error occurred. If your + tree of limitation does not store information that can + lead you to the token, you can create a token filled with + the appropriate information and pass that back. See + BaseRecognizer.getErrorMessage(). + + + + + Where are the bounds in the input token stream for this node and + all children? Each rule that creates AST nodes will call this + method right before returning. Flat trees (i.e., lists) will + still usually have a nil root node just to hold the children list. + That node would contain the start/stop indexes then. + + + + Get the token start index for this subtree; return -1 if no such index + + + Get the token stop index for this subtree; return -1 if no such index + + + Get a child 0..n-1 node + + + Set ith child (0..n-1) to t; t must be non-null and non-nil node + + + Remove ith child and shift children down from right. + + + How many children? If 0, then this is a leaf node + + + + Who is the parent node of this node; if null, implies node is root. + If your node type doesn't handle this, it's ok but the tree rewrites + in tree parsers need this functionality. + + + + + What index is this node in the child list? Range: 0..n-1 + If your node type doesn't handle this, it's ok but the tree rewrites + in tree parsers need this functionality. + + + + + Replace from start to stop child index of parent with t, which might + be a list. Number of children may be different after this call. + + + + If parent is null, don't do anything; must be at root of overall tree. + Can't replace whatever points to the parent externally. Do nothing. + + + + A stream of tree nodes, accessing nodes from a tree of some kind + + + + Get a tree node at an absolute index i; 0..n-1. + If you don't want to buffer up nodes, then this method makes no + sense for you. + + + + + Get tree node at current input pointer + ahead where + ==1 is next node. <0 indicates nodes in the past. So + {@code LT(-1)} is previous node, but implementations are not required to + provide results for < -1. {@code LT(0)} is undefined. For + <=n, return . Return for {@code LT(0)} + and any index that results in an absolute address that is negative. + + + + This is analogous to , but this returns a tree node + instead of a . Makes code generation identical for both + parser and tree grammars. + + + + + Where is this stream pulling nodes from? This is not the name, but + the object that provides node objects. + + + + + If the tree associated with this stream was created from a + {@link TokenStream}, you can specify it here. Used to do rule + {@code $text} attribute in tree parser. Optional unless you use tree + parser rule {@code $text} attribute or {@code output=template} and + {@code rewrite=true} options. + + + + + What adaptor can tell me how to interpret/navigate nodes and + trees. E.g., get text of a node. + + + + + As we flatten the tree, we use {@link Token#UP}, {@link Token#DOWN} nodes + to represent the tree structure. When debugging we need unique nodes so + we have to instantiate new ones. When doing normal tree parsing, it's + slow and a waste of memory to create unique navigation nodes. Default + should be {@code false}. + + + + + Return the text of all nodes from {@code start} to {@code stop}, + inclusive. If the stream does not buffer all the nodes then it can still + walk recursively from start until stop. You can always return + {@code null} or {@code ""} too, but users should not access + {@code $ruleLabel.text} in an action of course in that case. + + + + + Replace children of {@code parent} from index {@code startChildIndex} to + {@code stopChildIndex} with {@code t}, which might be a list. Number of + children may be different after this call. The stream is notified because + it is walking the tree and might need to know you are monkeying with the + underlying tree. Also, it might be able to modify the node stream to + avoid restreaming for future phases. + + + + If {@code parent} is {@code null}, don't do anything; must be at root of + overall tree. Can't replace whatever points to the parent externally. Do + nothing. + + + + + How to execute code for node t when a visitor visits node t. Execute + pre() before visiting children and execute post() after visiting children. + + + + + Execute an action before visiting children of t. Return t or + a rewritten t. It is up to the visitor to decide what to do + with the return value. Children of returned value will be + visited if using TreeVisitor.visit(). + + + + + Execute an action after visiting children of t. Return t or + a rewritten t. It is up to the visitor to decide what to do + with the return value. + + + + + A record of the rules used to match a token sequence. The tokens + end up as the leaves of this tree and rule nodes are the interior nodes. + This really adds no functionality, it is just an alias for CommonTree + that is more meaningful (specific) and holds a String to display for a node. + + + + + Emit a token and all hidden nodes before. EOF node holds all + hidden tokens after last real token. + + + + + Print out the leaves of this tree, which means printing original + input back out. + + + + + Base class for all exceptions thrown during AST rewrite construction. + This signifies a case where the cardinality of two or more elements + in a subrule are different: (ID INT)+ where |ID|!=|INT| + + + + No elements within a (...)+ in a rewrite rule + + + Ref to ID or expr but no tokens in ID stream or subtrees in expr stream + + + + A generic list of elements tracked in an alternative to be used in + a -> rewrite rule. We need to subclass to fill in the next() method, + which returns either an AST node wrapped around a token payload or + an existing subtree. + + + + Once you start next()ing, do not try to add more elements. It will + break the cursor tracking I believe. + + TODO: add mechanism to detect/puke on modification after reading from stream + + + + + + + + Cursor 0..n-1. If singleElement!=null, cursor is 0 until you next(), + which bumps it to 1 meaning no more elements. + + + + Track single elements w/o creating a list. Upon 2nd add, alloc list + + + The list of tokens or subtrees we are tracking + + + Once a node / subtree has been used in a stream, it must be dup'd + from then on. Streams are reset after subrules so that the streams + can be reused in future subrules. So, reset must set a dirty bit. + If dirty, then next() always returns a dup. + + + The element or stream description; usually has name of the token or + rule reference that this list tracks. Can include rulename too, but + the exception would track that info. + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + + Reset the condition of this stream so that it appears we have + not consumed any of its elements. Elements themselves are untouched. + Once we reset the stream, any future use will need duplicates. Set + the dirty bit. + + + + + Return the next element in the stream. If out of elements, throw + an exception unless size()==1. If size is 1, then return elements[0]. + Return a duplicate node/subtree if stream is out of elements and + size==1. If we've already used the element, dup (dirty bit set). + + + + + Do the work of getting the next element, making sure that it's + a tree node or subtree. Deal with the optimization of single- + element list versus list of size > 1. Throw an exception + if the stream is empty or we're out of elements and size>1. + protected so you can override in a subclass if necessary. + + + + + When constructing trees, sometimes we need to dup a token or AST + subtree. Dup'ing a token means just creating another AST node + around it. For trees, you must call the adaptor.dupTree() unless + the element is for a tree root; then it must be a node dup. + + + + + Ensure stream emits trees; tokens must be converted to AST nodes. + AST nodes can be passed through unmolested. + + + + + Queues up nodes matched on left side of -> in a tree parser. This is + the analog of RewriteRuleTokenStream for normal parsers. + + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + + Treat next element as a single node even if it's a subtree. + This is used instead of next() when the result has to be a + tree root node. Also prevents us from duplicating recently-added + children; e.g., ^(type ID)+ adds ID to type and then 2nd iteration + must dup the type node, but ID has been added. + + + + Referencing a rule result twice is ok; dup entire tree as + we can't be adding trees as root; e.g., expr expr. + + Hideous code duplication here with super.next(). Can't think of + a proper way to refactor. This needs to always call dup node + and super.next() doesn't know which to call: dup node or dup tree. + + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + Get next token from stream and make a node for it + + + + Don't convert to a tree unless they explicitly call nextTree. + This way we can do hetero tree nodes in rewrite. + + + + Return a node stream from a doubly-linked tree whose nodes + know what child index they are. No remove() is supported. + + Emit navigation nodes (DOWN, UP, and EOF) to let show tree structure. + + + If we emit UP/DOWN nodes, we need to spit out multiple nodes per + next() call. + + + + A parser for a stream of tree nodes. "tree grammars" result in a subclass + of this. All the error reporting and recovery is shared with Parser via + the BaseRecognizer superclass. + + + + Set the input stream + + + + Match '.' in tree parser has special meaning. Skip node or + entire tree if node has children. If children, scan until + corresponding UP node. + + + + + We have DOWN/UP nodes in the stream that have no line info; override. + plus we want to alter the exception type. Don't try to recover + from tree parser errors inline... + + + + + Prefix error message with the grammar name because message is + always intended for the programmer because the parser built + the input tree not the user. + + + + + Tree parsers parse nodes they usually have a token object as + payload. Set the exception token and do the default behavior. + + + + The tree pattern to lex like "(A B C)" + + + Index into input string + + + Current char + + + How long is the pattern in char? + + + Set when token type is ID or ARG (name mimics Java's StreamTokenizer) + + + Override this if you need transformation tracing to go somewhere + other than stdout or if you're not using ITree-derived trees. + + + + This is identical to the ParserRuleReturnScope except that + the start property is a tree nodes not Token object + when you are parsing trees. + + + + Gets the first node or root node of tree matched for this rule. + + + Do a depth first walk of a tree, applying pre() and post() actions as we go. + + + + Visit every node in tree t and trigger an action for each node + before/after having visited all of its children. Bottom up walk. + Execute both actions even if t has no children. Ignore return + results from transforming children since they will have altered + the child list of this node (their parent). Return result of + applying post action to this node. + + + + + Build and navigate trees with this object. Must know about the names + of tokens so you have to pass in a map or array of token names (from which + this class can build the map). I.e., Token DECL means nothing unless the + class can translate it to a token type. + + + + In order to create nodes and navigate, this class needs a TreeAdaptor. + + This class can build a token type -> node index for repeated use or for + iterating over the various nodes with a particular type. + + This class works in conjunction with the TreeAdaptor rather than moving + all this functionality into the adaptor. An adaptor helps build and + navigate trees using methods. This class helps you do it with string + patterns like "(A B C)". You can create a tree from that pattern or + match subtrees against it. + + + + + When using %label:TOKENNAME in a tree for parse(), we must + track the label. + + + + This adaptor creates TreePattern objects for use during scan() + + + + Compute a Map<String, Integer> that is an inverted index of + tokenNames (which maps int token types to names). + + + + Using the map of token names to token types, return the type. + + + + Walk the entire tree and make a node name to nodes mapping. + For now, use recursion but later nonrecursive version may be + more efficient. Returns Map<Integer, List> where the List is + of your AST node type. The Integer is the token type of the node. + + + + TODO: save this index so that find and visit are faster + + + + Do the work for index + + + Return a List of tree nodes with token type ttype + + + Return a List of subtrees matching pattern. + + + + Visit every ttype node in t, invoking the visitor. This is a quicker + version of the general visit(t, pattern) method. The labels arg + of the visitor action method is never set (it's null) since using + a token type rather than a pattern doesn't let us set a label. + + + + Do the recursive work for visit + + + + For all subtrees that match the pattern, execute the visit action. + The implementation uses the root node of the pattern in combination + with visit(t, ttype, visitor) so nil-rooted patterns are not allowed. + Patterns with wildcard roots are also not allowed. + + + + + Given a pattern like (ASSIGN %lhs:ID %rhs:.) with optional labels + on the various nodes and '.' (dot) as the node/subtree wildcard, + return true if the pattern matches and fill the labels Map with + the labels pointing at the appropriate nodes. Return false if + the pattern is malformed or the tree does not match. + + + + If a node specifies a text arg in pattern, then that must match + for that node in t. + + TODO: what's a better way to indicate bad pattern? Exceptions are a hassle + + + + + Do the work for parse. Check to see if the t2 pattern fits the + structure and token types in t1. Check text if the pattern has + text arguments on nodes. Fill labels map with pointers to nodes + in tree matched against nodes in pattern with labels. + + + + + Create a tree or node from the indicated tree pattern that closely + follows ANTLR tree grammar tree element syntax: + + (root child1 ... child2). + + + + You can also just pass in a node: ID + + Any node can have a text argument: ID[foo] + (notice there are no quotes around foo--it's clear it's a string). + + nil is a special name meaning "give me a nil node". Useful for + making lists: (nil A B C) is a list of A B C. + + + + + Compare t1 and t2; return true if token types/text, structure match exactly. + The trees are examined in their entirety so that (A B) does not match + (A B C) nor (A (B C)). + + + + TODO: allow them to pass in a comparator + TODO: have a version that is nonstatic so it can use instance adaptor + + I cannot rely on the tree node's equals() implementation as I make + no constraints at all on the node types nor interface etc... + + + + + Compare type, structure, and text of two trees, assuming adaptor in + this instance of a TreeWizard. + + + + A token stream that pulls tokens from the code source on-demand and + without tracking a complete buffer of the tokens. This stream buffers + the minimum number of tokens possible. It's the same as + OnDemandTokenStream except that OnDemandTokenStream buffers all tokens. + + You can't use this stream if you pass whitespace or other off-channel + tokens to the parser. The stream can't ignore off-channel tokens. + + You can only look backwards 1 token: LT(-1). + + Use this when you need to read from a socket or other infinite stream. + + @see BufferedTokenStream + @see CommonTokenStream + + + Skip tokens on any channel but this one; this is how we skip whitespace... + + + An extra token while parsing a TokenStream + + + diff --git a/packages/Antlr3.Runtime.3.5.1/lib/net40-client/Antlr3.Runtime.dll b/packages/Antlr3.Runtime.3.5.1/lib/net40-client/Antlr3.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..55c8fbd6a081e9560e49b0f46a8da28a7966f81e GIT binary patch literal 100864 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

!0D&t>PP9TAS2qd01=H?p=I+n<)6gV8r? z->{=L$w>9rA6tTLiydVo{W!v9~gj>x~FnHG{bs#@RVU8cRl33X+wK{2QJX7X~9R(|Acvf1D z&BZkTYNm%<8t$ckcTQOi&(ChF^ZxA1^ZmJLdtiT~Z)4dC>>&1I2W-!WtwFxWjCZmT z=H%zKKbt;j4*olHKU~YdJ7>f5%Z^1@XZEL8`5LuK;{3s=^W_vG%rE@JbDJNC1;~h> zOzNL7Sl`U@^I_j-4*OK$@PAUyf0EbE6k9?*?5K}q{R(q#mD8B;Nu3Sn)9`Jw><50Xq6B9BV~Kl+AiDM;d4};k($0|q;d+X#S8l6*uTpuD5;UNR;N!nr&ZvrR^2am za2UqwFg(w(d@Gxk>LT&J?CHAoUi$kjmLI-DVed+WIXq>xr?37QZ1`>k$Jf_~@R}R0 ztN)z~dynHC(Ox@u!go4snc>pHwb(FMKzxNz{E+ZENI%(MH<{AN8(ndSPIk3t%0ABe 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 + + + Antlr3.Runtime + + + +

+ This is a char buffer stream that is loaded from a file + all at once when you construct the object. This looks very + much like an ANTLReader or ANTLRInputStream, but it's a special case + since we know the exact size of the object to load. We can avoid lots + of data copying. + + + + + A kind of ReaderStream that pulls from an InputStream. + Useful for reading from stdin and specifying file encodings etc... + + + + + Vacuum all input from a Reader and then treat it like a StringStream. + Manage the buffer manually to avoid unnecessary data copying. + + + + If you need encoding, use ANTLRInputStream. + + + + + A pretty quick CharStream that pulls all data from an array + directly. Every method call counts in the lexer. Java's + strings aren't very good so I'm avoiding. + + + + The data being scanned + + + How many characters are actually in the buffer + + + 0..n-1 index into string of next char + + + line number 1..n within the input + + + The index of the character relative to the beginning of the line 0..n-1 + + + tracks how deep mark() calls are nested + + + + A list of CharStreamState objects that tracks the stream state + values line, charPositionInLine, and p that can change as you + move through the input stream. Indexed from 1..markDepth. + A null is kept @ index 0. Create upon first call to mark(). + + + + Track the last mark() call result value for use in rewind(). + + + What is name or source of this char stream? + + + Copy data in string to a local char array + + + This is the preferred constructor as no data is copied + + + + Return the current input symbol index 0..n where n indicates the + last symbol has been read. The index is the index of char to + be returned from LA(1). + + + + + Reset the stream so that it's in the same state it was + when the object was created *except* the data array is not + touched. + + + + + consume() ahead until p==index; can't just set p=index as we must + update line and charPositionInLine. + + + + + A generic recognizer that can handle recognizers generated from + lexer, parser, and tree grammars. This is all the parsing + support code essentially; most of it is error recovery stuff and + backtracking. + + + + + State of a lexer, parser, or tree parser are collected into a state + object so the state can be shared. This sharing is needed to + have one grammar import others and share same error variables + and other state variables. It's a kind of explicit multiple + inheritance via delegation of methods and shared state. + + + + reset the parser's state; subclasses must rewinds the input stream + + + + Match current input symbol against ttype. Attempt + single token insertion or deletion error recovery. If + that fails, throw MismatchedTokenException. + + + + To turn off single token insertion or deletion error + recovery, override recoverFromMismatchedToken() and have it + throw an exception. See TreeParser.recoverFromMismatchedToken(). + This way any error in a rule will cause an exception and + immediate exit from rule. Rule would recover by resynchronizing + to the set of symbols that can follow rule ref. + + + + Match the wildcard: in a symbol + + + Report a recognition problem. + + + This method sets errorRecovery to indicate the parser is recovering + not parsing. Once in recovery mode, no errors are generated. + To get out of recovery mode, the parser must successfully match + a token (after a resync). So it will go: + + 1. error occurs + 2. enter recovery mode, report error + 3. consume until token found in resynch set + 4. try to resume parsing + 5. next match() will reset errorRecovery mode + + If you override, make sure to update syntaxErrors if you care about that. + + + + What error message should be generated for the various exception types? + + + Not very object-oriented code, but I like having all error message + generation within one method rather than spread among all of the + exception classes. This also makes it much easier for the exception + handling because the exception classes do not have to have pointers back + to this object to access utility routines and so on. Also, changing + the message for an exception type would be difficult because you + would have to subclassing exception, but then somehow get ANTLR + to make those kinds of exception objects instead of the default. + This looks weird, but trust me--it makes the most sense in terms + of flexibility. + + For grammar debugging, you will want to override this to add + more information such as the stack frame with + getRuleInvocationStack(e, this.getClass().getName()) and, + for no viable alts, the decision description and state etc... + + Override this to change the message generated for one or more + exception types. + + + + + Get number of recognition errors (lexer, parser, tree parser). Each + recognizer tracks its own number. So parser and lexer each have + separate count. Does not count the spurious errors found between + an error and next valid token match + + + + + + What is the error header, normally line/character position information? + + + + How should a token be displayed in an error message? The default + is to display just the text, but during development you might + want to have a lot of information spit out. Override in that case + to use t.ToString() (which, for CommonToken, dumps everything about + the token). This is better than forcing you to override a method in + your token objects because you don't have to go modify your lexer + so that it creates a new Java type. + + + + Override this method to change where error messages go + + + + Recover from an error found on the input stream. This is + for NoViableAlt and mismatched symbol exceptions. If you enable + single token insertion and deletion, this will usually not + handle mismatched symbol exceptions but there could be a mismatched + token that the match() routine could not recover from. + + + + + A hook to listen in on the token consumption during error recovery. + The DebugParser subclasses this to fire events to the listenter. + + + + + Compute the context-sensitive FOLLOW set for current rule. + This is set of token types that can follow a specific rule + reference given a specific call chain. You get the set of + viable tokens that can possibly come next (lookahead depth 1) + given the current call chain. Contrast this with the + definition of plain FOLLOW for rule r: + + + FOLLOW(r)={x | S=>*alpha r beta in G and x in FIRST(beta)} + + where x in T* and alpha, beta in V*; T is set of terminals and + V is the set of terminals and nonterminals. In other words, + FOLLOW(r) is the set of all tokens that can possibly follow + references to r in *any* sentential form (context). At + runtime, however, we know precisely which context applies as + we have the call chain. We may compute the exact (rather + than covering superset) set of following tokens. + + For example, consider grammar: + + stat : ID '=' expr ';' // FOLLOW(stat)=={EOF} + | "return" expr '.' + ; + expr : atom ('+' atom)* ; // FOLLOW(expr)=={';','.',')'} + atom : INT // FOLLOW(atom)=={'+',')',';','.'} + | '(' expr ')' + ; + + The FOLLOW sets are all inclusive whereas context-sensitive + FOLLOW sets are precisely what could follow a rule reference. + For input input "i=(3);", here is the derivation: + + stat => ID '=' expr ';' + => ID '=' atom ('+' atom)* ';' + => ID '=' '(' expr ')' ('+' atom)* ';' + => ID '=' '(' atom ')' ('+' atom)* ';' + => ID '=' '(' INT ')' ('+' atom)* ';' + => ID '=' '(' INT ')' ';' + + At the "3" token, you'd have a call chain of + + stat -> expr -> atom -> expr -> atom + + What can follow that specific nested ref to atom? Exactly ')' + as you can see by looking at the derivation of this specific + input. Contrast this with the FOLLOW(atom)={'+',')',';','.'}. + + You want the exact viable token set when recovering from a + token mismatch. Upon token mismatch, if LA(1) is member of + the viable next token set, then you know there is most likely + a missing token in the input stream. "Insert" one by just not + throwing an exception. + + + Attempt to recover from a single missing or extra token. + + EXTRA TOKEN + + LA(1) is not what we are looking for. If LA(2) has the right token, + however, then assume LA(1) is some extra spurious token. Delete it + and LA(2) as if we were doing a normal match(), which advances the + input. + + MISSING TOKEN + + If current token is consistent with what could come after + ttype then it is ok to "insert" the missing token, else throw + exception For example, Input "i=(3;" is clearly missing the + ')'. When the parser returns from the nested call to expr, it + will have call chain: + + stat -> expr -> atom + + and it will be trying to match the ')' at this point in the + derivation: + + => ID '=' '(' INT ')' ('+' atom)* ';' + ^ + match() will see that ';' doesn't match ')' and report a + mismatched token error. To recover, it sees that LA(1)==';' + is in the set of tokens that can follow the ')' token + reference in rule atom. It can assume that you forgot the ')'. + + + Not currently used + + + + Match needs to return the current input symbol, which gets put + into the label for the associated token ref; e.g., x=ID. Token + and tree parsers need to return different objects. Rather than test + for input stream type or change the IntStream interface, I use + a simple method to ask the recognizer to tell me what the current + input symbol is. + + + This is ignored for lexers. + + + Conjure up a missing token during error recovery. + + + The recognizer attempts to recover from single missing + symbols. But, actions might refer to that missing symbol. + For example, x=ID {f($x);}. The action clearly assumes + that there has been an identifier matched previously and that + $x points at that token. If that token is missing, but + the next token in the stream is what we want we assume that + this token is missing and we keep going. Because we + have to return some token to replace the missing token, + we have to conjure one up. This method gives the user control + over the tokens returned for missing tokens. Mostly, + you will want to create something special for identifier + tokens. For literals such as '{' and ',', the default + action in the parser or tree parser works. It simply creates + a CommonToken of the appropriate type. The text will be the token. + If you change what tokens must be created by the lexer, + override this method to create the appropriate tokens. + + + + Consume tokens until one matches the given token set + + + Push a rule's follow set using our own hardcoded stack + + + + Return of the rules in your parser instance + leading up to a call to this method. You could override if + you want more details such as the file/line info of where + in the parser java code a rule is invoked. + + + + This is very useful for error messages and for context-sensitive + error recovery. + + + + + A more general version of GetRuleInvocationStack where you can + pass in the StackTrace of, for example, a RecognitionException + to get it's rule stack trace. + + + + Return whether or not a backtracking attempt failed. + + + + Used to print out token names like ID during debugging and + error reporting. The generated parsers implement a method + that overrides this to point to their String[] tokenNames. + + + + + For debugging and other purposes, might want the grammar name. + Have ANTLR generate an implementation for this method. + + + + + A convenience method for use most often with template rewrites. + Convert a list of to a list of . + + + + + Given a rule number and a start token index number, return + MEMO_RULE_UNKNOWN if the rule has not parsed input starting from + start index. If this rule has parsed input starting from the + start index before, then return where the rule stopped parsing. + It returns the index of the last token matched by the rule. + + + + For now we use a hashtable and just the slow Object-based one. + Later, we can make a special one for ints and also one that + tosses out data after we commit past input position i. + + + + + Has this rule already parsed input at the current index in the + input stream? Return the stop token index or MEMO_RULE_UNKNOWN. + If we attempted but failed to parse properly before, return + MEMO_RULE_FAILED. + + + + This method has a side-effect: if we have seen this input for + this rule and successfully parsed before, then seek ahead to + 1 past the stop token matched for this rule last time. + + + + + Record whether or not this rule parsed the input at this position + successfully. Use a standard java hashtable for now. + + + + return how many rule/input-index pairs there are in total. + TODO: this includes synpreds. :( + + + + A stripped-down version of org.antlr.misc.BitSet that is just + good enough to handle runtime requirements such as FOLLOW sets + for automatic error recovery. + + + + + We will often need to do a mod operator (i mod nbits). Its + turns out that, for powers of two, this mod operation is + same as (i & (nbits-1)). Since mod is slow, we use a + precomputed mod mask to do the mod instead. + + + + The actual data bits + + + Construct a bitset of size one word (64 bits) + + + Construction from a static array of longs + + + Construction from a list of integers + + + Construct a bitset given the size + The size of the bitset in bits + + + return this | a in a new set + + + or this element into this set (grow as necessary to accommodate) + + + Grows the set to a larger number of bits. + element that must fit in set + + + Sets the size of a set. + how many words the new set should be + + + return how much space is being used by the bits array not how many actually have member bits on. + + + Is this contained within a? + + + Buffer all input tokens but do on-demand fetching of new tokens from + lexer. Useful when the parser or lexer has to set context/mode info before + proper lexing of future tokens. The ST template parser needs this, + for example, because it has to constantly flip back and forth between + inside/output templates. E.g., <names:{hi, <it>}> has to parse names + as part of an expression but "hi, <it>" as a nested template. + + You can't use this stream if you pass whitespace or other off-channel + tokens to the parser. The stream can't ignore off-channel tokens. + (UnbufferedTokenStream is the same way.) + + This is not a subclass of UnbufferedTokenStream because I don't want + to confuse small moving window of tokens it uses for the full buffer. + + + Record every single token pulled from the source so we can reproduce + chunks of it later. The buffer in LookaheadStream overlaps sometimes + as its moving window moves through the input. This list captures + everything so we can access complete input text. + + + Track the last mark() call result value for use in rewind(). + + + The index into the tokens list of the current token (next token + to consume). tokens[p] should be LT(1). p=-1 indicates need + to initialize with first token. The ctor doesn't get a token. + First call to LT(1) or whatever gets the first token and sets p=0; + + + + How deep have we gone? + + + + Move the input pointer to the next incoming token. The stream + must become active with LT(1) available. consume() simply + moves the input pointer so that LT(1) points at the next + input symbol. Consume at least one token. + + Walk past any token not on the channel the parser is listening to. + + + Make sure index i in tokens has a token. + + + add n elements to buffer + + + Given a start and stop index, return a List of all tokens in + the token type BitSet. Return null if no tokens were found. This + method looks at both on and off channel tokens. + + + + When walking ahead with cyclic DFA or for syntactic predicates, + we need to record the state of the input stream (char index, + line, etc...) so that we can rewind the state after scanning ahead. + + + This is the complete state of a stream. + + + Index into the char stream of next lookahead char + + + What line number is the scanner at before processing buffer[p]? + + + What char position 0..n-1 in line is scanner before processing buffer[p]? + + + + A Token object like we'd use in ANTLR 2.x; has an actual string created + and associated with this object. These objects are needed for imaginary + tree nodes that have payload objects. We need to create a Token object + that has a string; the tree node will point at this token. CommonToken + has indexes into a char stream and hence cannot be used to introduce + new strings. + + + + What token number is this from 0..n-1 tokens + + + + We need to be able to change the text once in a while. If + this is non-null, then getText should return this. Note that + start/stop are not affected by changing this. + + + + What token number is this from 0..n-1 tokens; < 0 implies invalid index + + + The char position into the input buffer where this token starts + + + The char position into the input buffer where this token stops + + + + The most common stream of tokens is one where every token is buffered up + and tokens are prefiltered for a certain channel (the parser will only + see these tokens and cannot change the filter channel number during the + parse). + + + TODO: how to access the full token stream? How to track all tokens matched per rule? + + + Skip tokens on any channel but this one; this is how we skip whitespace... + + + Reset this token stream by setting its token source. + + + Always leave p on an on-channel token. + + + Given a starting index, return the index of the first on-channel + token. + + + All debugging events that a recognizer can trigger. + + + I did not create a separate AST debugging interface as it would create + lots of extra classes and DebugParser has a dbg var defined, which makes + it hard to change to ASTDebugEventListener. I looked hard at this issue + and it is easier to understand as one monolithic event interface for all + possible events. Hopefully, adding ST debugging stuff won't be bad. Leave + for future. 4/26/2006. + + + + + The parser has just entered a rule. No decision has been made about + which alt is predicted. This is fired AFTER init actions have been + executed. Attributes are defined and available etc... + The grammarFileName allows composite grammars to jump around among + multiple grammar files. + + + + + Because rules can have lots of alternatives, it is very useful to + know which alt you are entering. This is 1..n for n alts. + + + + + This is the last thing executed before leaving a rule. It is + executed even if an exception is thrown. This is triggered after + error reporting and recovery have occurred (unless the exception is + not caught in this rule). This implies an "exitAlt" event. + The grammarFileName allows composite grammars to jump around among + multiple grammar files. + + + + Track entry into any (...) subrule other EBNF construct + + + + Every decision, fixed k or arbitrary, has an enter/exit event + so that a GUI can easily track what LT/consume events are + associated with prediction. You will see a single enter/exit + subrule but multiple enter/exit decision events, one for each + loop iteration. + + + + + An input token was consumed; matched by any kind of element. + Trigger after the token was matched by things like match(), matchAny(). + + + + + An off-channel input token was consumed. + Trigger after the token was matched by things like match(), matchAny(). + (unless of course the hidden token is first stuff in the input stream). + + + + + Somebody (anybody) looked ahead. Note that this actually gets + triggered by both LA and LT calls. The debugger will want to know + which Token object was examined. Like consumeToken, this indicates + what token was seen at that depth. A remote debugger cannot look + ahead into a file it doesn't have so LT events must pass the token + even if the info is redundant. + + + + + The parser is going to look arbitrarily ahead; mark this location, + the token stream's marker is sent in case you need it. + + + + + After an arbitrairly long lookahead as with a cyclic DFA (or with + any backtrack), this informs the debugger that stream should be + rewound to the position associated with marker. + + + + + Rewind to the input position of the last marker. + Used currently only after a cyclic DFA and just + before starting a sem/syn predicate to get the + input position back to the start of the decision. + Do not "pop" the marker off the state. mark(i) + and rewind(i) should balance still. + + + + + To watch a parser move through the grammar, the parser needs to + inform the debugger what line/charPos it is passing in the grammar. + For now, this does not know how to switch from one grammar to the + other and back for island grammars etc... + + + + This should also allow breakpoints because the debugger can stop + the parser whenever it hits this line/pos. + + + + + A recognition exception occurred such as NoViableAltException. I made + this a generic event so that I can alter the exception hierachy later + without having to alter all the debug objects. + + + + Upon error, the stack of enter rule/subrule must be properly unwound. + If no viable alt occurs it is within an enter/exit decision, which + also must be rewound. Even the rewind for each mark must be unwount. + In the Java target this is pretty easy using try/finally, if a bit + ugly in the generated code. The rewind is generated in DFA.predict() + actually so no code needs to be generated for that. For languages + w/o this "finally" feature (C++?), the target implementor will have + to build an event stack or something. + + Across a socket for remote debugging, only the RecognitionException + data fields are transmitted. The token object or whatever that + caused the problem was the last object referenced by LT. The + immediately preceding LT event should hold the unexpected Token or + char. + + Here is a sample event trace for grammar: + + b : C ({;}A|B) // {;} is there to prevent A|B becoming a set + | D + ; + + The sequence for this rule (with no viable alt in the subrule) for + input 'c c' (there are 3 tokens) is: + + commence + LT(1) + enterRule b + location 7 1 + enter decision 3 + LT(1) + exit decision 3 + enterAlt1 + location 7 5 + LT(1) + consumeToken [c/<4>,1:0] + location 7 7 + enterSubRule 2 + enter decision 2 + LT(1) + LT(1) + recognitionException NoViableAltException 2 1 2 + exit decision 2 + exitSubRule 2 + beginResync + LT(1) + consumeToken [c/<4>,1:1] + LT(1) + endResync + LT(-1) + exitRule b + terminate + + + + + Indicates the recognizer is about to consume tokens to resynchronize + the parser. Any consume events from here until the recovered event + are not part of the parse--they are dead tokens. + + + + + Indicates that the recognizer has finished consuming tokens in order + to resychronize. There may be multiple beginResync/endResync pairs + before the recognizer comes out of errorRecovery mode (in which + multiple errors are suppressed). This will be useful + in a gui where you want to probably grey out tokens that are consumed + but not matched to anything in grammar. Anything between + a beginResync/endResync pair was tossed out by the parser. + + + + A semantic predicate was evaluate with this result and action text + + + + Announce that parsing has begun. Not technically useful except for + sending events over a socket. A GUI for example will launch a thread + to connect and communicate with a remote parser. The thread will want + to notify the GUI when a connection is made. ANTLR parsers + trigger this upon entry to the first rule (the ruleLevel is used to + figure this out). + + + + + Parsing is over; successfully or not. Mostly useful for telling + remote debugging listeners that it's time to quit. When the rule + invocation level goes to zero at the end of a rule, we are done + parsing. + + + + + Input for a tree parser is an AST, but we know nothing for sure + about a node except its type and text (obtained from the adaptor). + This is the analog of the consumeToken method. Again, the ID is + the hashCode usually of the node so it only works if hashCode is + not implemented. If the type is UP or DOWN, then + the ID is not really meaningful as it's fixed--there is + just one UP node and one DOWN navigation node. + + + + + + + The tree parser lookedahead. If the type is UP or DOWN, + then the ID is not really meaningful as it's fixed--there is + just one UP node and one DOWN navigation node. + + + + + A nil was created (even nil nodes have a unique ID... + they are not "null" per se). As of 4/28/2006, this + seems to be uniquely triggered when starting a new subtree + such as when entering a subrule in automatic mode and when + building a tree in rewrite mode. + + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only t.ID is set. + + + + + Upon syntax error, recognizers bracket the error with an error node + if they are building ASTs. + + + + + + Announce a new node built from token elements such as type etc... + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only t.ID, type, text are + set. + + + + Announce a new node built from an existing token. + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only node.ID and token.tokenIndex + are set. + + + + Make a node the new root of an existing root. See + + + Note: the newRootID parameter is possibly different + than the TreeAdaptor.becomeRoot() newRoot parameter. + In our case, it will always be the result of calling + TreeAdaptor.becomeRoot() and not root_n or whatever. + + The listener should assume that this event occurs + only when the current subrule (or rule) subtree is + being reset to newRootID. + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only IDs are set. + + + + + + Make childID a child of rootID. + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only IDs are set. + + + + + + Set the token start/stop token index for a subtree root or node. + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only t.ID is set. + + + + A DFA implemented as a set of transition tables. + + + Any state that has a semantic predicate edge is special; those states + are generated with if-then-else structures in a specialStateTransition() + which is generated by cyclicDFA template. + + There are at most 32767 states (16-bit signed short). + Could get away with byte sometimes but would have to generate different + types and the simulation code too. For a point of reference, the Java + lexer's Tokens rule DFA has 326 states roughly. + + + + Which recognizer encloses this DFA? Needed to check backtracking + + + + From the input stream, predict what alternative will succeed + using this DFA (representing the covering regular approximation + to the underlying CFL). Return an alternative number 1..n. Throw + an exception upon error. + + + + A hook for debugging interface + + + + Given a String that has a run-length-encoding of some unsigned shorts + like "\1\2\3\9", convert to short[] {2,9,9,9}. We do this to avoid + static short[] which generates so much init code that the class won't + compile. :( + + + + Hideous duplication of code, but I need different typed arrays out :( + + + The recognizer did not match anything for a (..)+ loop. + + + + A semantic predicate failed during validation. Validation of predicates + occurs when normally parsing the alternative just like matching a token. + Disambiguating predicate evaluation occurs when we hoist a predicate into + a prediction decision. + + + + AST rules have trees + + + Has a value potentially if output=AST; + + + AST rules have trees + + + Has a value potentially if output=AST; + + + A source of characters for an ANTLR lexer + + + + For infinite streams, you don't need this; primarily I'm providing + a useful interface for action code. Just make sure actions don't + use this on streams that don't support it. + + + + + Get the ith character of lookahead. This is the same usually as + LA(i). This will be used for labels in the generated + lexer code. I'd prefer to return a char here type-wise, but it's + probably better to be 32-bit clean and be consistent with LA. + + + + ANTLR tracks the line information automatically + Because this stream can rewind, we need to be able to reset the line + + + The index of the character relative to the beginning of the line 0..n-1 + + + + A simple stream of integers used when all I care about is the char + or token type sequence (such as interpretation). + + + + + Get int at current input pointer + i ahead where i=1 is next int. + Negative indexes are allowed. LA(-1) is previous token (token + just matched). LA(-i) where i is before first token should + yield -1, invalid char / EOF. + + + + + Tell the stream to start buffering if it hasn't already. Return + current input position, Index, or some other marker so that + when passed to rewind() you get back to the same spot. + rewind(mark()) should not affect the input cursor. The Lexer + track line/col info as well as input index so its markers are + not pure input indexes. Same for tree node streams. + + + + + Return the current input symbol index 0..n where n indicates the + last symbol has been read. The index is the symbol about to be + read not the most recently read symbol. + + + + + Reset the stream so that next call to index would return marker. + The marker will usually be Index but it doesn't have to be. It's + just a marker to indicate what state the stream was in. This is + essentially calling release() and seek(). If there are markers + created after this marker argument, this routine must unroll them + like a stack. Assume the state the stream was in when this marker + was created. + + + + + Rewind to the input position of the last marker. + Used currently only after a cyclic DFA and just + before starting a sem/syn predicate to get the + input position back to the start of the decision. + Do not "pop" the marker off the state. mark(i) + and rewind(i) should balance still. It is + like invoking rewind(last marker) but it should not "pop" + the marker off. It's like seek(last marker's input position). + + + + + You may want to commit to a backtrack but don't want to force the + stream to keep bookkeeping objects around for a marker that is + no longer necessary. This will have the same behavior as + rewind() except it releases resources without the backward seek. + This must throw away resources for all markers back to the marker + argument. So if you're nested 5 levels of mark(), and then release(2) + you have to release resources for depths 2..5. + + + + + Set the input cursor to the position indicated by index. This is + normally used to seek ahead in the input stream. No buffering is + required to do this unless you know your stream will use seek to + move backwards such as when backtracking. + + + + This is different from rewind in its multi-directional + requirement and in that its argument is strictly an input cursor (index). + + For char streams, seeking forward must update the stream state such + as line number. For seeking backwards, you will be presumably + backtracking using the mark/rewind mechanism that restores state and + so this method does not need to update state when seeking backwards. + + Currently, this method is only used for efficient backtracking using + memoization, but in the future it may be used for incremental parsing. + + The index is 0..n-1. A seek to position i means that LA(1) will + return the ith symbol. So, seeking to 0 means LA(1) will return the + first element in the stream. + + + + + Only makes sense for streams that buffer everything up probably, but + might be useful to display the entire stream or for testing. This + value includes a single EOF. + + + + + Where are you getting symbols from? Normally, implementations will + pass the buck all the way to the lexer who can ask its input stream + for the file name or whatever. + + + + + Rules can have start/stop info. + + + + + Gets the start element from the input stream + + + + + Gets the stop element from the input stream + + + + + Rules can have start/stop info. + + The element type of the input stream. + + + + Gets the start element from the input stream + + + + + Gets the stop element from the input stream + + + + Get the text of the token + + + The line number on which this token was matched; line=1..n + + + The index of the first character relative to the beginning of the line 0..n-1 + + + + An index from 0..n-1 of the token object in the input stream. + This must be valid in order to use the ANTLRWorks debugger. + + + + + From what character stream was this token created? You don't have to + implement but it's nice to know where a Token comes from if you have + include files etc... on the input. + + + + + A source of tokens must provide a sequence of tokens via nextToken() + and also must reveal it's source of characters; CommonToken's text is + computed from a CharStream; it only store indices into the char stream. + + + + Errors from the lexer are never passed to the parser. Either you want + to keep going or you do not upon token recognition error. If you do not + want to continue lexing then you do not want to continue parsing. Just + throw an exception not under RecognitionException and Java will naturally + toss you all the way out of the recognizers. If you want to continue + lexing then you should not throw an exception to the parser--it has already + requested a token. Keep lexing until you get a valid one. Just report + errors and keep going, looking for a valid token. + + + + + Return a Token object from your input stream (usually a CharStream). + Do not fail/return upon lexing error; keep chewing on the characters + until you get a good one; errors are not passed through to the parser. + + + + + Where are you getting tokens from? normally the implication will simply + ask lexers input stream. + + + + A stream of tokens accessing tokens from a TokenSource + + + Get Token at current input pointer + i ahead where i=1 is next Token. + i<0 indicates tokens in the past. So -1 is previous token and -2 is + two tokens ago. LT(0) is undefined. For i>=n, return Token.EOFToken. + Return null for LT(0) and any index that results in an absolute address + that is negative. + + + + How far ahead has the stream been asked to look? The return + value is a valid index from 0..n-1. + + + + + Get a token at an absolute index i; 0..n-1. This is really only + needed for profiling and debugging and token stream rewriting. + If you don't want to buffer up tokens, then this method makes no + sense for you. Naturally you can't use the rewrite stream feature. + I believe DebugTokenStream can easily be altered to not use + this method, removing the dependency. + + + + + Where is this stream pulling tokens from? This is not the name, but + the object that provides Token objects. + + + + + Return the text of all tokens from start to stop, inclusive. + If the stream does not buffer all the tokens then it can just + return "" or null; Users should not access $ruleLabel.text in + an action of course in that case. + + + + + Because the user is not required to use a token with an index stored + in it, we must provide a means for two token objects themselves to + indicate the start/end location. Most often this will just delegate + to the other toString(int,int). This is also parallel with + the TreeNodeStream.toString(Object,Object). + + + + + The most common stream of tokens is one where every token is buffered up + and tokens are prefiltered for a certain channel (the parser will only + see these tokens and cannot change the filter channel number during the + parse). + + + TODO: how to access the full token stream? How to track all tokens matched per rule? + + + + Record every single token pulled from the source so we can reproduce + chunks of it later. + + + + Map from token type to channel to override some Tokens' channel numbers + + + Set of token types; discard any tokens with this type + + + Skip tokens on any channel but this one; this is how we skip whitespace... + + + By default, track all incoming tokens + + + Track the last mark() call result value for use in rewind(). + + + + The index into the tokens list of the current token (next token + to consume). p==-1 indicates that the tokens list is empty + + + + + How deep have we gone? + + + + Reset this token stream by setting its token source. + + + + Load all tokens from the token source and put in tokens. + This is done upon first LT request because you might want to + set some token type / channel overrides before filling buffer. + + + + + Move the input pointer to the next incoming token. The stream + must become active with LT(1) available. consume() simply + moves the input pointer so that LT(1) points at the next + input symbol. Consume at least one token. + + + + Walk past any token not on the channel the parser is listening to. + + + + Given a starting index, return the index of the first on-channel token. + + + + A simple filter mechanism whereby you can tell this token stream + to force all tokens of type ttype to be on channel. For example, + when interpreting, we cannot exec actions so we need to tell + the stream to force all WS and NEWLINE to be a different, ignored + channel. + + + + + Given a start and stop index, return a List of all tokens in + the token type BitSet. Return null if no tokens were found. This + method looks at both on and off channel tokens. + + + + + Get the ith token from the current position 1..n where k=1 is the + first symbol of lookahead. + + + + Look backwards k tokens on-channel tokens + + + + Return absolute token i; ignore which channel the tokens are on; + that is, count all tokens not just on-channel tokens. + + + + + A lexer is recognizer that draws input symbols from a character stream. + lexer grammars result in a subclass of this object. A Lexer object + uses simplified match() and error recovery mechanisms in the interest + of speed. + + + + Where is the lexer drawing characters from? + + + + Gets or sets the text matched so far for the current token or any text override. + + + Setting this value replaces any previously set value, and overrides the original text. + + + + Return a token from this source; i.e., match a token on the char stream. + + + Returns the EOF token (default), if you need + to return a custom token instead override this method. + + + + Instruct the lexer to skip creating a token for current lexer rule + and look for another token. nextToken() knows to keep looking when + a lexer rule finishes with token set to SKIP_TOKEN. Recall that + if token==null at end of any token rule, it creates one for you + and emits it. + + + + This is the lexer entry point that sets instance var 'token' + + + + Currently does not support multiple emits per nextToken invocation + for efficiency reasons. Subclass and override this method and + nextToken (to push tokens into a list and pull from that list rather + than a single variable as this implementation does). + + + + + The standard method called to automatically emit a token at the + outermost lexical rule. The token object should point into the + char buffer start..stop. If there is a text override in 'text', + use that to set the token's text. Override this method to emit + custom Token objects. + + + + If you are building trees, then you should also override + Parser or TreeParser.getMissingSymbol(). + + + + What is the index of the current character of lookahead? + + + + Lexers can normally match any char in it's vocabulary after matching + a token, so do the easy thing and just kill a character and hope + it all works out. You can instead use the rule invocation stack + to do sophisticated error recovery if you are in a fragment rule. + + + + A queue that can dequeue and get(i) in O(1) and grow arbitrarily large. + A linked list is fast at dequeue but slow at get(i). An array is + the reverse. This is O(1) for both operations. + + List grows until you dequeue last element at end of buffer. Then + it resets to start filling at 0 again. If adds/removes are balanced, the + buffer will not grow too large. + + No iterator stuff as that's not how we'll use it. + + + dynamically-sized buffer of elements + + + index of next element to fill + + + + How deep have we gone? + + + + + Return element {@code i} elements ahead of current element. {@code i==0} + gets current element. This is not an absolute index into {@link #data} + since {@code p} defines the start of the real list. + + + + Get and remove first element in queue + + + Return string of current buffer contents; non-destructive + + + + A lookahead queue that knows how to mark/release locations in the buffer for + backtracking purposes. Any markers force the {@link FastQueue} superclass to + keep all elements until no more markers; then can reset to avoid growing a + huge buffer. + + + + Absolute token index. It's the index of the symbol about to be + read via {@code LT(1)}. Goes from 0 to numtokens. + + + This is the {@code LT(-1)} element for the first element in {@link #data}. + + + Track object returned by nextElement upon end of stream; + Return it later when they ask for LT passed end of input. + + + Track the last mark() call result value for use in rewind(). + + + tracks how deep mark() calls are nested + + + + Implement nextElement to supply a stream of elements to this + lookahead buffer. Return EOF upon end of the stream we're pulling from. + + + + + Get and remove first element in queue; override + {@link FastQueue#remove()}; it's the same, just checks for backtracking. + + + + Make sure we have at least one element to remove, even if EOF + + + + Make sure we have 'need' elements from current position p. Last valid + p index is data.size()-1. p+need-1 is the data index 'need' elements + ahead. If we need 1 element, (p+1-1)==p must be < data.size(). + + + + add n elements to buffer + + + Size of entire stream is unknown; we only know buffer size from FastQueue + + + + Seek to a 0-indexed absolute token index. Normally used to seek backwards + in the buffer. Does not force loading of nodes. + + + To preserve backward compatibility, this method allows seeking past the + end of the currently buffered data. In this case, the input pointer will + be moved but the data will only actually be loaded upon the next call to + {@link #consume} or {@link #LT} for {@code k>0}. + + + + A mismatched char or Token or tree node + + + + We were expecting a token but it's not found. The current token + is actually what we wanted next. Used for tree node errors too. + + + + + A parser for TokenStreams. "parser grammars" result in a subclass + of this. + + + + Gets or sets the token stream; resets the parser upon a set. + + + + Rules that return more than a single value must return an object + containing all the values. Besides the properties defined in + RuleLabelScope.predefinedRulePropertiesScope there may be user-defined + return values. This class simply defines the minimum properties that + are always defined and methods to access the others that might be + available depending on output option such as template and tree. + + + + Note text is not an actual property of the return value, it is computed + from start and stop using the input stream's toString() method. I + could add a ctor to this so that we can pass in and store the input + stream, but I'm not sure we want to do that. It would seem to be undefined + to get the .text property anyway if the rule matches tokens from multiple + input streams. + + I do not use getters for fields of objects that are used simply to + group values such as this aggregate. The getters/setters are there to + satisfy the superclass interface. + + + + The root of the ANTLR exception hierarchy. + + + To avoid English-only error messages and to generally make things + as flexible as possible, these exceptions are not created with strings, + but rather the information necessary to generate an error. Then + the various reporting methods in Parser and Lexer can be overridden + to generate a localized error message. For example, MismatchedToken + exceptions are built with the expected token type. + So, don't expect getMessage() to return anything. + + Note that as of Java 1.4, you can access the stack trace, which means + that you can compute the complete trace of rules from the start symbol. + This gives you considerable context information with which to generate + useful error messages. + + ANTLR generates code that throws exceptions upon recognition error and + also generates code to catch these exceptions in each rule. If you + want to quit upon first error, you can turn off the automatic error + handling mechanism using rulecatch action, but you still need to + override methods mismatch and recoverFromMismatchSet. + + In general, the recognition exceptions can track where in a grammar a + problem occurred and/or what was the expected input. While the parser + knows its state (such as current input symbol and line info) that + state can change before the exception is reported so current token index + is computed and stored at exception time. From this info, you can + perhaps print an entire line of input not just a single token, for example. + Better to just say the recognizer had a problem and then let the parser + figure out a fancy report. + + + + What input stream did the error occur in? + + + + What was the lookahead index when this exception was thrown? + + + + What is index of token/char were we looking at when the error occurred? + + + + The current Token when an error occurred. Since not all streams + can retrieve the ith Token, we have to track the Token object. + For parsers. Even when it's a tree parser, token might be set. + + + + + If this is a tree parser exception, node is set to the node with + the problem. + + + + The current char when an error occurred. For lexers. + + + + Track the line (1-based) at which the error occurred in case this is + generated from a lexer. We need to track this since the + unexpected char doesn't carry the line info. + + + + + The 0-based index into the line where the error occurred. + + + + + If you are parsing a tree node stream, you will encounter som + imaginary nodes w/o line/col info. We now search backwards looking + for most recent token with line/col info, but notify getErrorHeader() + that info is approximate. + + + + Used for remote debugger deserialization + + + Return the token type or char of the unexpected input element + + + + The set of fields needed by an abstract recognizer to recognize input + and recover from errors etc... As a separate state object, it can be + shared among multiple grammars; e.g., when one grammar imports another. + + + + These fields are publically visible but the actual state pointer per + parser is protected. + + + + + Track the set of token types that can follow any rule invocation. + Stack grows upwards. When it hits the max, it grows 2x in size + and keeps going. + + + + + This is true when we see an error and before having successfully + matched a token. Prevents generation of more than one error message + per error. + + + + + The index into the input stream where the last error occurred. + This is used to prevent infinite loops where an error is found + but no token is consumed during recovery...another error is found, + ad naseum. This is a failsafe mechanism to guarantee that at least + one token/tree node is consumed for two errors. + + + + + In lieu of a return value, this indicates that a rule or token + has failed to match. Reset to false upon valid token match. + + + + Did the recognizer encounter a syntax error? Track how many. + + + + If 0, no backtracking is going on. Safe to exec actions etc... + If >0 then it's the level of backtracking. + + + + + An array[size num rules] of dictionaries that tracks + the stop token index for each rule. ruleMemo[ruleIndex] is + the memoization table for ruleIndex. For key ruleStartIndex, you + get back the stop token for associated rule or MEMO_RULE_FAILED. + + + This is only used if rule memoization is on (which it is by default). + + + + The goal of all lexer rules/methods is to create a token object. + This is an instance variable as multiple rules may collaborate to + create a single token. nextToken will return this object after + matching lexer rule(s). If you subclass to allow multiple token + emissions, then set this to the last token to be matched or + something nonnull so that the auto token emit mechanism will not + emit another token. + + + + + What character index in the stream did the current token start at? + Needed, for example, to get the text for current token. Set at + the start of nextToken. + + + + The line on which the first character of the token resides + + + The character position of first character within the line + + + The channel number for the current token + + + The token type for the current token + + + + You can set the text for the current token to override what is in + the input char buffer. Use setText() or can set this instance var. + + + + + All tokens go to the parser (unless skip() is called in that rule) + on a particular "channel". The parser tunes to a particular channel + so that whitespace etc... can go to the parser on a "hidden" channel. + + + + + Anything on different channel than DEFAULT_CHANNEL is not parsed + by parser. + + + + Useful for dumping out the input stream after doing some + augmentation or other manipulations. + + You can insert stuff, replace, and delete chunks. Note that the + operations are done lazily--only if you convert the buffer to a + String. This is very efficient because you are not moving data around + all the time. As the buffer of tokens is converted to strings, the + toString() method(s) check to see if there is an operation at the + current index. If so, the operation is done and then normal String + rendering continues on the buffer. This is like having multiple Turing + machine instruction streams (programs) operating on a single input tape. :) + + Since the operations are done lazily at toString-time, operations do not + screw up the token index values. That is, an insert operation at token + index i does not change the index values for tokens i+1..n-1. + + Because operations never actually alter the buffer, you may always get + the original token stream back without undoing anything. Since + the instructions are queued up, you can easily simulate transactions and + roll back any changes if there is an error just by removing instructions. + For example, + + CharStream input = new ANTLRFileStream("input"); + TLexer lex = new TLexer(input); + TokenRewriteStream tokens = new TokenRewriteStream(lex); + T parser = new T(tokens); + parser.startRule(); + + Then in the rules, you can execute + Token t,u; + ... + input.insertAfter(t, "text to put after t");} + input.insertAfter(u, "text after u");} + System.out.println(tokens.toString()); + + Actually, you have to cast the 'input' to a TokenRewriteStream. :( + + You can also have multiple "instruction streams" and get multiple + rewrites from a single pass over the input. Just name the instruction + streams and use that name again when printing the buffer. This could be + useful for generating a C file and also its header file--all from the + same buffer: + + tokens.insertAfter("pass1", t, "text to put after t");} + tokens.insertAfter("pass2", u, "text after u");} + System.out.println(tokens.toString("pass1")); + System.out.println(tokens.toString("pass2")); + + If you don't use named rewrite streams, a "default" stream is used as + the first example shows. + + + What index into rewrites List are we? + + + Token buffer index. + + + + Execute the rewrite operation by possibly adding to the buffer. + Return the index of the next token to operate on. + + + + + I'm going to try replacing range from x..y with (y-x)+1 ReplaceOp + instructions. + + + + + You may have multiple, named streams of rewrite operations. + I'm calling these things "programs." + Maps String (name) -> rewrite (List) + + + + Map String (program name) -> Integer index + + + + Rollback the instruction stream for a program so that + the indicated instruction (via instructionIndex) is no + longer in the stream. UNTESTED! + + + + Reset the program so that no instructions exist + + + We need to combine operations and report invalid operations (like + overlapping replaces that are not completed nested). Inserts to + same index need to be combined etc... Here are the cases: + + I.i.u I.j.v leave alone, nonoverlapping + I.i.u I.i.v combine: Iivu + + R.i-j.u R.x-y.v | i-j in x-y delete first R + R.i-j.u R.i-j.v delete first R + R.i-j.u R.x-y.v | x-y in i-j ERROR + R.i-j.u R.x-y.v | boundaries overlap ERROR + + Delete special case of replace (text==null): + D.i-j.u D.x-y.v | boundaries overlap combine to max(min)..max(right) + + I.i.u R.x-y.v | i in (x+1)-y delete I (since insert before + we're not deleting i) + I.i.u R.x-y.v | i not in (x+1)-y leave alone, nonoverlapping + R.x-y.v I.i.u | i in x-y ERROR + R.x-y.v I.x.u R.x-y.uv (combine, delete I) + R.x-y.v I.i.u | i not in x-y leave alone, nonoverlapping + + I.i.u = insert u before op @ index i + R.x-y.u = replace x-y indexed tokens with u + + First we need to examine replaces. For any replace op: + + 1. wipe out any insertions before op within that range. + 2. Drop any replace op before that is contained completely within + that range. + 3. Throw exception upon boundary overlap with any previous replace. + + Then we can deal with inserts: + + 1. for any inserts to same index, combine even if not adjacent. + 2. for any prior replace with same left boundary, combine this + insert with replace and delete this replace. + 3. throw exception if index in same range as previous replace + + Don't actually delete; make op null in list. Easier to walk list. + Later we can throw as we add to index -> op map. + + Note that I.2 R.2-2 will wipe out I.2 even though, technically, the + inserted stuff would be before the replace range. But, if you + add tokens in front of a method body '{' and then delete the method + body, I think the stuff before the '{' you added should disappear too. + + Return a map from token index to operation. + + + Get all operations before an index of a particular kind + + + + In an action, a lexer rule can set token to this SKIP_TOKEN and ANTLR + will avoid creating a token for this symbol and try to fetch another. + + + + imaginary tree navigation type; traverse "get child" link + + + imaginary tree navigation type; finish with a child list + + + + A generic tree implementation with no payload. You must subclass to + actually have any user data. ANTLR v3 uses a list of children approach + instead of the child-sibling approach in v2. A flat tree (a list) is + an empty node whose children represent the list. An empty, but + non-null node is called "nil". + + + + + Create a new node from an existing node does nothing for BaseTree + as there are no fields other than the children list, which cannot + be copied as the children are not considered part of this node. + + + + + Get the children internal List; note that if you directly mess with + the list, do so at your own risk. + + + + BaseTree doesn't track parent pointers. + + + BaseTree doesn't track child indexes. + + + Add t as child of this node. + + + Warning: if t has no children, but child does + and child isNil then this routine moves children to t via + t.children = child.children; i.e., without copying the array. + + + + Add all elements of kids list as children of this node + + + Insert child t at child position i (0..n-1) by shifting children + i+1..n-1 to the right one position. Set parent / indexes properly + but does NOT collapse nil-rooted t's that come in here like addChild. + + + + Delete children from start to stop and replace with t even if t is + a list (nil-root tree). num of children can increase or decrease. + For huge child lists, inserting children can force walking rest of + children to set their childindex; could be slow. + + + + Override in a subclass to change the impl of children list + + + Set the parent and child index values for all child of t + + + Walk upwards looking for ancestor with this token type. + + + Walk upwards and get first ancestor with this token type. + + + + Return a list of all ancestors of this node. The first node of + list is the root and the last is the parent of this node. + + + + Print out a whole tree not just a node + + + Override to say how a node (not a tree) should look as text + + + A TreeAdaptor that works with any Tree implementation. + + + + System.identityHashCode() is not always unique; we have to + track ourselves. That's ok, it's only for debugging, though it's + expensive: we have to create a hashtable with all tree nodes in it. + + + + + Create tree node that holds the start and stop tokens associated + with an error. + + + + If you specify your own kind of tree nodes, you will likely have to + override this method. CommonTree returns Token.INVALID_TOKEN_TYPE + if no token payload but you might have to set token type for diff + node type. + + You don't have to subclass CommonErrorNode; you will likely need to + subclass your own tree node class to avoid class cast exception. + + + + + This is generic in the sense that it will work with any kind of + tree (not just ITree interface). It invokes the adaptor routines + not the tree node routines to do the construction. + + + + + Add a child to the tree t. If child is a flat tree (a list), make all + in list children of t. Warning: if t has no children, but child does + and child isNil then you can decide it is ok to move children to t via + t.children = child.children; i.e., without copying the array. Just + make sure that this is consistent with have the user will build + ASTs. + + + + + If oldRoot is a nil root, just copy or move the children to newRoot. + If not a nil root, make oldRoot a child of newRoot. + + + + old=^(nil a b c), new=r yields ^(r a b c) + old=^(a b c), new=r yields ^(r ^(a b c)) + + If newRoot is a nil-rooted single child tree, use the single + child as the new root node. + + old=^(nil a b c), new=^(nil r) yields ^(r a b c) + old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) + + If oldRoot was null, it's ok, just return newRoot (even if isNil). + + old=null, new=r yields r + old=null, new=^(nil r) yields ^(nil r) + + Return newRoot. Throw an exception if newRoot is not a + simple node or nil root with a single child node--it must be a root + node. If newRoot is ^(nil x) return x as newRoot. + + Be advised that it's ok for newRoot to point at oldRoot's + children; i.e., you don't have to copy the list. We are + constructing these nodes so we should have this control for + efficiency. + + + + Transform ^(nil x) to x and nil to null + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + This is a variant of createToken where the new token is derived from + an actual real input token. Typically this is for converting '{' + tokens to BLOCK etc... You'll see + + r : lc='{' ID+ '}' -> ^(BLOCK[$lc] ID+) ; + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + Duplicate a node. This is part of the factory; + override if you want another kind of node to be built. + + + + I could use reflection to prevent having to override this + but reflection is slow. + + + + + Track start/stop token for subtree root created for a rule. + Only works with Tree nodes. For rules that match nothing, + seems like this will yield start=i and stop=i-1 in a nil node. + Might be useful info so I'll not force to be i..i. + + + + A buffered stream of tree nodes. Nodes can be from a tree of ANY kind. + + This node stream sucks all nodes out of the tree specified in + the constructor during construction and makes pointers into + the tree using an array of Object pointers. The stream necessarily + includes pointers to DOWN and UP and EOF nodes. + + This stream knows how to mark/release for backtracking. + + This stream is most suitable for tree interpreters that need to + jump around a lot or for tree parsers requiring speed (at cost of memory). + There is some duplicated functionality here with UnBufferedTreeNodeStream + but just in bookkeeping, not tree walking etc... + + TARGET DEVELOPERS: + + This is the old CommonTreeNodeStream that buffered up entire node stream. + No need to implement really as new CommonTreeNodeStream is much better + and covers what we need. + + @see CommonTreeNodeStream + + + The complete mapping from stream index to tree node. + This buffer includes pointers to DOWN, UP, and EOF nodes. + It is built upon ctor invocation. The elements are type + Object as we don't what the trees look like. + + Load upon first need of the buffer so we can set token types + of interest for reverseIndexing. Slows us down a wee bit to + do all of the if p==-1 testing everywhere though. + + + Pull nodes from which tree? + + + IF this tree (root) was created from a token stream, track it. + + + What tree adaptor was used to build these trees + + + Reuse same DOWN, UP navigation nodes unless this is true + + + The index into the nodes list of the current node (next node + to consume). If -1, nodes array not filled yet. + + + Track the last mark() call result value for use in rewind(). + + + Stack of indexes used for push/pop calls + + + Walk tree with depth-first-search and fill nodes buffer. + Don't do DOWN, UP nodes if its a list (t is isNil). + + + What is the stream index for node? 0..n-1 + Return -1 if node not found. + + + As we flatten the tree, we use UP, DOWN nodes to represent + the tree structure. When debugging we need unique nodes + so instantiate new ones when uniqueNavigationNodes is true. + + + Look backwards k nodes + + + + Make stream jump to a new location, saving old location. + Switch back with pop(). + + + + + Seek back to previous index saved during last push() call. + Return top of stack (return index). + + + + Used for testing, just return the token type stream + + + Debugging + + + A node representing erroneous token range in token stream + + + + A tree node that is wrapper for a Token object. After 3.0 release + while building tree rewrite stuff, it became clear that computing + parent and child index is very difficult and cumbersome. Better to + spend the space in every tree node. If you don't want these extra + fields, it's easy to cut them out in your own BaseTree subclass. + + + + A single token is the payload + + + + What token indexes bracket all tokens associated with this node + and below? + + + + Who is the parent node of this node; if null, implies node is root + + + What index is this node in the child list? Range: 0..n-1 + + + + For every node in this subtree, make sure it's start/stop token's + are set. Walk depth first, visit bottom up. Only updates nodes + with at least one token index < 0. + + + + + A TreeAdaptor that works with any Tree implementation. It provides + really just factory methods; all the work is done by BaseTreeAdaptor. + If you would like to have different tokens created than ClassicToken + objects, you need to override this and then set the parser tree adaptor to + use your subclass. + + + + To get your parser to build nodes of a different type, override + create(Token), errorNode(), and to be safe, YourTreeClass.dupNode(). + dupNode is called to duplicate nodes during rewrite operations. + + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + This is a variant of createToken where the new token is derived from + an actual real input token. Typically this is for converting '{' + tokens to BLOCK etc... You'll see + + r : lc='{' ID+ '}' -> ^(BLOCK[$lc] ID+) ; + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + What is the Token associated with this node? If + you are not using CommonTree, then you must + override this in your own adaptor. + + + + Pull nodes from which tree? + + + If this tree (root) was created from a token stream, track it. + + + What tree adaptor was used to build these trees + + + The tree iterator we are using + + + Stack of indexes used for push/pop calls + + + Tree (nil A B C) trees like flat A B C streams + + + Tracks tree depth. Level=0 means we're at root node level. + + + Tracks the last node before the start of {@link #data} which contains + position information to provide information for error reporting. This is + tracked in addition to {@link #prevElement} which may or may not contain + position information. + + @see #hasPositionInformation + @see RecognitionException#extractInformationFromTreeNodeStream + + + Make stream jump to a new location, saving old location. + Switch back with pop(). + + + Seek back to previous index saved during last push() call. + Return top of stack (return index). + + + Returns an element containing position information. If {@code allowApproximateLocation} is {@code false}, then + this method will return the {@code LT(1)} element if it contains position information, and otherwise return {@code null}. + If {@code allowApproximateLocation} is {@code true}, then this method will return the last known element containing position information. + + @see #hasPositionInformation + + + For debugging; destructive: moves tree iterator to end. + + + A utility class to generate DOT diagrams (graphviz) from + arbitrary trees. You can pass in your own templates and + can pass in any kind of tree or use Tree interface method. + I wanted this separator so that you don't have to include + ST just to use the org.antlr.runtime.tree.* package. + This is a set of non-static methods so you can subclass + to override. For example, here is an invocation: + + CharStream input = new ANTLRInputStream(System.in); + TLexer lex = new TLexer(input); + CommonTokenStream tokens = new CommonTokenStream(lex); + TParser parser = new TParser(tokens); + TParser.e_return r = parser.e(); + Tree t = (Tree)r.tree; + System.out.println(t.toStringTree()); + DOTTreeGenerator gen = new DOTTreeGenerator(); + StringTemplate st = gen.toDOT(t); + System.out.println(st); + + + Track node to number mapping so we can get proper node name back + + + Track node number so we can get unique node names + + + Generate DOT (graphviz) for a whole tree not just a node. + For example, 3+4*5 should generate: + + digraph { + node [shape=plaintext, fixedsize=true, fontsize=11, fontname="Courier", + width=.4, height=.2]; + edge [arrowsize=.7] + "+"->3 + "+"->"*" + "*"->4 + "*"->5 + } + + Takes a Tree interface object. + + + + @author Sam Harwell + + + Returns an element containing concrete information about the current + position in the stream. + + @param allowApproximateLocation if {@code false}, this method returns + {@code null} if an element containing exact information about the current + position is not available + + + Determines if the specified {@code element} contains concrete position + information. + + @param element the element to check + @return {@code true} if {@code element} contains concrete position + information, otherwise {@code false} + + + + What does a tree look like? ANTLR has a number of support classes + such as CommonTreeNodeStream that work on these kinds of trees. You + don't have to make your trees implement this interface, but if you do, + you'll be able to use more support code. + + + + NOTE: When constructing trees, ANTLR can build any kind of tree; it can + even use Token objects as trees if you add a child list to your tokens. + + This is a tree node without any payload; just navigation and factory stuff. + + + + Is there is a node above with token type ttype? + + + Walk upwards and get first ancestor with this token type. + + + + Return a list of all ancestors of this node. The first node of + list is the root and the last is the parent of this node. + + + + This node is what child index? 0..n-1 + + + Set the parent and child index values for all children + + + + Add t as a child to this node. If t is null, do nothing. If t + is nil, add all children of t to this' children. + + + + Set ith child (0..n-1) to t; t must be non-null and non-nil node + + + + Delete children from start to stop and replace with t even if t is + a list (nil-root tree). num of children can increase or decrease. + For huge child lists, inserting children can force walking rest of + children to set their childindex; could be slow. + + + + + Indicates the node is a nil node but may still have children, meaning + the tree is a flat list. + + + + + What is the smallest token index (indexing from 0) for this node + and its children? + + + + + What is the largest token index (indexing from 0) for this node + and its children? + + + + Return a token type; needed for tree parsing + + + In case we don't have a token payload, what is the line for errors? + + + + How to create and navigate trees. Rather than have a separate factory + and adaptor, I've merged them. Makes sense to encapsulate. + + + + This takes the place of the tree construction code generated in the + generated code in 2.x and the ASTFactory. + + I do not need to know the type of a tree at all so they are all + generic Objects. This may increase the amount of typecasting needed. :( + + + + + Create a tree node from Token object; for CommonTree type trees, + then the token just becomes the payload. This is the most + common create call. + + + + Override if you want another kind of node to be built. + + + + + Create a new node derived from a token, with a new token type. + This is invoked from an imaginary node ref on right side of a + rewrite rule as IMAG[$tokenLabel]. + + + + This should invoke createToken(Token). + + + + + Same as create(tokenType,fromToken) except set the text too. + This is invoked from an imaginary node ref on right side of a + rewrite rule as IMAG[$tokenLabel, "IMAG"]. + + + + This should invoke createToken(Token). + + + + + Same as create(fromToken) except set the text too. + This is invoked when the text terminal option is set, as in + IMAG<text='IMAG'>. + + + + This should invoke createToken(Token). + + + + + Create a new node derived from a token, with a new token type. + This is invoked from an imaginary node ref on right side of a + rewrite rule as IMAG["IMAG"]. + + + + This should invoke createToken(int,String). + + + + Duplicate a single tree node. + Override if you want another kind of node to be built. + + + Duplicate tree recursively, using dupNode() for each node + + + + Return a nil node (an empty but non-null node) that can hold + a list of element as the children. If you want a flat tree (a list) + use "t=adaptor.nil(); t.addChild(x); t.addChild(y);" + + + + + Return a tree node representing an error. This node records the + tokens consumed during error recovery. The start token indicates the + input symbol at which the error was detected. The stop token indicates + the last symbol consumed during recovery. + + + + You must specify the input stream so that the erroneous text can + be packaged up in the error node. The exception could be useful + to some applications; default implementation stores ptr to it in + the CommonErrorNode. + + This only makes sense during token parsing, not tree parsing. + Tree parsing should happen only when parsing and tree construction + succeed. + + + + Is tree considered a nil node used to make lists of child nodes? + + + + Add a child to the tree t. If child is a flat tree (a list), make all + in list children of t. Warning: if t has no children, but child does + and child isNil then you can decide it is ok to move children to t via + t.children = child.children; i.e., without copying the array. Just + make sure that this is consistent with have the user will build + ASTs. Do nothing if t or child is null. + + + + + If oldRoot is a nil root, just copy or move the children to newRoot. + If not a nil root, make oldRoot a child of newRoot. + + + + old=^(nil a b c), new=r yields ^(r a b c) + old=^(a b c), new=r yields ^(r ^(a b c)) + + If newRoot is a nil-rooted single child tree, use the single + child as the new root node. + + old=^(nil a b c), new=^(nil r) yields ^(r a b c) + old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) + + If oldRoot was null, it's ok, just return newRoot (even if isNil). + + old=null, new=r yields r + old=null, new=^(nil r) yields ^(nil r) + + Return newRoot. Throw an exception if newRoot is not a + simple node or nil root with a single child node--it must be a root + node. If newRoot is ^(nil x) return x as newRoot. + + Be advised that it's ok for newRoot to point at oldRoot's + children; i.e., you don't have to copy the list. We are + constructing these nodes so we should have this control for + efficiency. + + + + + Given the root of the subtree created for this rule, post process + it to do any simplifications or whatever you want. A required + behavior is to convert ^(nil singleSubtree) to singleSubtree + as the setting of start/stop indexes relies on a single non-nil root + for non-flat trees. + + + + Flat trees such as for lists like "idlist : ID+ ;" are left alone + unless there is only one ID. For a list, the start/stop indexes + are set in the nil node. + + This method is executed after all rule tree construction and right + before setTokenBoundaries(). + + + + For identifying trees. + + + How to identify nodes so we can say "add node to a prior node"? + Even becomeRoot is an issue. Use System.identityHashCode(node) + usually. + + + + + Create a node for newRoot make it the root of oldRoot. + If oldRoot is a nil root, just copy or move the children to newRoot. + If not a nil root, make oldRoot a child of newRoot. + + + + Return node created for newRoot. + + + + Be advised: when debugging ASTs, the DebugTreeAdaptor manually + calls create(Token child) and then plain becomeRoot(node, node) + because it needs to trap calls to create, but it can't since it delegates + to not inherits from the TreeAdaptor. + + + + For tree parsing, I need to know the token type of a node + + + Node constructors can set the type of a node + + + Node constructors can set the text of a node + + + + Return the token object from which this node was created. + Currently used only for printing an error message. + The error display routine in BaseRecognizer needs to + display where the input the error occurred. If your + tree of limitation does not store information that can + lead you to the token, you can create a token filled with + the appropriate information and pass that back. See + BaseRecognizer.getErrorMessage(). + + + + + Where are the bounds in the input token stream for this node and + all children? Each rule that creates AST nodes will call this + method right before returning. Flat trees (i.e., lists) will + still usually have a nil root node just to hold the children list. + That node would contain the start/stop indexes then. + + + + Get the token start index for this subtree; return -1 if no such index + + + Get the token stop index for this subtree; return -1 if no such index + + + Get a child 0..n-1 node + + + Set ith child (0..n-1) to t; t must be non-null and non-nil node + + + Remove ith child and shift children down from right. + + + How many children? If 0, then this is a leaf node + + + + Who is the parent node of this node; if null, implies node is root. + If your node type doesn't handle this, it's ok but the tree rewrites + in tree parsers need this functionality. + + + + + What index is this node in the child list? Range: 0..n-1 + If your node type doesn't handle this, it's ok but the tree rewrites + in tree parsers need this functionality. + + + + + Replace from start to stop child index of parent with t, which might + be a list. Number of children may be different after this call. + + + + If parent is null, don't do anything; must be at root of overall tree. + Can't replace whatever points to the parent externally. Do nothing. + + + + A stream of tree nodes, accessing nodes from a tree of some kind + + + + Get a tree node at an absolute index i; 0..n-1. + If you don't want to buffer up nodes, then this method makes no + sense for you. + + + + + Get tree node at current input pointer + ahead where + ==1 is next node. <0 indicates nodes in the past. So + {@code LT(-1)} is previous node, but implementations are not required to + provide results for < -1. {@code LT(0)} is undefined. For + <=n, return . Return for {@code LT(0)} + and any index that results in an absolute address that is negative. + + + + This is analogous to , but this returns a tree node + instead of a . Makes code generation identical for both + parser and tree grammars. + + + + + Where is this stream pulling nodes from? This is not the name, but + the object that provides node objects. + + + + + If the tree associated with this stream was created from a + {@link TokenStream}, you can specify it here. Used to do rule + {@code $text} attribute in tree parser. Optional unless you use tree + parser rule {@code $text} attribute or {@code output=template} and + {@code rewrite=true} options. + + + + + What adaptor can tell me how to interpret/navigate nodes and + trees. E.g., get text of a node. + + + + + As we flatten the tree, we use {@link Token#UP}, {@link Token#DOWN} nodes + to represent the tree structure. When debugging we need unique nodes so + we have to instantiate new ones. When doing normal tree parsing, it's + slow and a waste of memory to create unique navigation nodes. Default + should be {@code false}. + + + + + Return the text of all nodes from {@code start} to {@code stop}, + inclusive. If the stream does not buffer all the nodes then it can still + walk recursively from start until stop. You can always return + {@code null} or {@code ""} too, but users should not access + {@code $ruleLabel.text} in an action of course in that case. + + + + + Replace children of {@code parent} from index {@code startChildIndex} to + {@code stopChildIndex} with {@code t}, which might be a list. Number of + children may be different after this call. The stream is notified because + it is walking the tree and might need to know you are monkeying with the + underlying tree. Also, it might be able to modify the node stream to + avoid restreaming for future phases. + + + + If {@code parent} is {@code null}, don't do anything; must be at root of + overall tree. Can't replace whatever points to the parent externally. Do + nothing. + + + + + How to execute code for node t when a visitor visits node t. Execute + pre() before visiting children and execute post() after visiting children. + + + + + Execute an action before visiting children of t. Return t or + a rewritten t. It is up to the visitor to decide what to do + with the return value. Children of returned value will be + visited if using TreeVisitor.visit(). + + + + + Execute an action after visiting children of t. Return t or + a rewritten t. It is up to the visitor to decide what to do + with the return value. + + + + + A record of the rules used to match a token sequence. The tokens + end up as the leaves of this tree and rule nodes are the interior nodes. + This really adds no functionality, it is just an alias for CommonTree + that is more meaningful (specific) and holds a String to display for a node. + + + + + Emit a token and all hidden nodes before. EOF node holds all + hidden tokens after last real token. + + + + + Print out the leaves of this tree, which means printing original + input back out. + + + + + Base class for all exceptions thrown during AST rewrite construction. + This signifies a case where the cardinality of two or more elements + in a subrule are different: (ID INT)+ where |ID|!=|INT| + + + + No elements within a (...)+ in a rewrite rule + + + Ref to ID or expr but no tokens in ID stream or subtrees in expr stream + + + + A generic list of elements tracked in an alternative to be used in + a -> rewrite rule. We need to subclass to fill in the next() method, + which returns either an AST node wrapped around a token payload or + an existing subtree. + + + + Once you start next()ing, do not try to add more elements. It will + break the cursor tracking I believe. + + TODO: add mechanism to detect/puke on modification after reading from stream + + + + + + + + Cursor 0..n-1. If singleElement!=null, cursor is 0 until you next(), + which bumps it to 1 meaning no more elements. + + + + Track single elements w/o creating a list. Upon 2nd add, alloc list + + + The list of tokens or subtrees we are tracking + + + Once a node / subtree has been used in a stream, it must be dup'd + from then on. Streams are reset after subrules so that the streams + can be reused in future subrules. So, reset must set a dirty bit. + If dirty, then next() always returns a dup. + + + The element or stream description; usually has name of the token or + rule reference that this list tracks. Can include rulename too, but + the exception would track that info. + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + + Reset the condition of this stream so that it appears we have + not consumed any of its elements. Elements themselves are untouched. + Once we reset the stream, any future use will need duplicates. Set + the dirty bit. + + + + + Return the next element in the stream. If out of elements, throw + an exception unless size()==1. If size is 1, then return elements[0]. + Return a duplicate node/subtree if stream is out of elements and + size==1. If we've already used the element, dup (dirty bit set). + + + + + Do the work of getting the next element, making sure that it's + a tree node or subtree. Deal with the optimization of single- + element list versus list of size > 1. Throw an exception + if the stream is empty or we're out of elements and size>1. + protected so you can override in a subclass if necessary. + + + + + When constructing trees, sometimes we need to dup a token or AST + subtree. Dup'ing a token means just creating another AST node + around it. For trees, you must call the adaptor.dupTree() unless + the element is for a tree root; then it must be a node dup. + + + + + Ensure stream emits trees; tokens must be converted to AST nodes. + AST nodes can be passed through unmolested. + + + + + Queues up nodes matched on left side of -> in a tree parser. This is + the analog of RewriteRuleTokenStream for normal parsers. + + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + + Treat next element as a single node even if it's a subtree. + This is used instead of next() when the result has to be a + tree root node. Also prevents us from duplicating recently-added + children; e.g., ^(type ID)+ adds ID to type and then 2nd iteration + must dup the type node, but ID has been added. + + + + Referencing a rule result twice is ok; dup entire tree as + we can't be adding trees as root; e.g., expr expr. + + Hideous code duplication here with super.next(). Can't think of + a proper way to refactor. This needs to always call dup node + and super.next() doesn't know which to call: dup node or dup tree. + + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + Get next token from stream and make a node for it + + + + Don't convert to a tree unless they explicitly call nextTree. + This way we can do hetero tree nodes in rewrite. + + + + Return a node stream from a doubly-linked tree whose nodes + know what child index they are. No remove() is supported. + + Emit navigation nodes (DOWN, UP, and EOF) to let show tree structure. + + + If we emit UP/DOWN nodes, we need to spit out multiple nodes per + next() call. + + + + A parser for a stream of tree nodes. "tree grammars" result in a subclass + of this. All the error reporting and recovery is shared with Parser via + the BaseRecognizer superclass. + + + + Set the input stream + + + + Match '.' in tree parser has special meaning. Skip node or + entire tree if node has children. If children, scan until + corresponding UP node. + + + + + We have DOWN/UP nodes in the stream that have no line info; override. + plus we want to alter the exception type. Don't try to recover + from tree parser errors inline... + + + + + Prefix error message with the grammar name because message is + always intended for the programmer because the parser built + the input tree not the user. + + + + + Tree parsers parse nodes they usually have a token object as + payload. Set the exception token and do the default behavior. + + + + The tree pattern to lex like "(A B C)" + + + Index into input string + + + Current char + + + How long is the pattern in char? + + + Set when token type is ID or ARG (name mimics Java's StreamTokenizer) + + + Override this if you need transformation tracing to go somewhere + other than stdout or if you're not using ITree-derived trees. + + + + This is identical to the ParserRuleReturnScope except that + the start property is a tree nodes not Token object + when you are parsing trees. + + + + Gets the first node or root node of tree matched for this rule. + + + Do a depth first walk of a tree, applying pre() and post() actions as we go. + + + + Visit every node in tree t and trigger an action for each node + before/after having visited all of its children. Bottom up walk. + Execute both actions even if t has no children. Ignore return + results from transforming children since they will have altered + the child list of this node (their parent). Return result of + applying post action to this node. + + + + + Build and navigate trees with this object. Must know about the names + of tokens so you have to pass in a map or array of token names (from which + this class can build the map). I.e., Token DECL means nothing unless the + class can translate it to a token type. + + + + In order to create nodes and navigate, this class needs a TreeAdaptor. + + This class can build a token type -> node index for repeated use or for + iterating over the various nodes with a particular type. + + This class works in conjunction with the TreeAdaptor rather than moving + all this functionality into the adaptor. An adaptor helps build and + navigate trees using methods. This class helps you do it with string + patterns like "(A B C)". You can create a tree from that pattern or + match subtrees against it. + + + + + When using %label:TOKENNAME in a tree for parse(), we must + track the label. + + + + This adaptor creates TreePattern objects for use during scan() + + + + Compute a Map<String, Integer> that is an inverted index of + tokenNames (which maps int token types to names). + + + + Using the map of token names to token types, return the type. + + + + Walk the entire tree and make a node name to nodes mapping. + For now, use recursion but later nonrecursive version may be + more efficient. Returns Map<Integer, List> where the List is + of your AST node type. The Integer is the token type of the node. + + + + TODO: save this index so that find and visit are faster + + + + Do the work for index + + + Return a List of tree nodes with token type ttype + + + Return a List of subtrees matching pattern. + + + + Visit every ttype node in t, invoking the visitor. This is a quicker + version of the general visit(t, pattern) method. The labels arg + of the visitor action method is never set (it's null) since using + a token type rather than a pattern doesn't let us set a label. + + + + Do the recursive work for visit + + + + For all subtrees that match the pattern, execute the visit action. + The implementation uses the root node of the pattern in combination + with visit(t, ttype, visitor) so nil-rooted patterns are not allowed. + Patterns with wildcard roots are also not allowed. + + + + + Given a pattern like (ASSIGN %lhs:ID %rhs:.) with optional labels + on the various nodes and '.' (dot) as the node/subtree wildcard, + return true if the pattern matches and fill the labels Map with + the labels pointing at the appropriate nodes. Return false if + the pattern is malformed or the tree does not match. + + + + If a node specifies a text arg in pattern, then that must match + for that node in t. + + TODO: what's a better way to indicate bad pattern? Exceptions are a hassle + + + + + Do the work for parse. Check to see if the t2 pattern fits the + structure and token types in t1. Check text if the pattern has + text arguments on nodes. Fill labels map with pointers to nodes + in tree matched against nodes in pattern with labels. + + + + + Create a tree or node from the indicated tree pattern that closely + follows ANTLR tree grammar tree element syntax: + + (root child1 ... child2). + + + + You can also just pass in a node: ID + + Any node can have a text argument: ID[foo] + (notice there are no quotes around foo--it's clear it's a string). + + nil is a special name meaning "give me a nil node". Useful for + making lists: (nil A B C) is a list of A B C. + + + + + Compare t1 and t2; return true if token types/text, structure match exactly. + The trees are examined in their entirety so that (A B) does not match + (A B C) nor (A (B C)). + + + + TODO: allow them to pass in a comparator + TODO: have a version that is nonstatic so it can use instance adaptor + + I cannot rely on the tree node's equals() implementation as I make + no constraints at all on the node types nor interface etc... + + + + + Compare type, structure, and text of two trees, assuming adaptor in + this instance of a TreeWizard. + + + + A token stream that pulls tokens from the code source on-demand and + without tracking a complete buffer of the tokens. This stream buffers + the minimum number of tokens possible. It's the same as + OnDemandTokenStream except that OnDemandTokenStream buffers all tokens. + + You can't use this stream if you pass whitespace or other off-channel + tokens to the parser. The stream can't ignore off-channel tokens. + + You can only look backwards 1 token: LT(-1). + + Use this when you need to read from a socket or other infinite stream. + + @see BufferedTokenStream + @see CommonTokenStream + + + Skip tokens on any channel but this one; this is how we skip whitespace... + + + An extra token while parsing a TokenStream + + + diff --git a/packages/Antlr3.Runtime.3.5.1/lib/netstandard1.1/Antlr3.Runtime.dll b/packages/Antlr3.Runtime.3.5.1/lib/netstandard1.1/Antlr3.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..1bab12eddf269a8b050345d591e5b1a2cd43c595 GIT binary patch literal 97280 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 + + + Antlr3.Runtime + + + + + A kind of ReaderStream that pulls from an InputStream. + Useful for reading from stdin and specifying file encodings etc... + + + + + Vacuum all input from a Reader and then treat it like a StringStream. + Manage the buffer manually to avoid unnecessary data copying. + + + + If you need encoding, use ANTLRInputStream. + + + + + A pretty quick CharStream that pulls all data from an array + directly. Every method call counts in the lexer. Java's + strings aren't very good so I'm avoiding. + + + + The data being scanned + + + How many characters are actually in the buffer + + + 0..n-1 index into string of next char + + + line number 1..n within the input + + + The index of the character relative to the beginning of the line 0..n-1 + + + tracks how deep mark() calls are nested + + + + A list of CharStreamState objects that tracks the stream state + values line, charPositionInLine, and p that can change as you + move through the input stream. Indexed from 1..markDepth. + A null is kept @ index 0. Create upon first call to mark(). + + + + Track the last mark() call result value for use in rewind(). + + + What is name or source of this char stream? + + + Copy data in string to a local char array + + + This is the preferred constructor as no data is copied + + + + Return the current input symbol index 0..n where n indicates the + last symbol has been read. The index is the index of char to + be returned from LA(1). + + + + + Reset the stream so that it's in the same state it was + when the object was created *except* the data array is not + touched. + + + + + consume() ahead until p==index; can't just set p=index as we must + update line and charPositionInLine. + + + + + A generic recognizer that can handle recognizers generated from + lexer, parser, and tree grammars. This is all the parsing + support code essentially; most of it is error recovery stuff and + backtracking. + + + + + State of a lexer, parser, or tree parser are collected into a state + object so the state can be shared. This sharing is needed to + have one grammar import others and share same error variables + and other state variables. It's a kind of explicit multiple + inheritance via delegation of methods and shared state. + + + + reset the parser's state; subclasses must rewinds the input stream + + + + Match current input symbol against ttype. Attempt + single token insertion or deletion error recovery. If + that fails, throw MismatchedTokenException. + + + + To turn off single token insertion or deletion error + recovery, override recoverFromMismatchedToken() and have it + throw an exception. See TreeParser.recoverFromMismatchedToken(). + This way any error in a rule will cause an exception and + immediate exit from rule. Rule would recover by resynchronizing + to the set of symbols that can follow rule ref. + + + + Match the wildcard: in a symbol + + + Report a recognition problem. + + + This method sets errorRecovery to indicate the parser is recovering + not parsing. Once in recovery mode, no errors are generated. + To get out of recovery mode, the parser must successfully match + a token (after a resync). So it will go: + + 1. error occurs + 2. enter recovery mode, report error + 3. consume until token found in resynch set + 4. try to resume parsing + 5. next match() will reset errorRecovery mode + + If you override, make sure to update syntaxErrors if you care about that. + + + + What error message should be generated for the various exception types? + + + Not very object-oriented code, but I like having all error message + generation within one method rather than spread among all of the + exception classes. This also makes it much easier for the exception + handling because the exception classes do not have to have pointers back + to this object to access utility routines and so on. Also, changing + the message for an exception type would be difficult because you + would have to subclassing exception, but then somehow get ANTLR + to make those kinds of exception objects instead of the default. + This looks weird, but trust me--it makes the most sense in terms + of flexibility. + + For grammar debugging, you will want to override this to add + more information such as the stack frame with + getRuleInvocationStack(e, this.getClass().getName()) and, + for no viable alts, the decision description and state etc... + + Override this to change the message generated for one or more + exception types. + + + + + Get number of recognition errors (lexer, parser, tree parser). Each + recognizer tracks its own number. So parser and lexer each have + separate count. Does not count the spurious errors found between + an error and next valid token match + + + + + + What is the error header, normally line/character position information? + + + + How should a token be displayed in an error message? The default + is to display just the text, but during development you might + want to have a lot of information spit out. Override in that case + to use t.ToString() (which, for CommonToken, dumps everything about + the token). This is better than forcing you to override a method in + your token objects because you don't have to go modify your lexer + so that it creates a new Java type. + + + + Override this method to change where error messages go + + + + Recover from an error found on the input stream. This is + for NoViableAlt and mismatched symbol exceptions. If you enable + single token insertion and deletion, this will usually not + handle mismatched symbol exceptions but there could be a mismatched + token that the match() routine could not recover from. + + + + + A hook to listen in on the token consumption during error recovery. + The DebugParser subclasses this to fire events to the listenter. + + + + + Compute the context-sensitive FOLLOW set for current rule. + This is set of token types that can follow a specific rule + reference given a specific call chain. You get the set of + viable tokens that can possibly come next (lookahead depth 1) + given the current call chain. Contrast this with the + definition of plain FOLLOW for rule r: + + + FOLLOW(r)={x | S=>*alpha r beta in G and x in FIRST(beta)} + + where x in T* and alpha, beta in V*; T is set of terminals and + V is the set of terminals and nonterminals. In other words, + FOLLOW(r) is the set of all tokens that can possibly follow + references to r in *any* sentential form (context). At + runtime, however, we know precisely which context applies as + we have the call chain. We may compute the exact (rather + than covering superset) set of following tokens. + + For example, consider grammar: + + stat : ID '=' expr ';' // FOLLOW(stat)=={EOF} + | "return" expr '.' + ; + expr : atom ('+' atom)* ; // FOLLOW(expr)=={';','.',')'} + atom : INT // FOLLOW(atom)=={'+',')',';','.'} + | '(' expr ')' + ; + + The FOLLOW sets are all inclusive whereas context-sensitive + FOLLOW sets are precisely what could follow a rule reference. + For input input "i=(3);", here is the derivation: + + stat => ID '=' expr ';' + => ID '=' atom ('+' atom)* ';' + => ID '=' '(' expr ')' ('+' atom)* ';' + => ID '=' '(' atom ')' ('+' atom)* ';' + => ID '=' '(' INT ')' ('+' atom)* ';' + => ID '=' '(' INT ')' ';' + + At the "3" token, you'd have a call chain of + + stat -> expr -> atom -> expr -> atom + + What can follow that specific nested ref to atom? Exactly ')' + as you can see by looking at the derivation of this specific + input. Contrast this with the FOLLOW(atom)={'+',')',';','.'}. + + You want the exact viable token set when recovering from a + token mismatch. Upon token mismatch, if LA(1) is member of + the viable next token set, then you know there is most likely + a missing token in the input stream. "Insert" one by just not + throwing an exception. + + + Attempt to recover from a single missing or extra token. + + EXTRA TOKEN + + LA(1) is not what we are looking for. If LA(2) has the right token, + however, then assume LA(1) is some extra spurious token. Delete it + and LA(2) as if we were doing a normal match(), which advances the + input. + + MISSING TOKEN + + If current token is consistent with what could come after + ttype then it is ok to "insert" the missing token, else throw + exception For example, Input "i=(3;" is clearly missing the + ')'. When the parser returns from the nested call to expr, it + will have call chain: + + stat -> expr -> atom + + and it will be trying to match the ')' at this point in the + derivation: + + => ID '=' '(' INT ')' ('+' atom)* ';' + ^ + match() will see that ';' doesn't match ')' and report a + mismatched token error. To recover, it sees that LA(1)==';' + is in the set of tokens that can follow the ')' token + reference in rule atom. It can assume that you forgot the ')'. + + + Not currently used + + + + Match needs to return the current input symbol, which gets put + into the label for the associated token ref; e.g., x=ID. Token + and tree parsers need to return different objects. Rather than test + for input stream type or change the IntStream interface, I use + a simple method to ask the recognizer to tell me what the current + input symbol is. + + + This is ignored for lexers. + + + Conjure up a missing token during error recovery. + + + The recognizer attempts to recover from single missing + symbols. But, actions might refer to that missing symbol. + For example, x=ID {f($x);}. The action clearly assumes + that there has been an identifier matched previously and that + $x points at that token. If that token is missing, but + the next token in the stream is what we want we assume that + this token is missing and we keep going. Because we + have to return some token to replace the missing token, + we have to conjure one up. This method gives the user control + over the tokens returned for missing tokens. Mostly, + you will want to create something special for identifier + tokens. For literals such as '{' and ',', the default + action in the parser or tree parser works. It simply creates + a CommonToken of the appropriate type. The text will be the token. + If you change what tokens must be created by the lexer, + override this method to create the appropriate tokens. + + + + Consume tokens until one matches the given token set + + + Push a rule's follow set using our own hardcoded stack + + + Return whether or not a backtracking attempt failed. + + + + Used to print out token names like ID during debugging and + error reporting. The generated parsers implement a method + that overrides this to point to their String[] tokenNames. + + + + + For debugging and other purposes, might want the grammar name. + Have ANTLR generate an implementation for this method. + + + + + A convenience method for use most often with template rewrites. + Convert a list of to a list of . + + + + + Given a rule number and a start token index number, return + MEMO_RULE_UNKNOWN if the rule has not parsed input starting from + start index. If this rule has parsed input starting from the + start index before, then return where the rule stopped parsing. + It returns the index of the last token matched by the rule. + + + + For now we use a hashtable and just the slow Object-based one. + Later, we can make a special one for ints and also one that + tosses out data after we commit past input position i. + + + + + Has this rule already parsed input at the current index in the + input stream? Return the stop token index or MEMO_RULE_UNKNOWN. + If we attempted but failed to parse properly before, return + MEMO_RULE_FAILED. + + + + This method has a side-effect: if we have seen this input for + this rule and successfully parsed before, then seek ahead to + 1 past the stop token matched for this rule last time. + + + + + Record whether or not this rule parsed the input at this position + successfully. Use a standard java hashtable for now. + + + + return how many rule/input-index pairs there are in total. + TODO: this includes synpreds. :( + + + + A stripped-down version of org.antlr.misc.BitSet that is just + good enough to handle runtime requirements such as FOLLOW sets + for automatic error recovery. + + + + + We will often need to do a mod operator (i mod nbits). Its + turns out that, for powers of two, this mod operation is + same as (i & (nbits-1)). Since mod is slow, we use a + precomputed mod mask to do the mod instead. + + + + The actual data bits + + + Construct a bitset of size one word (64 bits) + + + Construction from a static array of longs + + + Construction from a list of integers + + + Construct a bitset given the size + The size of the bitset in bits + + + return this | a in a new set + + + or this element into this set (grow as necessary to accommodate) + + + Grows the set to a larger number of bits. + element that must fit in set + + + Sets the size of a set. + how many words the new set should be + + + return how much space is being used by the bits array not how many actually have member bits on. + + + Is this contained within a? + + + Buffer all input tokens but do on-demand fetching of new tokens from + lexer. Useful when the parser or lexer has to set context/mode info before + proper lexing of future tokens. The ST template parser needs this, + for example, because it has to constantly flip back and forth between + inside/output templates. E.g., <names:{hi, <it>}> has to parse names + as part of an expression but "hi, <it>" as a nested template. + + You can't use this stream if you pass whitespace or other off-channel + tokens to the parser. The stream can't ignore off-channel tokens. + (UnbufferedTokenStream is the same way.) + + This is not a subclass of UnbufferedTokenStream because I don't want + to confuse small moving window of tokens it uses for the full buffer. + + + Record every single token pulled from the source so we can reproduce + chunks of it later. The buffer in LookaheadStream overlaps sometimes + as its moving window moves through the input. This list captures + everything so we can access complete input text. + + + Track the last mark() call result value for use in rewind(). + + + The index into the tokens list of the current token (next token + to consume). tokens[p] should be LT(1). p=-1 indicates need + to initialize with first token. The ctor doesn't get a token. + First call to LT(1) or whatever gets the first token and sets p=0; + + + + How deep have we gone? + + + + Move the input pointer to the next incoming token. The stream + must become active with LT(1) available. consume() simply + moves the input pointer so that LT(1) points at the next + input symbol. Consume at least one token. + + Walk past any token not on the channel the parser is listening to. + + + Make sure index i in tokens has a token. + + + add n elements to buffer + + + Given a start and stop index, return a List of all tokens in + the token type BitSet. Return null if no tokens were found. This + method looks at both on and off channel tokens. + + + + When walking ahead with cyclic DFA or for syntactic predicates, + we need to record the state of the input stream (char index, + line, etc...) so that we can rewind the state after scanning ahead. + + + This is the complete state of a stream. + + + Index into the char stream of next lookahead char + + + What line number is the scanner at before processing buffer[p]? + + + What char position 0..n-1 in line is scanner before processing buffer[p]? + + + + A Token object like we'd use in ANTLR 2.x; has an actual string created + and associated with this object. These objects are needed for imaginary + tree nodes that have payload objects. We need to create a Token object + that has a string; the tree node will point at this token. CommonToken + has indexes into a char stream and hence cannot be used to introduce + new strings. + + + + What token number is this from 0..n-1 tokens + + + + We need to be able to change the text once in a while. If + this is non-null, then getText should return this. Note that + start/stop are not affected by changing this. + + + + What token number is this from 0..n-1 tokens; < 0 implies invalid index + + + The char position into the input buffer where this token starts + + + The char position into the input buffer where this token stops + + + + The most common stream of tokens is one where every token is buffered up + and tokens are prefiltered for a certain channel (the parser will only + see these tokens and cannot change the filter channel number during the + parse). + + + TODO: how to access the full token stream? How to track all tokens matched per rule? + + + Skip tokens on any channel but this one; this is how we skip whitespace... + + + Reset this token stream by setting its token source. + + + Always leave p on an on-channel token. + + + Given a starting index, return the index of the first on-channel + token. + + + All debugging events that a recognizer can trigger. + + + I did not create a separate AST debugging interface as it would create + lots of extra classes and DebugParser has a dbg var defined, which makes + it hard to change to ASTDebugEventListener. I looked hard at this issue + and it is easier to understand as one monolithic event interface for all + possible events. Hopefully, adding ST debugging stuff won't be bad. Leave + for future. 4/26/2006. + + + + + The parser has just entered a rule. No decision has been made about + which alt is predicted. This is fired AFTER init actions have been + executed. Attributes are defined and available etc... + The grammarFileName allows composite grammars to jump around among + multiple grammar files. + + + + + Because rules can have lots of alternatives, it is very useful to + know which alt you are entering. This is 1..n for n alts. + + + + + This is the last thing executed before leaving a rule. It is + executed even if an exception is thrown. This is triggered after + error reporting and recovery have occurred (unless the exception is + not caught in this rule). This implies an "exitAlt" event. + The grammarFileName allows composite grammars to jump around among + multiple grammar files. + + + + Track entry into any (...) subrule other EBNF construct + + + + Every decision, fixed k or arbitrary, has an enter/exit event + so that a GUI can easily track what LT/consume events are + associated with prediction. You will see a single enter/exit + subrule but multiple enter/exit decision events, one for each + loop iteration. + + + + + An input token was consumed; matched by any kind of element. + Trigger after the token was matched by things like match(), matchAny(). + + + + + An off-channel input token was consumed. + Trigger after the token was matched by things like match(), matchAny(). + (unless of course the hidden token is first stuff in the input stream). + + + + + Somebody (anybody) looked ahead. Note that this actually gets + triggered by both LA and LT calls. The debugger will want to know + which Token object was examined. Like consumeToken, this indicates + what token was seen at that depth. A remote debugger cannot look + ahead into a file it doesn't have so LT events must pass the token + even if the info is redundant. + + + + + The parser is going to look arbitrarily ahead; mark this location, + the token stream's marker is sent in case you need it. + + + + + After an arbitrairly long lookahead as with a cyclic DFA (or with + any backtrack), this informs the debugger that stream should be + rewound to the position associated with marker. + + + + + Rewind to the input position of the last marker. + Used currently only after a cyclic DFA and just + before starting a sem/syn predicate to get the + input position back to the start of the decision. + Do not "pop" the marker off the state. mark(i) + and rewind(i) should balance still. + + + + + To watch a parser move through the grammar, the parser needs to + inform the debugger what line/charPos it is passing in the grammar. + For now, this does not know how to switch from one grammar to the + other and back for island grammars etc... + + + + This should also allow breakpoints because the debugger can stop + the parser whenever it hits this line/pos. + + + + + A recognition exception occurred such as NoViableAltException. I made + this a generic event so that I can alter the exception hierachy later + without having to alter all the debug objects. + + + + Upon error, the stack of enter rule/subrule must be properly unwound. + If no viable alt occurs it is within an enter/exit decision, which + also must be rewound. Even the rewind for each mark must be unwount. + In the Java target this is pretty easy using try/finally, if a bit + ugly in the generated code. The rewind is generated in DFA.predict() + actually so no code needs to be generated for that. For languages + w/o this "finally" feature (C++?), the target implementor will have + to build an event stack or something. + + Across a socket for remote debugging, only the RecognitionException + data fields are transmitted. The token object or whatever that + caused the problem was the last object referenced by LT. The + immediately preceding LT event should hold the unexpected Token or + char. + + Here is a sample event trace for grammar: + + b : C ({;}A|B) // {;} is there to prevent A|B becoming a set + | D + ; + + The sequence for this rule (with no viable alt in the subrule) for + input 'c c' (there are 3 tokens) is: + + commence + LT(1) + enterRule b + location 7 1 + enter decision 3 + LT(1) + exit decision 3 + enterAlt1 + location 7 5 + LT(1) + consumeToken [c/<4>,1:0] + location 7 7 + enterSubRule 2 + enter decision 2 + LT(1) + LT(1) + recognitionException NoViableAltException 2 1 2 + exit decision 2 + exitSubRule 2 + beginResync + LT(1) + consumeToken [c/<4>,1:1] + LT(1) + endResync + LT(-1) + exitRule b + terminate + + + + + Indicates the recognizer is about to consume tokens to resynchronize + the parser. Any consume events from here until the recovered event + are not part of the parse--they are dead tokens. + + + + + Indicates that the recognizer has finished consuming tokens in order + to resychronize. There may be multiple beginResync/endResync pairs + before the recognizer comes out of errorRecovery mode (in which + multiple errors are suppressed). This will be useful + in a gui where you want to probably grey out tokens that are consumed + but not matched to anything in grammar. Anything between + a beginResync/endResync pair was tossed out by the parser. + + + + A semantic predicate was evaluate with this result and action text + + + + Announce that parsing has begun. Not technically useful except for + sending events over a socket. A GUI for example will launch a thread + to connect and communicate with a remote parser. The thread will want + to notify the GUI when a connection is made. ANTLR parsers + trigger this upon entry to the first rule (the ruleLevel is used to + figure this out). + + + + + Parsing is over; successfully or not. Mostly useful for telling + remote debugging listeners that it's time to quit. When the rule + invocation level goes to zero at the end of a rule, we are done + parsing. + + + + + Input for a tree parser is an AST, but we know nothing for sure + about a node except its type and text (obtained from the adaptor). + This is the analog of the consumeToken method. Again, the ID is + the hashCode usually of the node so it only works if hashCode is + not implemented. If the type is UP or DOWN, then + the ID is not really meaningful as it's fixed--there is + just one UP node and one DOWN navigation node. + + + + + + + The tree parser lookedahead. If the type is UP or DOWN, + then the ID is not really meaningful as it's fixed--there is + just one UP node and one DOWN navigation node. + + + + + A nil was created (even nil nodes have a unique ID... + they are not "null" per se). As of 4/28/2006, this + seems to be uniquely triggered when starting a new subtree + such as when entering a subrule in automatic mode and when + building a tree in rewrite mode. + + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only t.ID is set. + + + + + Upon syntax error, recognizers bracket the error with an error node + if they are building ASTs. + + + + + + Announce a new node built from token elements such as type etc... + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only t.ID, type, text are + set. + + + + Announce a new node built from an existing token. + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only node.ID and token.tokenIndex + are set. + + + + Make a node the new root of an existing root. See + + + Note: the newRootID parameter is possibly different + than the TreeAdaptor.becomeRoot() newRoot parameter. + In our case, it will always be the result of calling + TreeAdaptor.becomeRoot() and not root_n or whatever. + + The listener should assume that this event occurs + only when the current subrule (or rule) subtree is + being reset to newRootID. + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only IDs are set. + + + + + + Make childID a child of rootID. + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only IDs are set. + + + + + + Set the token start/stop token index for a subtree root or node. + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only t.ID is set. + + + + A DFA implemented as a set of transition tables. + + + Any state that has a semantic predicate edge is special; those states + are generated with if-then-else structures in a specialStateTransition() + which is generated by cyclicDFA template. + + There are at most 32767 states (16-bit signed short). + Could get away with byte sometimes but would have to generate different + types and the simulation code too. For a point of reference, the Java + lexer's Tokens rule DFA has 326 states roughly. + + + + Which recognizer encloses this DFA? Needed to check backtracking + + + + From the input stream, predict what alternative will succeed + using this DFA (representing the covering regular approximation + to the underlying CFL). Return an alternative number 1..n. Throw + an exception upon error. + + + + A hook for debugging interface + + + + Given a String that has a run-length-encoding of some unsigned shorts + like "\1\2\3\9", convert to short[] {2,9,9,9}. We do this to avoid + static short[] which generates so much init code that the class won't + compile. :( + + + + Hideous duplication of code, but I need different typed arrays out :( + + + The recognizer did not match anything for a (..)+ loop. + + + + A semantic predicate failed during validation. Validation of predicates + occurs when normally parsing the alternative just like matching a token. + Disambiguating predicate evaluation occurs when we hoist a predicate into + a prediction decision. + + + + AST rules have trees + + + Has a value potentially if output=AST; + + + AST rules have trees + + + Has a value potentially if output=AST; + + + A source of characters for an ANTLR lexer + + + + For infinite streams, you don't need this; primarily I'm providing + a useful interface for action code. Just make sure actions don't + use this on streams that don't support it. + + + + + Get the ith character of lookahead. This is the same usually as + LA(i). This will be used for labels in the generated + lexer code. I'd prefer to return a char here type-wise, but it's + probably better to be 32-bit clean and be consistent with LA. + + + + ANTLR tracks the line information automatically + Because this stream can rewind, we need to be able to reset the line + + + The index of the character relative to the beginning of the line 0..n-1 + + + + A simple stream of integers used when all I care about is the char + or token type sequence (such as interpretation). + + + + + Get int at current input pointer + i ahead where i=1 is next int. + Negative indexes are allowed. LA(-1) is previous token (token + just matched). LA(-i) where i is before first token should + yield -1, invalid char / EOF. + + + + + Tell the stream to start buffering if it hasn't already. Return + current input position, Index, or some other marker so that + when passed to rewind() you get back to the same spot. + rewind(mark()) should not affect the input cursor. The Lexer + track line/col info as well as input index so its markers are + not pure input indexes. Same for tree node streams. + + + + + Return the current input symbol index 0..n where n indicates the + last symbol has been read. The index is the symbol about to be + read not the most recently read symbol. + + + + + Reset the stream so that next call to index would return marker. + The marker will usually be Index but it doesn't have to be. It's + just a marker to indicate what state the stream was in. This is + essentially calling release() and seek(). If there are markers + created after this marker argument, this routine must unroll them + like a stack. Assume the state the stream was in when this marker + was created. + + + + + Rewind to the input position of the last marker. + Used currently only after a cyclic DFA and just + before starting a sem/syn predicate to get the + input position back to the start of the decision. + Do not "pop" the marker off the state. mark(i) + and rewind(i) should balance still. It is + like invoking rewind(last marker) but it should not "pop" + the marker off. It's like seek(last marker's input position). + + + + + You may want to commit to a backtrack but don't want to force the + stream to keep bookkeeping objects around for a marker that is + no longer necessary. This will have the same behavior as + rewind() except it releases resources without the backward seek. + This must throw away resources for all markers back to the marker + argument. So if you're nested 5 levels of mark(), and then release(2) + you have to release resources for depths 2..5. + + + + + Set the input cursor to the position indicated by index. This is + normally used to seek ahead in the input stream. No buffering is + required to do this unless you know your stream will use seek to + move backwards such as when backtracking. + + + + This is different from rewind in its multi-directional + requirement and in that its argument is strictly an input cursor (index). + + For char streams, seeking forward must update the stream state such + as line number. For seeking backwards, you will be presumably + backtracking using the mark/rewind mechanism that restores state and + so this method does not need to update state when seeking backwards. + + Currently, this method is only used for efficient backtracking using + memoization, but in the future it may be used for incremental parsing. + + The index is 0..n-1. A seek to position i means that LA(1) will + return the ith symbol. So, seeking to 0 means LA(1) will return the + first element in the stream. + + + + + Only makes sense for streams that buffer everything up probably, but + might be useful to display the entire stream or for testing. This + value includes a single EOF. + + + + + Where are you getting symbols from? Normally, implementations will + pass the buck all the way to the lexer who can ask its input stream + for the file name or whatever. + + + + + Rules can have start/stop info. + + + + + Gets the start element from the input stream + + + + + Gets the stop element from the input stream + + + + + Rules can have start/stop info. + + The element type of the input stream. + + + + Gets the start element from the input stream + + + + + Gets the stop element from the input stream + + + + Get the text of the token + + + The line number on which this token was matched; line=1..n + + + The index of the first character relative to the beginning of the line 0..n-1 + + + + An index from 0..n-1 of the token object in the input stream. + This must be valid in order to use the ANTLRWorks debugger. + + + + + From what character stream was this token created? You don't have to + implement but it's nice to know where a Token comes from if you have + include files etc... on the input. + + + + + A source of tokens must provide a sequence of tokens via nextToken() + and also must reveal it's source of characters; CommonToken's text is + computed from a CharStream; it only store indices into the char stream. + + + + Errors from the lexer are never passed to the parser. Either you want + to keep going or you do not upon token recognition error. If you do not + want to continue lexing then you do not want to continue parsing. Just + throw an exception not under RecognitionException and Java will naturally + toss you all the way out of the recognizers. If you want to continue + lexing then you should not throw an exception to the parser--it has already + requested a token. Keep lexing until you get a valid one. Just report + errors and keep going, looking for a valid token. + + + + + Return a Token object from your input stream (usually a CharStream). + Do not fail/return upon lexing error; keep chewing on the characters + until you get a good one; errors are not passed through to the parser. + + + + + Where are you getting tokens from? normally the implication will simply + ask lexers input stream. + + + + A stream of tokens accessing tokens from a TokenSource + + + Get Token at current input pointer + i ahead where i=1 is next Token. + i<0 indicates tokens in the past. So -1 is previous token and -2 is + two tokens ago. LT(0) is undefined. For i>=n, return Token.EOFToken. + Return null for LT(0) and any index that results in an absolute address + that is negative. + + + + How far ahead has the stream been asked to look? The return + value is a valid index from 0..n-1. + + + + + Get a token at an absolute index i; 0..n-1. This is really only + needed for profiling and debugging and token stream rewriting. + If you don't want to buffer up tokens, then this method makes no + sense for you. Naturally you can't use the rewrite stream feature. + I believe DebugTokenStream can easily be altered to not use + this method, removing the dependency. + + + + + Where is this stream pulling tokens from? This is not the name, but + the object that provides Token objects. + + + + + Return the text of all tokens from start to stop, inclusive. + If the stream does not buffer all the tokens then it can just + return "" or null; Users should not access $ruleLabel.text in + an action of course in that case. + + + + + Because the user is not required to use a token with an index stored + in it, we must provide a means for two token objects themselves to + indicate the start/end location. Most often this will just delegate + to the other toString(int,int). This is also parallel with + the TreeNodeStream.toString(Object,Object). + + + + + The most common stream of tokens is one where every token is buffered up + and tokens are prefiltered for a certain channel (the parser will only + see these tokens and cannot change the filter channel number during the + parse). + + + TODO: how to access the full token stream? How to track all tokens matched per rule? + + + + Record every single token pulled from the source so we can reproduce + chunks of it later. + + + + Map from token type to channel to override some Tokens' channel numbers + + + Set of token types; discard any tokens with this type + + + Skip tokens on any channel but this one; this is how we skip whitespace... + + + By default, track all incoming tokens + + + Track the last mark() call result value for use in rewind(). + + + + The index into the tokens list of the current token (next token + to consume). p==-1 indicates that the tokens list is empty + + + + + How deep have we gone? + + + + Reset this token stream by setting its token source. + + + + Load all tokens from the token source and put in tokens. + This is done upon first LT request because you might want to + set some token type / channel overrides before filling buffer. + + + + + Move the input pointer to the next incoming token. The stream + must become active with LT(1) available. consume() simply + moves the input pointer so that LT(1) points at the next + input symbol. Consume at least one token. + + + + Walk past any token not on the channel the parser is listening to. + + + + Given a starting index, return the index of the first on-channel token. + + + + A simple filter mechanism whereby you can tell this token stream + to force all tokens of type ttype to be on channel. For example, + when interpreting, we cannot exec actions so we need to tell + the stream to force all WS and NEWLINE to be a different, ignored + channel. + + + + + Given a start and stop index, return a List of all tokens in + the token type BitSet. Return null if no tokens were found. This + method looks at both on and off channel tokens. + + + + + Get the ith token from the current position 1..n where k=1 is the + first symbol of lookahead. + + + + Look backwards k tokens on-channel tokens + + + + Return absolute token i; ignore which channel the tokens are on; + that is, count all tokens not just on-channel tokens. + + + + + A lexer is recognizer that draws input symbols from a character stream. + lexer grammars result in a subclass of this object. A Lexer object + uses simplified match() and error recovery mechanisms in the interest + of speed. + + + + Where is the lexer drawing characters from? + + + + Gets or sets the text matched so far for the current token or any text override. + + + Setting this value replaces any previously set value, and overrides the original text. + + + + Return a token from this source; i.e., match a token on the char stream. + + + Returns the EOF token (default), if you need + to return a custom token instead override this method. + + + + Instruct the lexer to skip creating a token for current lexer rule + and look for another token. nextToken() knows to keep looking when + a lexer rule finishes with token set to SKIP_TOKEN. Recall that + if token==null at end of any token rule, it creates one for you + and emits it. + + + + This is the lexer entry point that sets instance var 'token' + + + + Currently does not support multiple emits per nextToken invocation + for efficiency reasons. Subclass and override this method and + nextToken (to push tokens into a list and pull from that list rather + than a single variable as this implementation does). + + + + + The standard method called to automatically emit a token at the + outermost lexical rule. The token object should point into the + char buffer start..stop. If there is a text override in 'text', + use that to set the token's text. Override this method to emit + custom Token objects. + + + + If you are building trees, then you should also override + Parser or TreeParser.getMissingSymbol(). + + + + What is the index of the current character of lookahead? + + + + Lexers can normally match any char in it's vocabulary after matching + a token, so do the easy thing and just kill a character and hope + it all works out. You can instead use the rule invocation stack + to do sophisticated error recovery if you are in a fragment rule. + + + + A queue that can dequeue and get(i) in O(1) and grow arbitrarily large. + A linked list is fast at dequeue but slow at get(i). An array is + the reverse. This is O(1) for both operations. + + List grows until you dequeue last element at end of buffer. Then + it resets to start filling at 0 again. If adds/removes are balanced, the + buffer will not grow too large. + + No iterator stuff as that's not how we'll use it. + + + dynamically-sized buffer of elements + + + index of next element to fill + + + + How deep have we gone? + + + + + Return element {@code i} elements ahead of current element. {@code i==0} + gets current element. This is not an absolute index into {@link #data} + since {@code p} defines the start of the real list. + + + + Get and remove first element in queue + + + Return string of current buffer contents; non-destructive + + + + A lookahead queue that knows how to mark/release locations in the buffer for + backtracking purposes. Any markers force the {@link FastQueue} superclass to + keep all elements until no more markers; then can reset to avoid growing a + huge buffer. + + + + Absolute token index. It's the index of the symbol about to be + read via {@code LT(1)}. Goes from 0 to numtokens. + + + This is the {@code LT(-1)} element for the first element in {@link #data}. + + + Track object returned by nextElement upon end of stream; + Return it later when they ask for LT passed end of input. + + + Track the last mark() call result value for use in rewind(). + + + tracks how deep mark() calls are nested + + + + Implement nextElement to supply a stream of elements to this + lookahead buffer. Return EOF upon end of the stream we're pulling from. + + + + + Get and remove first element in queue; override + {@link FastQueue#remove()}; it's the same, just checks for backtracking. + + + + Make sure we have at least one element to remove, even if EOF + + + + Make sure we have 'need' elements from current position p. Last valid + p index is data.size()-1. p+need-1 is the data index 'need' elements + ahead. If we need 1 element, (p+1-1)==p must be < data.size(). + + + + add n elements to buffer + + + Size of entire stream is unknown; we only know buffer size from FastQueue + + + + Seek to a 0-indexed absolute token index. Normally used to seek backwards + in the buffer. Does not force loading of nodes. + + + To preserve backward compatibility, this method allows seeking past the + end of the currently buffered data. In this case, the input pointer will + be moved but the data will only actually be loaded upon the next call to + {@link #consume} or {@link #LT} for {@code k>0}. + + + + A mismatched char or Token or tree node + + + + We were expecting a token but it's not found. The current token + is actually what we wanted next. Used for tree node errors too. + + + + + A parser for TokenStreams. "parser grammars" result in a subclass + of this. + + + + Gets or sets the token stream; resets the parser upon a set. + + + + Rules that return more than a single value must return an object + containing all the values. Besides the properties defined in + RuleLabelScope.predefinedRulePropertiesScope there may be user-defined + return values. This class simply defines the minimum properties that + are always defined and methods to access the others that might be + available depending on output option such as template and tree. + + + + Note text is not an actual property of the return value, it is computed + from start and stop using the input stream's toString() method. I + could add a ctor to this so that we can pass in and store the input + stream, but I'm not sure we want to do that. It would seem to be undefined + to get the .text property anyway if the rule matches tokens from multiple + input streams. + + I do not use getters for fields of objects that are used simply to + group values such as this aggregate. The getters/setters are there to + satisfy the superclass interface. + + + + The root of the ANTLR exception hierarchy. + + + To avoid English-only error messages and to generally make things + as flexible as possible, these exceptions are not created with strings, + but rather the information necessary to generate an error. Then + the various reporting methods in Parser and Lexer can be overridden + to generate a localized error message. For example, MismatchedToken + exceptions are built with the expected token type. + So, don't expect getMessage() to return anything. + + Note that as of Java 1.4, you can access the stack trace, which means + that you can compute the complete trace of rules from the start symbol. + This gives you considerable context information with which to generate + useful error messages. + + ANTLR generates code that throws exceptions upon recognition error and + also generates code to catch these exceptions in each rule. If you + want to quit upon first error, you can turn off the automatic error + handling mechanism using rulecatch action, but you still need to + override methods mismatch and recoverFromMismatchSet. + + In general, the recognition exceptions can track where in a grammar a + problem occurred and/or what was the expected input. While the parser + knows its state (such as current input symbol and line info) that + state can change before the exception is reported so current token index + is computed and stored at exception time. From this info, you can + perhaps print an entire line of input not just a single token, for example. + Better to just say the recognizer had a problem and then let the parser + figure out a fancy report. + + + + What input stream did the error occur in? + + + + What was the lookahead index when this exception was thrown? + + + + What is index of token/char were we looking at when the error occurred? + + + + The current Token when an error occurred. Since not all streams + can retrieve the ith Token, we have to track the Token object. + For parsers. Even when it's a tree parser, token might be set. + + + + + If this is a tree parser exception, node is set to the node with + the problem. + + + + The current char when an error occurred. For lexers. + + + + Track the line (1-based) at which the error occurred in case this is + generated from a lexer. We need to track this since the + unexpected char doesn't carry the line info. + + + + + The 0-based index into the line where the error occurred. + + + + + If you are parsing a tree node stream, you will encounter som + imaginary nodes w/o line/col info. We now search backwards looking + for most recent token with line/col info, but notify getErrorHeader() + that info is approximate. + + + + Used for remote debugger deserialization + + + Return the token type or char of the unexpected input element + + + + The set of fields needed by an abstract recognizer to recognize input + and recover from errors etc... As a separate state object, it can be + shared among multiple grammars; e.g., when one grammar imports another. + + + + These fields are publically visible but the actual state pointer per + parser is protected. + + + + + Track the set of token types that can follow any rule invocation. + Stack grows upwards. When it hits the max, it grows 2x in size + and keeps going. + + + + + This is true when we see an error and before having successfully + matched a token. Prevents generation of more than one error message + per error. + + + + + The index into the input stream where the last error occurred. + This is used to prevent infinite loops where an error is found + but no token is consumed during recovery...another error is found, + ad naseum. This is a failsafe mechanism to guarantee that at least + one token/tree node is consumed for two errors. + + + + + In lieu of a return value, this indicates that a rule or token + has failed to match. Reset to false upon valid token match. + + + + Did the recognizer encounter a syntax error? Track how many. + + + + If 0, no backtracking is going on. Safe to exec actions etc... + If >0 then it's the level of backtracking. + + + + + An array[size num rules] of dictionaries that tracks + the stop token index for each rule. ruleMemo[ruleIndex] is + the memoization table for ruleIndex. For key ruleStartIndex, you + get back the stop token for associated rule or MEMO_RULE_FAILED. + + + This is only used if rule memoization is on (which it is by default). + + + + The goal of all lexer rules/methods is to create a token object. + This is an instance variable as multiple rules may collaborate to + create a single token. nextToken will return this object after + matching lexer rule(s). If you subclass to allow multiple token + emissions, then set this to the last token to be matched or + something nonnull so that the auto token emit mechanism will not + emit another token. + + + + + What character index in the stream did the current token start at? + Needed, for example, to get the text for current token. Set at + the start of nextToken. + + + + The line on which the first character of the token resides + + + The character position of first character within the line + + + The channel number for the current token + + + The token type for the current token + + + + You can set the text for the current token to override what is in + the input char buffer. Use setText() or can set this instance var. + + + + + All tokens go to the parser (unless skip() is called in that rule) + on a particular "channel". The parser tunes to a particular channel + so that whitespace etc... can go to the parser on a "hidden" channel. + + + + + Anything on different channel than DEFAULT_CHANNEL is not parsed + by parser. + + + + Useful for dumping out the input stream after doing some + augmentation or other manipulations. + + You can insert stuff, replace, and delete chunks. Note that the + operations are done lazily--only if you convert the buffer to a + String. This is very efficient because you are not moving data around + all the time. As the buffer of tokens is converted to strings, the + toString() method(s) check to see if there is an operation at the + current index. If so, the operation is done and then normal String + rendering continues on the buffer. This is like having multiple Turing + machine instruction streams (programs) operating on a single input tape. :) + + Since the operations are done lazily at toString-time, operations do not + screw up the token index values. That is, an insert operation at token + index i does not change the index values for tokens i+1..n-1. + + Because operations never actually alter the buffer, you may always get + the original token stream back without undoing anything. Since + the instructions are queued up, you can easily simulate transactions and + roll back any changes if there is an error just by removing instructions. + For example, + + CharStream input = new ANTLRFileStream("input"); + TLexer lex = new TLexer(input); + TokenRewriteStream tokens = new TokenRewriteStream(lex); + T parser = new T(tokens); + parser.startRule(); + + Then in the rules, you can execute + Token t,u; + ... + input.insertAfter(t, "text to put after t");} + input.insertAfter(u, "text after u");} + System.out.println(tokens.toString()); + + Actually, you have to cast the 'input' to a TokenRewriteStream. :( + + You can also have multiple "instruction streams" and get multiple + rewrites from a single pass over the input. Just name the instruction + streams and use that name again when printing the buffer. This could be + useful for generating a C file and also its header file--all from the + same buffer: + + tokens.insertAfter("pass1", t, "text to put after t");} + tokens.insertAfter("pass2", u, "text after u");} + System.out.println(tokens.toString("pass1")); + System.out.println(tokens.toString("pass2")); + + If you don't use named rewrite streams, a "default" stream is used as + the first example shows. + + + What index into rewrites List are we? + + + Token buffer index. + + + + Execute the rewrite operation by possibly adding to the buffer. + Return the index of the next token to operate on. + + + + + I'm going to try replacing range from x..y with (y-x)+1 ReplaceOp + instructions. + + + + + You may have multiple, named streams of rewrite operations. + I'm calling these things "programs." + Maps String (name) -> rewrite (List) + + + + Map String (program name) -> Integer index + + + + Rollback the instruction stream for a program so that + the indicated instruction (via instructionIndex) is no + longer in the stream. UNTESTED! + + + + Reset the program so that no instructions exist + + + We need to combine operations and report invalid operations (like + overlapping replaces that are not completed nested). Inserts to + same index need to be combined etc... Here are the cases: + + I.i.u I.j.v leave alone, nonoverlapping + I.i.u I.i.v combine: Iivu + + R.i-j.u R.x-y.v | i-j in x-y delete first R + R.i-j.u R.i-j.v delete first R + R.i-j.u R.x-y.v | x-y in i-j ERROR + R.i-j.u R.x-y.v | boundaries overlap ERROR + + Delete special case of replace (text==null): + D.i-j.u D.x-y.v | boundaries overlap combine to max(min)..max(right) + + I.i.u R.x-y.v | i in (x+1)-y delete I (since insert before + we're not deleting i) + I.i.u R.x-y.v | i not in (x+1)-y leave alone, nonoverlapping + R.x-y.v I.i.u | i in x-y ERROR + R.x-y.v I.x.u R.x-y.uv (combine, delete I) + R.x-y.v I.i.u | i not in x-y leave alone, nonoverlapping + + I.i.u = insert u before op @ index i + R.x-y.u = replace x-y indexed tokens with u + + First we need to examine replaces. For any replace op: + + 1. wipe out any insertions before op within that range. + 2. Drop any replace op before that is contained completely within + that range. + 3. Throw exception upon boundary overlap with any previous replace. + + Then we can deal with inserts: + + 1. for any inserts to same index, combine even if not adjacent. + 2. for any prior replace with same left boundary, combine this + insert with replace and delete this replace. + 3. throw exception if index in same range as previous replace + + Don't actually delete; make op null in list. Easier to walk list. + Later we can throw as we add to index -> op map. + + Note that I.2 R.2-2 will wipe out I.2 even though, technically, the + inserted stuff would be before the replace range. But, if you + add tokens in front of a method body '{' and then delete the method + body, I think the stuff before the '{' you added should disappear too. + + Return a map from token index to operation. + + + Get all operations before an index of a particular kind + + + + In an action, a lexer rule can set token to this SKIP_TOKEN and ANTLR + will avoid creating a token for this symbol and try to fetch another. + + + + imaginary tree navigation type; traverse "get child" link + + + imaginary tree navigation type; finish with a child list + + + + A generic tree implementation with no payload. You must subclass to + actually have any user data. ANTLR v3 uses a list of children approach + instead of the child-sibling approach in v2. A flat tree (a list) is + an empty node whose children represent the list. An empty, but + non-null node is called "nil". + + + + + Create a new node from an existing node does nothing for BaseTree + as there are no fields other than the children list, which cannot + be copied as the children are not considered part of this node. + + + + + Get the children internal List; note that if you directly mess with + the list, do so at your own risk. + + + + BaseTree doesn't track parent pointers. + + + BaseTree doesn't track child indexes. + + + Add t as child of this node. + + + Warning: if t has no children, but child does + and child isNil then this routine moves children to t via + t.children = child.children; i.e., without copying the array. + + + + Add all elements of kids list as children of this node + + + Insert child t at child position i (0..n-1) by shifting children + i+1..n-1 to the right one position. Set parent / indexes properly + but does NOT collapse nil-rooted t's that come in here like addChild. + + + + Delete children from start to stop and replace with t even if t is + a list (nil-root tree). num of children can increase or decrease. + For huge child lists, inserting children can force walking rest of + children to set their childindex; could be slow. + + + + Override in a subclass to change the impl of children list + + + Set the parent and child index values for all child of t + + + Walk upwards looking for ancestor with this token type. + + + Walk upwards and get first ancestor with this token type. + + + + Return a list of all ancestors of this node. The first node of + list is the root and the last is the parent of this node. + + + + Print out a whole tree not just a node + + + Override to say how a node (not a tree) should look as text + + + A TreeAdaptor that works with any Tree implementation. + + + + System.identityHashCode() is not always unique; we have to + track ourselves. That's ok, it's only for debugging, though it's + expensive: we have to create a hashtable with all tree nodes in it. + + + + + Create tree node that holds the start and stop tokens associated + with an error. + + + + If you specify your own kind of tree nodes, you will likely have to + override this method. CommonTree returns Token.INVALID_TOKEN_TYPE + if no token payload but you might have to set token type for diff + node type. + + You don't have to subclass CommonErrorNode; you will likely need to + subclass your own tree node class to avoid class cast exception. + + + + + This is generic in the sense that it will work with any kind of + tree (not just ITree interface). It invokes the adaptor routines + not the tree node routines to do the construction. + + + + + Add a child to the tree t. If child is a flat tree (a list), make all + in list children of t. Warning: if t has no children, but child does + and child isNil then you can decide it is ok to move children to t via + t.children = child.children; i.e., without copying the array. Just + make sure that this is consistent with have the user will build + ASTs. + + + + + If oldRoot is a nil root, just copy or move the children to newRoot. + If not a nil root, make oldRoot a child of newRoot. + + + + old=^(nil a b c), new=r yields ^(r a b c) + old=^(a b c), new=r yields ^(r ^(a b c)) + + If newRoot is a nil-rooted single child tree, use the single + child as the new root node. + + old=^(nil a b c), new=^(nil r) yields ^(r a b c) + old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) + + If oldRoot was null, it's ok, just return newRoot (even if isNil). + + old=null, new=r yields r + old=null, new=^(nil r) yields ^(nil r) + + Return newRoot. Throw an exception if newRoot is not a + simple node or nil root with a single child node--it must be a root + node. If newRoot is ^(nil x) return x as newRoot. + + Be advised that it's ok for newRoot to point at oldRoot's + children; i.e., you don't have to copy the list. We are + constructing these nodes so we should have this control for + efficiency. + + + + Transform ^(nil x) to x and nil to null + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + This is a variant of createToken where the new token is derived from + an actual real input token. Typically this is for converting '{' + tokens to BLOCK etc... You'll see + + r : lc='{' ID+ '}' -> ^(BLOCK[$lc] ID+) ; + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + Duplicate a node. This is part of the factory; + override if you want another kind of node to be built. + + + + I could use reflection to prevent having to override this + but reflection is slow. + + + + + Track start/stop token for subtree root created for a rule. + Only works with Tree nodes. For rules that match nothing, + seems like this will yield start=i and stop=i-1 in a nil node. + Might be useful info so I'll not force to be i..i. + + + + A buffered stream of tree nodes. Nodes can be from a tree of ANY kind. + + This node stream sucks all nodes out of the tree specified in + the constructor during construction and makes pointers into + the tree using an array of Object pointers. The stream necessarily + includes pointers to DOWN and UP and EOF nodes. + + This stream knows how to mark/release for backtracking. + + This stream is most suitable for tree interpreters that need to + jump around a lot or for tree parsers requiring speed (at cost of memory). + There is some duplicated functionality here with UnBufferedTreeNodeStream + but just in bookkeeping, not tree walking etc... + + TARGET DEVELOPERS: + + This is the old CommonTreeNodeStream that buffered up entire node stream. + No need to implement really as new CommonTreeNodeStream is much better + and covers what we need. + + @see CommonTreeNodeStream + + + The complete mapping from stream index to tree node. + This buffer includes pointers to DOWN, UP, and EOF nodes. + It is built upon ctor invocation. The elements are type + Object as we don't what the trees look like. + + Load upon first need of the buffer so we can set token types + of interest for reverseIndexing. Slows us down a wee bit to + do all of the if p==-1 testing everywhere though. + + + Pull nodes from which tree? + + + IF this tree (root) was created from a token stream, track it. + + + What tree adaptor was used to build these trees + + + Reuse same DOWN, UP navigation nodes unless this is true + + + The index into the nodes list of the current node (next node + to consume). If -1, nodes array not filled yet. + + + Track the last mark() call result value for use in rewind(). + + + Stack of indexes used for push/pop calls + + + Walk tree with depth-first-search and fill nodes buffer. + Don't do DOWN, UP nodes if its a list (t is isNil). + + + What is the stream index for node? 0..n-1 + Return -1 if node not found. + + + As we flatten the tree, we use UP, DOWN nodes to represent + the tree structure. When debugging we need unique nodes + so instantiate new ones when uniqueNavigationNodes is true. + + + Look backwards k nodes + + + + Make stream jump to a new location, saving old location. + Switch back with pop(). + + + + + Seek back to previous index saved during last push() call. + Return top of stack (return index). + + + + Used for testing, just return the token type stream + + + Debugging + + + A node representing erroneous token range in token stream + + + + A tree node that is wrapper for a Token object. After 3.0 release + while building tree rewrite stuff, it became clear that computing + parent and child index is very difficult and cumbersome. Better to + spend the space in every tree node. If you don't want these extra + fields, it's easy to cut them out in your own BaseTree subclass. + + + + A single token is the payload + + + + What token indexes bracket all tokens associated with this node + and below? + + + + Who is the parent node of this node; if null, implies node is root + + + What index is this node in the child list? Range: 0..n-1 + + + + For every node in this subtree, make sure it's start/stop token's + are set. Walk depth first, visit bottom up. Only updates nodes + with at least one token index < 0. + + + + + A TreeAdaptor that works with any Tree implementation. It provides + really just factory methods; all the work is done by BaseTreeAdaptor. + If you would like to have different tokens created than ClassicToken + objects, you need to override this and then set the parser tree adaptor to + use your subclass. + + + + To get your parser to build nodes of a different type, override + create(Token), errorNode(), and to be safe, YourTreeClass.dupNode(). + dupNode is called to duplicate nodes during rewrite operations. + + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + This is a variant of createToken where the new token is derived from + an actual real input token. Typically this is for converting '{' + tokens to BLOCK etc... You'll see + + r : lc='{' ID+ '}' -> ^(BLOCK[$lc] ID+) ; + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + What is the Token associated with this node? If + you are not using CommonTree, then you must + override this in your own adaptor. + + + + Pull nodes from which tree? + + + If this tree (root) was created from a token stream, track it. + + + What tree adaptor was used to build these trees + + + The tree iterator we are using + + + Stack of indexes used for push/pop calls + + + Tree (nil A B C) trees like flat A B C streams + + + Tracks tree depth. Level=0 means we're at root node level. + + + Tracks the last node before the start of {@link #data} which contains + position information to provide information for error reporting. This is + tracked in addition to {@link #prevElement} which may or may not contain + position information. + + @see #hasPositionInformation + @see RecognitionException#extractInformationFromTreeNodeStream + + + Make stream jump to a new location, saving old location. + Switch back with pop(). + + + Seek back to previous index saved during last push() call. + Return top of stack (return index). + + + Returns an element containing position information. If {@code allowApproximateLocation} is {@code false}, then + this method will return the {@code LT(1)} element if it contains position information, and otherwise return {@code null}. + If {@code allowApproximateLocation} is {@code true}, then this method will return the last known element containing position information. + + @see #hasPositionInformation + + + For debugging; destructive: moves tree iterator to end. + + + A utility class to generate DOT diagrams (graphviz) from + arbitrary trees. You can pass in your own templates and + can pass in any kind of tree or use Tree interface method. + I wanted this separator so that you don't have to include + ST just to use the org.antlr.runtime.tree.* package. + This is a set of non-static methods so you can subclass + to override. For example, here is an invocation: + + CharStream input = new ANTLRInputStream(System.in); + TLexer lex = new TLexer(input); + CommonTokenStream tokens = new CommonTokenStream(lex); + TParser parser = new TParser(tokens); + TParser.e_return r = parser.e(); + Tree t = (Tree)r.tree; + System.out.println(t.toStringTree()); + DOTTreeGenerator gen = new DOTTreeGenerator(); + StringTemplate st = gen.toDOT(t); + System.out.println(st); + + + Track node to number mapping so we can get proper node name back + + + Track node number so we can get unique node names + + + Generate DOT (graphviz) for a whole tree not just a node. + For example, 3+4*5 should generate: + + digraph { + node [shape=plaintext, fixedsize=true, fontsize=11, fontname="Courier", + width=.4, height=.2]; + edge [arrowsize=.7] + "+"->3 + "+"->"*" + "*"->4 + "*"->5 + } + + Takes a Tree interface object. + + + + @author Sam Harwell + + + Returns an element containing concrete information about the current + position in the stream. + + @param allowApproximateLocation if {@code false}, this method returns + {@code null} if an element containing exact information about the current + position is not available + + + Determines if the specified {@code element} contains concrete position + information. + + @param element the element to check + @return {@code true} if {@code element} contains concrete position + information, otherwise {@code false} + + + + What does a tree look like? ANTLR has a number of support classes + such as CommonTreeNodeStream that work on these kinds of trees. You + don't have to make your trees implement this interface, but if you do, + you'll be able to use more support code. + + + + NOTE: When constructing trees, ANTLR can build any kind of tree; it can + even use Token objects as trees if you add a child list to your tokens. + + This is a tree node without any payload; just navigation and factory stuff. + + + + Is there is a node above with token type ttype? + + + Walk upwards and get first ancestor with this token type. + + + + Return a list of all ancestors of this node. The first node of + list is the root and the last is the parent of this node. + + + + This node is what child index? 0..n-1 + + + Set the parent and child index values for all children + + + + Add t as a child to this node. If t is null, do nothing. If t + is nil, add all children of t to this' children. + + + + Set ith child (0..n-1) to t; t must be non-null and non-nil node + + + + Delete children from start to stop and replace with t even if t is + a list (nil-root tree). num of children can increase or decrease. + For huge child lists, inserting children can force walking rest of + children to set their childindex; could be slow. + + + + + Indicates the node is a nil node but may still have children, meaning + the tree is a flat list. + + + + + What is the smallest token index (indexing from 0) for this node + and its children? + + + + + What is the largest token index (indexing from 0) for this node + and its children? + + + + Return a token type; needed for tree parsing + + + In case we don't have a token payload, what is the line for errors? + + + + How to create and navigate trees. Rather than have a separate factory + and adaptor, I've merged them. Makes sense to encapsulate. + + + + This takes the place of the tree construction code generated in the + generated code in 2.x and the ASTFactory. + + I do not need to know the type of a tree at all so they are all + generic Objects. This may increase the amount of typecasting needed. :( + + + + + Create a tree node from Token object; for CommonTree type trees, + then the token just becomes the payload. This is the most + common create call. + + + + Override if you want another kind of node to be built. + + + + + Create a new node derived from a token, with a new token type. + This is invoked from an imaginary node ref on right side of a + rewrite rule as IMAG[$tokenLabel]. + + + + This should invoke createToken(Token). + + + + + Same as create(tokenType,fromToken) except set the text too. + This is invoked from an imaginary node ref on right side of a + rewrite rule as IMAG[$tokenLabel, "IMAG"]. + + + + This should invoke createToken(Token). + + + + + Same as create(fromToken) except set the text too. + This is invoked when the text terminal option is set, as in + IMAG<text='IMAG'>. + + + + This should invoke createToken(Token). + + + + + Create a new node derived from a token, with a new token type. + This is invoked from an imaginary node ref on right side of a + rewrite rule as IMAG["IMAG"]. + + + + This should invoke createToken(int,String). + + + + Duplicate a single tree node. + Override if you want another kind of node to be built. + + + Duplicate tree recursively, using dupNode() for each node + + + + Return a nil node (an empty but non-null node) that can hold + a list of element as the children. If you want a flat tree (a list) + use "t=adaptor.nil(); t.addChild(x); t.addChild(y);" + + + + + Return a tree node representing an error. This node records the + tokens consumed during error recovery. The start token indicates the + input symbol at which the error was detected. The stop token indicates + the last symbol consumed during recovery. + + + + You must specify the input stream so that the erroneous text can + be packaged up in the error node. The exception could be useful + to some applications; default implementation stores ptr to it in + the CommonErrorNode. + + This only makes sense during token parsing, not tree parsing. + Tree parsing should happen only when parsing and tree construction + succeed. + + + + Is tree considered a nil node used to make lists of child nodes? + + + + Add a child to the tree t. If child is a flat tree (a list), make all + in list children of t. Warning: if t has no children, but child does + and child isNil then you can decide it is ok to move children to t via + t.children = child.children; i.e., without copying the array. Just + make sure that this is consistent with have the user will build + ASTs. Do nothing if t or child is null. + + + + + If oldRoot is a nil root, just copy or move the children to newRoot. + If not a nil root, make oldRoot a child of newRoot. + + + + old=^(nil a b c), new=r yields ^(r a b c) + old=^(a b c), new=r yields ^(r ^(a b c)) + + If newRoot is a nil-rooted single child tree, use the single + child as the new root node. + + old=^(nil a b c), new=^(nil r) yields ^(r a b c) + old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) + + If oldRoot was null, it's ok, just return newRoot (even if isNil). + + old=null, new=r yields r + old=null, new=^(nil r) yields ^(nil r) + + Return newRoot. Throw an exception if newRoot is not a + simple node or nil root with a single child node--it must be a root + node. If newRoot is ^(nil x) return x as newRoot. + + Be advised that it's ok for newRoot to point at oldRoot's + children; i.e., you don't have to copy the list. We are + constructing these nodes so we should have this control for + efficiency. + + + + + Given the root of the subtree created for this rule, post process + it to do any simplifications or whatever you want. A required + behavior is to convert ^(nil singleSubtree) to singleSubtree + as the setting of start/stop indexes relies on a single non-nil root + for non-flat trees. + + + + Flat trees such as for lists like "idlist : ID+ ;" are left alone + unless there is only one ID. For a list, the start/stop indexes + are set in the nil node. + + This method is executed after all rule tree construction and right + before setTokenBoundaries(). + + + + For identifying trees. + + + How to identify nodes so we can say "add node to a prior node"? + Even becomeRoot is an issue. Use System.identityHashCode(node) + usually. + + + + + Create a node for newRoot make it the root of oldRoot. + If oldRoot is a nil root, just copy or move the children to newRoot. + If not a nil root, make oldRoot a child of newRoot. + + + + Return node created for newRoot. + + + + Be advised: when debugging ASTs, the DebugTreeAdaptor manually + calls create(Token child) and then plain becomeRoot(node, node) + because it needs to trap calls to create, but it can't since it delegates + to not inherits from the TreeAdaptor. + + + + For tree parsing, I need to know the token type of a node + + + Node constructors can set the type of a node + + + Node constructors can set the text of a node + + + + Return the token object from which this node was created. + Currently used only for printing an error message. + The error display routine in BaseRecognizer needs to + display where the input the error occurred. If your + tree of limitation does not store information that can + lead you to the token, you can create a token filled with + the appropriate information and pass that back. See + BaseRecognizer.getErrorMessage(). + + + + + Where are the bounds in the input token stream for this node and + all children? Each rule that creates AST nodes will call this + method right before returning. Flat trees (i.e., lists) will + still usually have a nil root node just to hold the children list. + That node would contain the start/stop indexes then. + + + + Get the token start index for this subtree; return -1 if no such index + + + Get the token stop index for this subtree; return -1 if no such index + + + Get a child 0..n-1 node + + + Set ith child (0..n-1) to t; t must be non-null and non-nil node + + + Remove ith child and shift children down from right. + + + How many children? If 0, then this is a leaf node + + + + Who is the parent node of this node; if null, implies node is root. + If your node type doesn't handle this, it's ok but the tree rewrites + in tree parsers need this functionality. + + + + + What index is this node in the child list? Range: 0..n-1 + If your node type doesn't handle this, it's ok but the tree rewrites + in tree parsers need this functionality. + + + + + Replace from start to stop child index of parent with t, which might + be a list. Number of children may be different after this call. + + + + If parent is null, don't do anything; must be at root of overall tree. + Can't replace whatever points to the parent externally. Do nothing. + + + + A stream of tree nodes, accessing nodes from a tree of some kind + + + + Get a tree node at an absolute index i; 0..n-1. + If you don't want to buffer up nodes, then this method makes no + sense for you. + + + + + Get tree node at current input pointer + ahead where + ==1 is next node. <0 indicates nodes in the past. So + {@code LT(-1)} is previous node, but implementations are not required to + provide results for < -1. {@code LT(0)} is undefined. For + <=n, return . Return for {@code LT(0)} + and any index that results in an absolute address that is negative. + + + + This is analogous to , but this returns a tree node + instead of a . Makes code generation identical for both + parser and tree grammars. + + + + + Where is this stream pulling nodes from? This is not the name, but + the object that provides node objects. + + + + + If the tree associated with this stream was created from a + {@link TokenStream}, you can specify it here. Used to do rule + {@code $text} attribute in tree parser. Optional unless you use tree + parser rule {@code $text} attribute or {@code output=template} and + {@code rewrite=true} options. + + + + + What adaptor can tell me how to interpret/navigate nodes and + trees. E.g., get text of a node. + + + + + As we flatten the tree, we use {@link Token#UP}, {@link Token#DOWN} nodes + to represent the tree structure. When debugging we need unique nodes so + we have to instantiate new ones. When doing normal tree parsing, it's + slow and a waste of memory to create unique navigation nodes. Default + should be {@code false}. + + + + + Return the text of all nodes from {@code start} to {@code stop}, + inclusive. If the stream does not buffer all the nodes then it can still + walk recursively from start until stop. You can always return + {@code null} or {@code ""} too, but users should not access + {@code $ruleLabel.text} in an action of course in that case. + + + + + Replace children of {@code parent} from index {@code startChildIndex} to + {@code stopChildIndex} with {@code t}, which might be a list. Number of + children may be different after this call. The stream is notified because + it is walking the tree and might need to know you are monkeying with the + underlying tree. Also, it might be able to modify the node stream to + avoid restreaming for future phases. + + + + If {@code parent} is {@code null}, don't do anything; must be at root of + overall tree. Can't replace whatever points to the parent externally. Do + nothing. + + + + + How to execute code for node t when a visitor visits node t. Execute + pre() before visiting children and execute post() after visiting children. + + + + + Execute an action before visiting children of t. Return t or + a rewritten t. It is up to the visitor to decide what to do + with the return value. Children of returned value will be + visited if using TreeVisitor.visit(). + + + + + Execute an action after visiting children of t. Return t or + a rewritten t. It is up to the visitor to decide what to do + with the return value. + + + + + A record of the rules used to match a token sequence. The tokens + end up as the leaves of this tree and rule nodes are the interior nodes. + This really adds no functionality, it is just an alias for CommonTree + that is more meaningful (specific) and holds a String to display for a node. + + + + + Emit a token and all hidden nodes before. EOF node holds all + hidden tokens after last real token. + + + + + Print out the leaves of this tree, which means printing original + input back out. + + + + + Base class for all exceptions thrown during AST rewrite construction. + This signifies a case where the cardinality of two or more elements + in a subrule are different: (ID INT)+ where |ID|!=|INT| + + + + No elements within a (...)+ in a rewrite rule + + + Ref to ID or expr but no tokens in ID stream or subtrees in expr stream + + + + A generic list of elements tracked in an alternative to be used in + a -> rewrite rule. We need to subclass to fill in the next() method, + which returns either an AST node wrapped around a token payload or + an existing subtree. + + + + Once you start next()ing, do not try to add more elements. It will + break the cursor tracking I believe. + + TODO: add mechanism to detect/puke on modification after reading from stream + + + + + + + + Cursor 0..n-1. If singleElement!=null, cursor is 0 until you next(), + which bumps it to 1 meaning no more elements. + + + + Track single elements w/o creating a list. Upon 2nd add, alloc list + + + The list of tokens or subtrees we are tracking + + + Once a node / subtree has been used in a stream, it must be dup'd + from then on. Streams are reset after subrules so that the streams + can be reused in future subrules. So, reset must set a dirty bit. + If dirty, then next() always returns a dup. + + + The element or stream description; usually has name of the token or + rule reference that this list tracks. Can include rulename too, but + the exception would track that info. + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + + Reset the condition of this stream so that it appears we have + not consumed any of its elements. Elements themselves are untouched. + Once we reset the stream, any future use will need duplicates. Set + the dirty bit. + + + + + Return the next element in the stream. If out of elements, throw + an exception unless size()==1. If size is 1, then return elements[0]. + Return a duplicate node/subtree if stream is out of elements and + size==1. If we've already used the element, dup (dirty bit set). + + + + + Do the work of getting the next element, making sure that it's + a tree node or subtree. Deal with the optimization of single- + element list versus list of size > 1. Throw an exception + if the stream is empty or we're out of elements and size>1. + protected so you can override in a subclass if necessary. + + + + + When constructing trees, sometimes we need to dup a token or AST + subtree. Dup'ing a token means just creating another AST node + around it. For trees, you must call the adaptor.dupTree() unless + the element is for a tree root; then it must be a node dup. + + + + + Ensure stream emits trees; tokens must be converted to AST nodes. + AST nodes can be passed through unmolested. + + + + + Queues up nodes matched on left side of -> in a tree parser. This is + the analog of RewriteRuleTokenStream for normal parsers. + + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + + Treat next element as a single node even if it's a subtree. + This is used instead of next() when the result has to be a + tree root node. Also prevents us from duplicating recently-added + children; e.g., ^(type ID)+ adds ID to type and then 2nd iteration + must dup the type node, but ID has been added. + + + + Referencing a rule result twice is ok; dup entire tree as + we can't be adding trees as root; e.g., expr expr. + + Hideous code duplication here with super.next(). Can't think of + a proper way to refactor. This needs to always call dup node + and super.next() doesn't know which to call: dup node or dup tree. + + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + Get next token from stream and make a node for it + + + + Don't convert to a tree unless they explicitly call nextTree. + This way we can do hetero tree nodes in rewrite. + + + + Return a node stream from a doubly-linked tree whose nodes + know what child index they are. No remove() is supported. + + Emit navigation nodes (DOWN, UP, and EOF) to let show tree structure. + + + If we emit UP/DOWN nodes, we need to spit out multiple nodes per + next() call. + + + + A parser for a stream of tree nodes. "tree grammars" result in a subclass + of this. All the error reporting and recovery is shared with Parser via + the BaseRecognizer superclass. + + + + Set the input stream + + + + Match '.' in tree parser has special meaning. Skip node or + entire tree if node has children. If children, scan until + corresponding UP node. + + + + + We have DOWN/UP nodes in the stream that have no line info; override. + plus we want to alter the exception type. Don't try to recover + from tree parser errors inline... + + + + + Prefix error message with the grammar name because message is + always intended for the programmer because the parser built + the input tree not the user. + + + + + Tree parsers parse nodes they usually have a token object as + payload. Set the exception token and do the default behavior. + + + + The tree pattern to lex like "(A B C)" + + + Index into input string + + + Current char + + + How long is the pattern in char? + + + Set when token type is ID or ARG (name mimics Java's StreamTokenizer) + + + Override this if you need transformation tracing to go somewhere + other than stdout or if you're not using ITree-derived trees. + + + + This is identical to the ParserRuleReturnScope except that + the start property is a tree nodes not Token object + when you are parsing trees. + + + + Gets the first node or root node of tree matched for this rule. + + + Do a depth first walk of a tree, applying pre() and post() actions as we go. + + + + Visit every node in tree t and trigger an action for each node + before/after having visited all of its children. Bottom up walk. + Execute both actions even if t has no children. Ignore return + results from transforming children since they will have altered + the child list of this node (their parent). Return result of + applying post action to this node. + + + + + Build and navigate trees with this object. Must know about the names + of tokens so you have to pass in a map or array of token names (from which + this class can build the map). I.e., Token DECL means nothing unless the + class can translate it to a token type. + + + + In order to create nodes and navigate, this class needs a TreeAdaptor. + + This class can build a token type -> node index for repeated use or for + iterating over the various nodes with a particular type. + + This class works in conjunction with the TreeAdaptor rather than moving + all this functionality into the adaptor. An adaptor helps build and + navigate trees using methods. This class helps you do it with string + patterns like "(A B C)". You can create a tree from that pattern or + match subtrees against it. + + + + + When using %label:TOKENNAME in a tree for parse(), we must + track the label. + + + + This adaptor creates TreePattern objects for use during scan() + + + + Compute a Map<String, Integer> that is an inverted index of + tokenNames (which maps int token types to names). + + + + Using the map of token names to token types, return the type. + + + + Walk the entire tree and make a node name to nodes mapping. + For now, use recursion but later nonrecursive version may be + more efficient. Returns Map<Integer, List> where the List is + of your AST node type. The Integer is the token type of the node. + + + + TODO: save this index so that find and visit are faster + + + + Do the work for index + + + Return a List of tree nodes with token type ttype + + + Return a List of subtrees matching pattern. + + + + Visit every ttype node in t, invoking the visitor. This is a quicker + version of the general visit(t, pattern) method. The labels arg + of the visitor action method is never set (it's null) since using + a token type rather than a pattern doesn't let us set a label. + + + + Do the recursive work for visit + + + + For all subtrees that match the pattern, execute the visit action. + The implementation uses the root node of the pattern in combination + with visit(t, ttype, visitor) so nil-rooted patterns are not allowed. + Patterns with wildcard roots are also not allowed. + + + + + Given a pattern like (ASSIGN %lhs:ID %rhs:.) with optional labels + on the various nodes and '.' (dot) as the node/subtree wildcard, + return true if the pattern matches and fill the labels Map with + the labels pointing at the appropriate nodes. Return false if + the pattern is malformed or the tree does not match. + + + + If a node specifies a text arg in pattern, then that must match + for that node in t. + + TODO: what's a better way to indicate bad pattern? Exceptions are a hassle + + + + + Do the work for parse. Check to see if the t2 pattern fits the + structure and token types in t1. Check text if the pattern has + text arguments on nodes. Fill labels map with pointers to nodes + in tree matched against nodes in pattern with labels. + + + + + Create a tree or node from the indicated tree pattern that closely + follows ANTLR tree grammar tree element syntax: + + (root child1 ... child2). + + + + You can also just pass in a node: ID + + Any node can have a text argument: ID[foo] + (notice there are no quotes around foo--it's clear it's a string). + + nil is a special name meaning "give me a nil node". Useful for + making lists: (nil A B C) is a list of A B C. + + + + + Compare t1 and t2; return true if token types/text, structure match exactly. + The trees are examined in their entirety so that (A B) does not match + (A B C) nor (A (B C)). + + + + TODO: allow them to pass in a comparator + TODO: have a version that is nonstatic so it can use instance adaptor + + I cannot rely on the tree node's equals() implementation as I make + no constraints at all on the node types nor interface etc... + + + + + Compare type, structure, and text of two trees, assuming adaptor in + this instance of a TreeWizard. + + + + A token stream that pulls tokens from the code source on-demand and + without tracking a complete buffer of the tokens. This stream buffers + the minimum number of tokens possible. It's the same as + OnDemandTokenStream except that OnDemandTokenStream buffers all tokens. + + You can't use this stream if you pass whitespace or other off-channel + tokens to the parser. The stream can't ignore off-channel tokens. + + You can only look backwards 1 token: LT(-1). + + Use this when you need to read from a socket or other infinite stream. + + @see BufferedTokenStream + @see CommonTokenStream + + + Skip tokens on any channel but this one; this is how we skip whitespace... + + + An extra token while parsing a TokenStream + + + diff --git a/packages/Antlr3.Runtime.3.5.1/lib/portable-net4+sl5+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1/Antlr3.Runtime.dll b/packages/Antlr3.Runtime.3.5.1/lib/portable-net4+sl5+netcore45+wpa81+wp8+MonoAndroid1+MonoTouch1/Antlr3.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..63a4ba8472d050b823bbca3ce39defe97d9e607c GIT binary patch literal 96768 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 + + + Antlr3.Runtime + + + + + A kind of ReaderStream that pulls from an InputStream. + Useful for reading from stdin and specifying file encodings etc... + + + + + Vacuum all input from a Reader and then treat it like a StringStream. + Manage the buffer manually to avoid unnecessary data copying. + + + + If you need encoding, use ANTLRInputStream. + + + + + A pretty quick CharStream that pulls all data from an array + directly. Every method call counts in the lexer. Java's + strings aren't very good so I'm avoiding. + + + + The data being scanned + + + How many characters are actually in the buffer + + + 0..n-1 index into string of next char + + + line number 1..n within the input + + + The index of the character relative to the beginning of the line 0..n-1 + + + tracks how deep mark() calls are nested + + + + A list of CharStreamState objects that tracks the stream state + values line, charPositionInLine, and p that can change as you + move through the input stream. Indexed from 1..markDepth. + A null is kept @ index 0. Create upon first call to mark(). + + + + Track the last mark() call result value for use in rewind(). + + + What is name or source of this char stream? + + + Copy data in string to a local char array + + + This is the preferred constructor as no data is copied + + + + Return the current input symbol index 0..n where n indicates the + last symbol has been read. The index is the index of char to + be returned from LA(1). + + + + + Reset the stream so that it's in the same state it was + when the object was created *except* the data array is not + touched. + + + + + consume() ahead until p==index; can't just set p=index as we must + update line and charPositionInLine. + + + + + A generic recognizer that can handle recognizers generated from + lexer, parser, and tree grammars. This is all the parsing + support code essentially; most of it is error recovery stuff and + backtracking. + + + + + State of a lexer, parser, or tree parser are collected into a state + object so the state can be shared. This sharing is needed to + have one grammar import others and share same error variables + and other state variables. It's a kind of explicit multiple + inheritance via delegation of methods and shared state. + + + + reset the parser's state; subclasses must rewinds the input stream + + + + Match current input symbol against ttype. Attempt + single token insertion or deletion error recovery. If + that fails, throw MismatchedTokenException. + + + + To turn off single token insertion or deletion error + recovery, override recoverFromMismatchedToken() and have it + throw an exception. See TreeParser.recoverFromMismatchedToken(). + This way any error in a rule will cause an exception and + immediate exit from rule. Rule would recover by resynchronizing + to the set of symbols that can follow rule ref. + + + + Match the wildcard: in a symbol + + + Report a recognition problem. + + + This method sets errorRecovery to indicate the parser is recovering + not parsing. Once in recovery mode, no errors are generated. + To get out of recovery mode, the parser must successfully match + a token (after a resync). So it will go: + + 1. error occurs + 2. enter recovery mode, report error + 3. consume until token found in resynch set + 4. try to resume parsing + 5. next match() will reset errorRecovery mode + + If you override, make sure to update syntaxErrors if you care about that. + + + + What error message should be generated for the various exception types? + + + Not very object-oriented code, but I like having all error message + generation within one method rather than spread among all of the + exception classes. This also makes it much easier for the exception + handling because the exception classes do not have to have pointers back + to this object to access utility routines and so on. Also, changing + the message for an exception type would be difficult because you + would have to subclassing exception, but then somehow get ANTLR + to make those kinds of exception objects instead of the default. + This looks weird, but trust me--it makes the most sense in terms + of flexibility. + + For grammar debugging, you will want to override this to add + more information such as the stack frame with + getRuleInvocationStack(e, this.getClass().getName()) and, + for no viable alts, the decision description and state etc... + + Override this to change the message generated for one or more + exception types. + + + + + Get number of recognition errors (lexer, parser, tree parser). Each + recognizer tracks its own number. So parser and lexer each have + separate count. Does not count the spurious errors found between + an error and next valid token match + + + + + + What is the error header, normally line/character position information? + + + + How should a token be displayed in an error message? The default + is to display just the text, but during development you might + want to have a lot of information spit out. Override in that case + to use t.ToString() (which, for CommonToken, dumps everything about + the token). This is better than forcing you to override a method in + your token objects because you don't have to go modify your lexer + so that it creates a new Java type. + + + + Override this method to change where error messages go + + + + Recover from an error found on the input stream. This is + for NoViableAlt and mismatched symbol exceptions. If you enable + single token insertion and deletion, this will usually not + handle mismatched symbol exceptions but there could be a mismatched + token that the match() routine could not recover from. + + + + + A hook to listen in on the token consumption during error recovery. + The DebugParser subclasses this to fire events to the listenter. + + + + + Compute the context-sensitive FOLLOW set for current rule. + This is set of token types that can follow a specific rule + reference given a specific call chain. You get the set of + viable tokens that can possibly come next (lookahead depth 1) + given the current call chain. Contrast this with the + definition of plain FOLLOW for rule r: + + + FOLLOW(r)={x | S=>*alpha r beta in G and x in FIRST(beta)} + + where x in T* and alpha, beta in V*; T is set of terminals and + V is the set of terminals and nonterminals. In other words, + FOLLOW(r) is the set of all tokens that can possibly follow + references to r in *any* sentential form (context). At + runtime, however, we know precisely which context applies as + we have the call chain. We may compute the exact (rather + than covering superset) set of following tokens. + + For example, consider grammar: + + stat : ID '=' expr ';' // FOLLOW(stat)=={EOF} + | "return" expr '.' + ; + expr : atom ('+' atom)* ; // FOLLOW(expr)=={';','.',')'} + atom : INT // FOLLOW(atom)=={'+',')',';','.'} + | '(' expr ')' + ; + + The FOLLOW sets are all inclusive whereas context-sensitive + FOLLOW sets are precisely what could follow a rule reference. + For input input "i=(3);", here is the derivation: + + stat => ID '=' expr ';' + => ID '=' atom ('+' atom)* ';' + => ID '=' '(' expr ')' ('+' atom)* ';' + => ID '=' '(' atom ')' ('+' atom)* ';' + => ID '=' '(' INT ')' ('+' atom)* ';' + => ID '=' '(' INT ')' ';' + + At the "3" token, you'd have a call chain of + + stat -> expr -> atom -> expr -> atom + + What can follow that specific nested ref to atom? Exactly ')' + as you can see by looking at the derivation of this specific + input. Contrast this with the FOLLOW(atom)={'+',')',';','.'}. + + You want the exact viable token set when recovering from a + token mismatch. Upon token mismatch, if LA(1) is member of + the viable next token set, then you know there is most likely + a missing token in the input stream. "Insert" one by just not + throwing an exception. + + + Attempt to recover from a single missing or extra token. + + EXTRA TOKEN + + LA(1) is not what we are looking for. If LA(2) has the right token, + however, then assume LA(1) is some extra spurious token. Delete it + and LA(2) as if we were doing a normal match(), which advances the + input. + + MISSING TOKEN + + If current token is consistent with what could come after + ttype then it is ok to "insert" the missing token, else throw + exception For example, Input "i=(3;" is clearly missing the + ')'. When the parser returns from the nested call to expr, it + will have call chain: + + stat -> expr -> atom + + and it will be trying to match the ')' at this point in the + derivation: + + => ID '=' '(' INT ')' ('+' atom)* ';' + ^ + match() will see that ';' doesn't match ')' and report a + mismatched token error. To recover, it sees that LA(1)==';' + is in the set of tokens that can follow the ')' token + reference in rule atom. It can assume that you forgot the ')'. + + + Not currently used + + + + Match needs to return the current input symbol, which gets put + into the label for the associated token ref; e.g., x=ID. Token + and tree parsers need to return different objects. Rather than test + for input stream type or change the IntStream interface, I use + a simple method to ask the recognizer to tell me what the current + input symbol is. + + + This is ignored for lexers. + + + Conjure up a missing token during error recovery. + + + The recognizer attempts to recover from single missing + symbols. But, actions might refer to that missing symbol. + For example, x=ID {f($x);}. The action clearly assumes + that there has been an identifier matched previously and that + $x points at that token. If that token is missing, but + the next token in the stream is what we want we assume that + this token is missing and we keep going. Because we + have to return some token to replace the missing token, + we have to conjure one up. This method gives the user control + over the tokens returned for missing tokens. Mostly, + you will want to create something special for identifier + tokens. For literals such as '{' and ',', the default + action in the parser or tree parser works. It simply creates + a CommonToken of the appropriate type. The text will be the token. + If you change what tokens must be created by the lexer, + override this method to create the appropriate tokens. + + + + Consume tokens until one matches the given token set + + + Push a rule's follow set using our own hardcoded stack + + + Return whether or not a backtracking attempt failed. + + + + Used to print out token names like ID during debugging and + error reporting. The generated parsers implement a method + that overrides this to point to their String[] tokenNames. + + + + + For debugging and other purposes, might want the grammar name. + Have ANTLR generate an implementation for this method. + + + + + A convenience method for use most often with template rewrites. + Convert a list of to a list of . + + + + + Given a rule number and a start token index number, return + MEMO_RULE_UNKNOWN if the rule has not parsed input starting from + start index. If this rule has parsed input starting from the + start index before, then return where the rule stopped parsing. + It returns the index of the last token matched by the rule. + + + + For now we use a hashtable and just the slow Object-based one. + Later, we can make a special one for ints and also one that + tosses out data after we commit past input position i. + + + + + Has this rule already parsed input at the current index in the + input stream? Return the stop token index or MEMO_RULE_UNKNOWN. + If we attempted but failed to parse properly before, return + MEMO_RULE_FAILED. + + + + This method has a side-effect: if we have seen this input for + this rule and successfully parsed before, then seek ahead to + 1 past the stop token matched for this rule last time. + + + + + Record whether or not this rule parsed the input at this position + successfully. Use a standard java hashtable for now. + + + + return how many rule/input-index pairs there are in total. + TODO: this includes synpreds. :( + + + + A stripped-down version of org.antlr.misc.BitSet that is just + good enough to handle runtime requirements such as FOLLOW sets + for automatic error recovery. + + + + + We will often need to do a mod operator (i mod nbits). Its + turns out that, for powers of two, this mod operation is + same as (i & (nbits-1)). Since mod is slow, we use a + precomputed mod mask to do the mod instead. + + + + The actual data bits + + + Construct a bitset of size one word (64 bits) + + + Construction from a static array of longs + + + Construction from a list of integers + + + Construct a bitset given the size + The size of the bitset in bits + + + return this | a in a new set + + + or this element into this set (grow as necessary to accommodate) + + + Grows the set to a larger number of bits. + element that must fit in set + + + Sets the size of a set. + how many words the new set should be + + + return how much space is being used by the bits array not how many actually have member bits on. + + + Is this contained within a? + + + Buffer all input tokens but do on-demand fetching of new tokens from + lexer. Useful when the parser or lexer has to set context/mode info before + proper lexing of future tokens. The ST template parser needs this, + for example, because it has to constantly flip back and forth between + inside/output templates. E.g., <names:{hi, <it>}> has to parse names + as part of an expression but "hi, <it>" as a nested template. + + You can't use this stream if you pass whitespace or other off-channel + tokens to the parser. The stream can't ignore off-channel tokens. + (UnbufferedTokenStream is the same way.) + + This is not a subclass of UnbufferedTokenStream because I don't want + to confuse small moving window of tokens it uses for the full buffer. + + + Record every single token pulled from the source so we can reproduce + chunks of it later. The buffer in LookaheadStream overlaps sometimes + as its moving window moves through the input. This list captures + everything so we can access complete input text. + + + Track the last mark() call result value for use in rewind(). + + + The index into the tokens list of the current token (next token + to consume). tokens[p] should be LT(1). p=-1 indicates need + to initialize with first token. The ctor doesn't get a token. + First call to LT(1) or whatever gets the first token and sets p=0; + + + + How deep have we gone? + + + + Move the input pointer to the next incoming token. The stream + must become active with LT(1) available. consume() simply + moves the input pointer so that LT(1) points at the next + input symbol. Consume at least one token. + + Walk past any token not on the channel the parser is listening to. + + + Make sure index i in tokens has a token. + + + add n elements to buffer + + + Given a start and stop index, return a List of all tokens in + the token type BitSet. Return null if no tokens were found. This + method looks at both on and off channel tokens. + + + + When walking ahead with cyclic DFA or for syntactic predicates, + we need to record the state of the input stream (char index, + line, etc...) so that we can rewind the state after scanning ahead. + + + This is the complete state of a stream. + + + Index into the char stream of next lookahead char + + + What line number is the scanner at before processing buffer[p]? + + + What char position 0..n-1 in line is scanner before processing buffer[p]? + + + + A Token object like we'd use in ANTLR 2.x; has an actual string created + and associated with this object. These objects are needed for imaginary + tree nodes that have payload objects. We need to create a Token object + that has a string; the tree node will point at this token. CommonToken + has indexes into a char stream and hence cannot be used to introduce + new strings. + + + + What token number is this from 0..n-1 tokens + + + + We need to be able to change the text once in a while. If + this is non-null, then getText should return this. Note that + start/stop are not affected by changing this. + + + + What token number is this from 0..n-1 tokens; < 0 implies invalid index + + + The char position into the input buffer where this token starts + + + The char position into the input buffer where this token stops + + + + The most common stream of tokens is one where every token is buffered up + and tokens are prefiltered for a certain channel (the parser will only + see these tokens and cannot change the filter channel number during the + parse). + + + TODO: how to access the full token stream? How to track all tokens matched per rule? + + + Skip tokens on any channel but this one; this is how we skip whitespace... + + + Reset this token stream by setting its token source. + + + Always leave p on an on-channel token. + + + Given a starting index, return the index of the first on-channel + token. + + + All debugging events that a recognizer can trigger. + + + I did not create a separate AST debugging interface as it would create + lots of extra classes and DebugParser has a dbg var defined, which makes + it hard to change to ASTDebugEventListener. I looked hard at this issue + and it is easier to understand as one monolithic event interface for all + possible events. Hopefully, adding ST debugging stuff won't be bad. Leave + for future. 4/26/2006. + + + + + The parser has just entered a rule. No decision has been made about + which alt is predicted. This is fired AFTER init actions have been + executed. Attributes are defined and available etc... + The grammarFileName allows composite grammars to jump around among + multiple grammar files. + + + + + Because rules can have lots of alternatives, it is very useful to + know which alt you are entering. This is 1..n for n alts. + + + + + This is the last thing executed before leaving a rule. It is + executed even if an exception is thrown. This is triggered after + error reporting and recovery have occurred (unless the exception is + not caught in this rule). This implies an "exitAlt" event. + The grammarFileName allows composite grammars to jump around among + multiple grammar files. + + + + Track entry into any (...) subrule other EBNF construct + + + + Every decision, fixed k or arbitrary, has an enter/exit event + so that a GUI can easily track what LT/consume events are + associated with prediction. You will see a single enter/exit + subrule but multiple enter/exit decision events, one for each + loop iteration. + + + + + An input token was consumed; matched by any kind of element. + Trigger after the token was matched by things like match(), matchAny(). + + + + + An off-channel input token was consumed. + Trigger after the token was matched by things like match(), matchAny(). + (unless of course the hidden token is first stuff in the input stream). + + + + + Somebody (anybody) looked ahead. Note that this actually gets + triggered by both LA and LT calls. The debugger will want to know + which Token object was examined. Like consumeToken, this indicates + what token was seen at that depth. A remote debugger cannot look + ahead into a file it doesn't have so LT events must pass the token + even if the info is redundant. + + + + + The parser is going to look arbitrarily ahead; mark this location, + the token stream's marker is sent in case you need it. + + + + + After an arbitrairly long lookahead as with a cyclic DFA (or with + any backtrack), this informs the debugger that stream should be + rewound to the position associated with marker. + + + + + Rewind to the input position of the last marker. + Used currently only after a cyclic DFA and just + before starting a sem/syn predicate to get the + input position back to the start of the decision. + Do not "pop" the marker off the state. mark(i) + and rewind(i) should balance still. + + + + + To watch a parser move through the grammar, the parser needs to + inform the debugger what line/charPos it is passing in the grammar. + For now, this does not know how to switch from one grammar to the + other and back for island grammars etc... + + + + This should also allow breakpoints because the debugger can stop + the parser whenever it hits this line/pos. + + + + + A recognition exception occurred such as NoViableAltException. I made + this a generic event so that I can alter the exception hierachy later + without having to alter all the debug objects. + + + + Upon error, the stack of enter rule/subrule must be properly unwound. + If no viable alt occurs it is within an enter/exit decision, which + also must be rewound. Even the rewind for each mark must be unwount. + In the Java target this is pretty easy using try/finally, if a bit + ugly in the generated code. The rewind is generated in DFA.predict() + actually so no code needs to be generated for that. For languages + w/o this "finally" feature (C++?), the target implementor will have + to build an event stack or something. + + Across a socket for remote debugging, only the RecognitionException + data fields are transmitted. The token object or whatever that + caused the problem was the last object referenced by LT. The + immediately preceding LT event should hold the unexpected Token or + char. + + Here is a sample event trace for grammar: + + b : C ({;}A|B) // {;} is there to prevent A|B becoming a set + | D + ; + + The sequence for this rule (with no viable alt in the subrule) for + input 'c c' (there are 3 tokens) is: + + commence + LT(1) + enterRule b + location 7 1 + enter decision 3 + LT(1) + exit decision 3 + enterAlt1 + location 7 5 + LT(1) + consumeToken [c/<4>,1:0] + location 7 7 + enterSubRule 2 + enter decision 2 + LT(1) + LT(1) + recognitionException NoViableAltException 2 1 2 + exit decision 2 + exitSubRule 2 + beginResync + LT(1) + consumeToken [c/<4>,1:1] + LT(1) + endResync + LT(-1) + exitRule b + terminate + + + + + Indicates the recognizer is about to consume tokens to resynchronize + the parser. Any consume events from here until the recovered event + are not part of the parse--they are dead tokens. + + + + + Indicates that the recognizer has finished consuming tokens in order + to resychronize. There may be multiple beginResync/endResync pairs + before the recognizer comes out of errorRecovery mode (in which + multiple errors are suppressed). This will be useful + in a gui where you want to probably grey out tokens that are consumed + but not matched to anything in grammar. Anything between + a beginResync/endResync pair was tossed out by the parser. + + + + A semantic predicate was evaluate with this result and action text + + + + Announce that parsing has begun. Not technically useful except for + sending events over a socket. A GUI for example will launch a thread + to connect and communicate with a remote parser. The thread will want + to notify the GUI when a connection is made. ANTLR parsers + trigger this upon entry to the first rule (the ruleLevel is used to + figure this out). + + + + + Parsing is over; successfully or not. Mostly useful for telling + remote debugging listeners that it's time to quit. When the rule + invocation level goes to zero at the end of a rule, we are done + parsing. + + + + + Input for a tree parser is an AST, but we know nothing for sure + about a node except its type and text (obtained from the adaptor). + This is the analog of the consumeToken method. Again, the ID is + the hashCode usually of the node so it only works if hashCode is + not implemented. If the type is UP or DOWN, then + the ID is not really meaningful as it's fixed--there is + just one UP node and one DOWN navigation node. + + + + + + + The tree parser lookedahead. If the type is UP or DOWN, + then the ID is not really meaningful as it's fixed--there is + just one UP node and one DOWN navigation node. + + + + + A nil was created (even nil nodes have a unique ID... + they are not "null" per se). As of 4/28/2006, this + seems to be uniquely triggered when starting a new subtree + such as when entering a subrule in automatic mode and when + building a tree in rewrite mode. + + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only t.ID is set. + + + + + Upon syntax error, recognizers bracket the error with an error node + if they are building ASTs. + + + + + + Announce a new node built from token elements such as type etc... + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only t.ID, type, text are + set. + + + + Announce a new node built from an existing token. + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only node.ID and token.tokenIndex + are set. + + + + Make a node the new root of an existing root. See + + + Note: the newRootID parameter is possibly different + than the TreeAdaptor.becomeRoot() newRoot parameter. + In our case, it will always be the result of calling + TreeAdaptor.becomeRoot() and not root_n or whatever. + + The listener should assume that this event occurs + only when the current subrule (or rule) subtree is + being reset to newRootID. + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only IDs are set. + + + + + + Make childID a child of rootID. + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only IDs are set. + + + + + + Set the token start/stop token index for a subtree root or node. + + + If you are receiving this event over a socket via + RemoteDebugEventSocketListener then only t.ID is set. + + + + A DFA implemented as a set of transition tables. + + + Any state that has a semantic predicate edge is special; those states + are generated with if-then-else structures in a specialStateTransition() + which is generated by cyclicDFA template. + + There are at most 32767 states (16-bit signed short). + Could get away with byte sometimes but would have to generate different + types and the simulation code too. For a point of reference, the Java + lexer's Tokens rule DFA has 326 states roughly. + + + + Which recognizer encloses this DFA? Needed to check backtracking + + + + From the input stream, predict what alternative will succeed + using this DFA (representing the covering regular approximation + to the underlying CFL). Return an alternative number 1..n. Throw + an exception upon error. + + + + A hook for debugging interface + + + + Given a String that has a run-length-encoding of some unsigned shorts + like "\1\2\3\9", convert to short[] {2,9,9,9}. We do this to avoid + static short[] which generates so much init code that the class won't + compile. :( + + + + Hideous duplication of code, but I need different typed arrays out :( + + + The recognizer did not match anything for a (..)+ loop. + + + + A semantic predicate failed during validation. Validation of predicates + occurs when normally parsing the alternative just like matching a token. + Disambiguating predicate evaluation occurs when we hoist a predicate into + a prediction decision. + + + + AST rules have trees + + + Has a value potentially if output=AST; + + + AST rules have trees + + + Has a value potentially if output=AST; + + + A source of characters for an ANTLR lexer + + + + For infinite streams, you don't need this; primarily I'm providing + a useful interface for action code. Just make sure actions don't + use this on streams that don't support it. + + + + + Get the ith character of lookahead. This is the same usually as + LA(i). This will be used for labels in the generated + lexer code. I'd prefer to return a char here type-wise, but it's + probably better to be 32-bit clean and be consistent with LA. + + + + ANTLR tracks the line information automatically + Because this stream can rewind, we need to be able to reset the line + + + The index of the character relative to the beginning of the line 0..n-1 + + + + A simple stream of integers used when all I care about is the char + or token type sequence (such as interpretation). + + + + + Get int at current input pointer + i ahead where i=1 is next int. + Negative indexes are allowed. LA(-1) is previous token (token + just matched). LA(-i) where i is before first token should + yield -1, invalid char / EOF. + + + + + Tell the stream to start buffering if it hasn't already. Return + current input position, Index, or some other marker so that + when passed to rewind() you get back to the same spot. + rewind(mark()) should not affect the input cursor. The Lexer + track line/col info as well as input index so its markers are + not pure input indexes. Same for tree node streams. + + + + + Return the current input symbol index 0..n where n indicates the + last symbol has been read. The index is the symbol about to be + read not the most recently read symbol. + + + + + Reset the stream so that next call to index would return marker. + The marker will usually be Index but it doesn't have to be. It's + just a marker to indicate what state the stream was in. This is + essentially calling release() and seek(). If there are markers + created after this marker argument, this routine must unroll them + like a stack. Assume the state the stream was in when this marker + was created. + + + + + Rewind to the input position of the last marker. + Used currently only after a cyclic DFA and just + before starting a sem/syn predicate to get the + input position back to the start of the decision. + Do not "pop" the marker off the state. mark(i) + and rewind(i) should balance still. It is + like invoking rewind(last marker) but it should not "pop" + the marker off. It's like seek(last marker's input position). + + + + + You may want to commit to a backtrack but don't want to force the + stream to keep bookkeeping objects around for a marker that is + no longer necessary. This will have the same behavior as + rewind() except it releases resources without the backward seek. + This must throw away resources for all markers back to the marker + argument. So if you're nested 5 levels of mark(), and then release(2) + you have to release resources for depths 2..5. + + + + + Set the input cursor to the position indicated by index. This is + normally used to seek ahead in the input stream. No buffering is + required to do this unless you know your stream will use seek to + move backwards such as when backtracking. + + + + This is different from rewind in its multi-directional + requirement and in that its argument is strictly an input cursor (index). + + For char streams, seeking forward must update the stream state such + as line number. For seeking backwards, you will be presumably + backtracking using the mark/rewind mechanism that restores state and + so this method does not need to update state when seeking backwards. + + Currently, this method is only used for efficient backtracking using + memoization, but in the future it may be used for incremental parsing. + + The index is 0..n-1. A seek to position i means that LA(1) will + return the ith symbol. So, seeking to 0 means LA(1) will return the + first element in the stream. + + + + + Only makes sense for streams that buffer everything up probably, but + might be useful to display the entire stream or for testing. This + value includes a single EOF. + + + + + Where are you getting symbols from? Normally, implementations will + pass the buck all the way to the lexer who can ask its input stream + for the file name or whatever. + + + + + Rules can have start/stop info. + + + + + Gets the start element from the input stream + + + + + Gets the stop element from the input stream + + + + + Rules can have start/stop info. + + The element type of the input stream. + + + + Gets the start element from the input stream + + + + + Gets the stop element from the input stream + + + + Get the text of the token + + + The line number on which this token was matched; line=1..n + + + The index of the first character relative to the beginning of the line 0..n-1 + + + + An index from 0..n-1 of the token object in the input stream. + This must be valid in order to use the ANTLRWorks debugger. + + + + + From what character stream was this token created? You don't have to + implement but it's nice to know where a Token comes from if you have + include files etc... on the input. + + + + + A source of tokens must provide a sequence of tokens via nextToken() + and also must reveal it's source of characters; CommonToken's text is + computed from a CharStream; it only store indices into the char stream. + + + + Errors from the lexer are never passed to the parser. Either you want + to keep going or you do not upon token recognition error. If you do not + want to continue lexing then you do not want to continue parsing. Just + throw an exception not under RecognitionException and Java will naturally + toss you all the way out of the recognizers. If you want to continue + lexing then you should not throw an exception to the parser--it has already + requested a token. Keep lexing until you get a valid one. Just report + errors and keep going, looking for a valid token. + + + + + Return a Token object from your input stream (usually a CharStream). + Do not fail/return upon lexing error; keep chewing on the characters + until you get a good one; errors are not passed through to the parser. + + + + + Where are you getting tokens from? normally the implication will simply + ask lexers input stream. + + + + A stream of tokens accessing tokens from a TokenSource + + + Get Token at current input pointer + i ahead where i=1 is next Token. + i<0 indicates tokens in the past. So -1 is previous token and -2 is + two tokens ago. LT(0) is undefined. For i>=n, return Token.EOFToken. + Return null for LT(0) and any index that results in an absolute address + that is negative. + + + + How far ahead has the stream been asked to look? The return + value is a valid index from 0..n-1. + + + + + Get a token at an absolute index i; 0..n-1. This is really only + needed for profiling and debugging and token stream rewriting. + If you don't want to buffer up tokens, then this method makes no + sense for you. Naturally you can't use the rewrite stream feature. + I believe DebugTokenStream can easily be altered to not use + this method, removing the dependency. + + + + + Where is this stream pulling tokens from? This is not the name, but + the object that provides Token objects. + + + + + Return the text of all tokens from start to stop, inclusive. + If the stream does not buffer all the tokens then it can just + return "" or null; Users should not access $ruleLabel.text in + an action of course in that case. + + + + + Because the user is not required to use a token with an index stored + in it, we must provide a means for two token objects themselves to + indicate the start/end location. Most often this will just delegate + to the other toString(int,int). This is also parallel with + the TreeNodeStream.toString(Object,Object). + + + + + The most common stream of tokens is one where every token is buffered up + and tokens are prefiltered for a certain channel (the parser will only + see these tokens and cannot change the filter channel number during the + parse). + + + TODO: how to access the full token stream? How to track all tokens matched per rule? + + + + Record every single token pulled from the source so we can reproduce + chunks of it later. + + + + Map from token type to channel to override some Tokens' channel numbers + + + Set of token types; discard any tokens with this type + + + Skip tokens on any channel but this one; this is how we skip whitespace... + + + By default, track all incoming tokens + + + Track the last mark() call result value for use in rewind(). + + + + The index into the tokens list of the current token (next token + to consume). p==-1 indicates that the tokens list is empty + + + + + How deep have we gone? + + + + Reset this token stream by setting its token source. + + + + Load all tokens from the token source and put in tokens. + This is done upon first LT request because you might want to + set some token type / channel overrides before filling buffer. + + + + + Move the input pointer to the next incoming token. The stream + must become active with LT(1) available. consume() simply + moves the input pointer so that LT(1) points at the next + input symbol. Consume at least one token. + + + + Walk past any token not on the channel the parser is listening to. + + + + Given a starting index, return the index of the first on-channel token. + + + + A simple filter mechanism whereby you can tell this token stream + to force all tokens of type ttype to be on channel. For example, + when interpreting, we cannot exec actions so we need to tell + the stream to force all WS and NEWLINE to be a different, ignored + channel. + + + + + Given a start and stop index, return a List of all tokens in + the token type BitSet. Return null if no tokens were found. This + method looks at both on and off channel tokens. + + + + + Get the ith token from the current position 1..n where k=1 is the + first symbol of lookahead. + + + + Look backwards k tokens on-channel tokens + + + + Return absolute token i; ignore which channel the tokens are on; + that is, count all tokens not just on-channel tokens. + + + + + A lexer is recognizer that draws input symbols from a character stream. + lexer grammars result in a subclass of this object. A Lexer object + uses simplified match() and error recovery mechanisms in the interest + of speed. + + + + Where is the lexer drawing characters from? + + + + Gets or sets the text matched so far for the current token or any text override. + + + Setting this value replaces any previously set value, and overrides the original text. + + + + Return a token from this source; i.e., match a token on the char stream. + + + Returns the EOF token (default), if you need + to return a custom token instead override this method. + + + + Instruct the lexer to skip creating a token for current lexer rule + and look for another token. nextToken() knows to keep looking when + a lexer rule finishes with token set to SKIP_TOKEN. Recall that + if token==null at end of any token rule, it creates one for you + and emits it. + + + + This is the lexer entry point that sets instance var 'token' + + + + Currently does not support multiple emits per nextToken invocation + for efficiency reasons. Subclass and override this method and + nextToken (to push tokens into a list and pull from that list rather + than a single variable as this implementation does). + + + + + The standard method called to automatically emit a token at the + outermost lexical rule. The token object should point into the + char buffer start..stop. If there is a text override in 'text', + use that to set the token's text. Override this method to emit + custom Token objects. + + + + If you are building trees, then you should also override + Parser or TreeParser.getMissingSymbol(). + + + + What is the index of the current character of lookahead? + + + + Lexers can normally match any char in it's vocabulary after matching + a token, so do the easy thing and just kill a character and hope + it all works out. You can instead use the rule invocation stack + to do sophisticated error recovery if you are in a fragment rule. + + + + A queue that can dequeue and get(i) in O(1) and grow arbitrarily large. + A linked list is fast at dequeue but slow at get(i). An array is + the reverse. This is O(1) for both operations. + + List grows until you dequeue last element at end of buffer. Then + it resets to start filling at 0 again. If adds/removes are balanced, the + buffer will not grow too large. + + No iterator stuff as that's not how we'll use it. + + + dynamically-sized buffer of elements + + + index of next element to fill + + + + How deep have we gone? + + + + + Return element {@code i} elements ahead of current element. {@code i==0} + gets current element. This is not an absolute index into {@link #data} + since {@code p} defines the start of the real list. + + + + Get and remove first element in queue + + + Return string of current buffer contents; non-destructive + + + + A lookahead queue that knows how to mark/release locations in the buffer for + backtracking purposes. Any markers force the {@link FastQueue} superclass to + keep all elements until no more markers; then can reset to avoid growing a + huge buffer. + + + + Absolute token index. It's the index of the symbol about to be + read via {@code LT(1)}. Goes from 0 to numtokens. + + + This is the {@code LT(-1)} element for the first element in {@link #data}. + + + Track object returned by nextElement upon end of stream; + Return it later when they ask for LT passed end of input. + + + Track the last mark() call result value for use in rewind(). + + + tracks how deep mark() calls are nested + + + + Implement nextElement to supply a stream of elements to this + lookahead buffer. Return EOF upon end of the stream we're pulling from. + + + + + Get and remove first element in queue; override + {@link FastQueue#remove()}; it's the same, just checks for backtracking. + + + + Make sure we have at least one element to remove, even if EOF + + + + Make sure we have 'need' elements from current position p. Last valid + p index is data.size()-1. p+need-1 is the data index 'need' elements + ahead. If we need 1 element, (p+1-1)==p must be < data.size(). + + + + add n elements to buffer + + + Size of entire stream is unknown; we only know buffer size from FastQueue + + + + Seek to a 0-indexed absolute token index. Normally used to seek backwards + in the buffer. Does not force loading of nodes. + + + To preserve backward compatibility, this method allows seeking past the + end of the currently buffered data. In this case, the input pointer will + be moved but the data will only actually be loaded upon the next call to + {@link #consume} or {@link #LT} for {@code k>0}. + + + + A mismatched char or Token or tree node + + + + We were expecting a token but it's not found. The current token + is actually what we wanted next. Used for tree node errors too. + + + + + A parser for TokenStreams. "parser grammars" result in a subclass + of this. + + + + Gets or sets the token stream; resets the parser upon a set. + + + + Rules that return more than a single value must return an object + containing all the values. Besides the properties defined in + RuleLabelScope.predefinedRulePropertiesScope there may be user-defined + return values. This class simply defines the minimum properties that + are always defined and methods to access the others that might be + available depending on output option such as template and tree. + + + + Note text is not an actual property of the return value, it is computed + from start and stop using the input stream's toString() method. I + could add a ctor to this so that we can pass in and store the input + stream, but I'm not sure we want to do that. It would seem to be undefined + to get the .text property anyway if the rule matches tokens from multiple + input streams. + + I do not use getters for fields of objects that are used simply to + group values such as this aggregate. The getters/setters are there to + satisfy the superclass interface. + + + + The root of the ANTLR exception hierarchy. + + + To avoid English-only error messages and to generally make things + as flexible as possible, these exceptions are not created with strings, + but rather the information necessary to generate an error. Then + the various reporting methods in Parser and Lexer can be overridden + to generate a localized error message. For example, MismatchedToken + exceptions are built with the expected token type. + So, don't expect getMessage() to return anything. + + Note that as of Java 1.4, you can access the stack trace, which means + that you can compute the complete trace of rules from the start symbol. + This gives you considerable context information with which to generate + useful error messages. + + ANTLR generates code that throws exceptions upon recognition error and + also generates code to catch these exceptions in each rule. If you + want to quit upon first error, you can turn off the automatic error + handling mechanism using rulecatch action, but you still need to + override methods mismatch and recoverFromMismatchSet. + + In general, the recognition exceptions can track where in a grammar a + problem occurred and/or what was the expected input. While the parser + knows its state (such as current input symbol and line info) that + state can change before the exception is reported so current token index + is computed and stored at exception time. From this info, you can + perhaps print an entire line of input not just a single token, for example. + Better to just say the recognizer had a problem and then let the parser + figure out a fancy report. + + + + What input stream did the error occur in? + + + + What was the lookahead index when this exception was thrown? + + + + What is index of token/char were we looking at when the error occurred? + + + + The current Token when an error occurred. Since not all streams + can retrieve the ith Token, we have to track the Token object. + For parsers. Even when it's a tree parser, token might be set. + + + + + If this is a tree parser exception, node is set to the node with + the problem. + + + + The current char when an error occurred. For lexers. + + + + Track the line (1-based) at which the error occurred in case this is + generated from a lexer. We need to track this since the + unexpected char doesn't carry the line info. + + + + + The 0-based index into the line where the error occurred. + + + + + If you are parsing a tree node stream, you will encounter som + imaginary nodes w/o line/col info. We now search backwards looking + for most recent token with line/col info, but notify getErrorHeader() + that info is approximate. + + + + Used for remote debugger deserialization + + + Return the token type or char of the unexpected input element + + + + The set of fields needed by an abstract recognizer to recognize input + and recover from errors etc... As a separate state object, it can be + shared among multiple grammars; e.g., when one grammar imports another. + + + + These fields are publically visible but the actual state pointer per + parser is protected. + + + + + Track the set of token types that can follow any rule invocation. + Stack grows upwards. When it hits the max, it grows 2x in size + and keeps going. + + + + + This is true when we see an error and before having successfully + matched a token. Prevents generation of more than one error message + per error. + + + + + The index into the input stream where the last error occurred. + This is used to prevent infinite loops where an error is found + but no token is consumed during recovery...another error is found, + ad naseum. This is a failsafe mechanism to guarantee that at least + one token/tree node is consumed for two errors. + + + + + In lieu of a return value, this indicates that a rule or token + has failed to match. Reset to false upon valid token match. + + + + Did the recognizer encounter a syntax error? Track how many. + + + + If 0, no backtracking is going on. Safe to exec actions etc... + If >0 then it's the level of backtracking. + + + + + An array[size num rules] of dictionaries that tracks + the stop token index for each rule. ruleMemo[ruleIndex] is + the memoization table for ruleIndex. For key ruleStartIndex, you + get back the stop token for associated rule or MEMO_RULE_FAILED. + + + This is only used if rule memoization is on (which it is by default). + + + + The goal of all lexer rules/methods is to create a token object. + This is an instance variable as multiple rules may collaborate to + create a single token. nextToken will return this object after + matching lexer rule(s). If you subclass to allow multiple token + emissions, then set this to the last token to be matched or + something nonnull so that the auto token emit mechanism will not + emit another token. + + + + + What character index in the stream did the current token start at? + Needed, for example, to get the text for current token. Set at + the start of nextToken. + + + + The line on which the first character of the token resides + + + The character position of first character within the line + + + The channel number for the current token + + + The token type for the current token + + + + You can set the text for the current token to override what is in + the input char buffer. Use setText() or can set this instance var. + + + + + All tokens go to the parser (unless skip() is called in that rule) + on a particular "channel". The parser tunes to a particular channel + so that whitespace etc... can go to the parser on a "hidden" channel. + + + + + Anything on different channel than DEFAULT_CHANNEL is not parsed + by parser. + + + + Useful for dumping out the input stream after doing some + augmentation or other manipulations. + + You can insert stuff, replace, and delete chunks. Note that the + operations are done lazily--only if you convert the buffer to a + String. This is very efficient because you are not moving data around + all the time. As the buffer of tokens is converted to strings, the + toString() method(s) check to see if there is an operation at the + current index. If so, the operation is done and then normal String + rendering continues on the buffer. This is like having multiple Turing + machine instruction streams (programs) operating on a single input tape. :) + + Since the operations are done lazily at toString-time, operations do not + screw up the token index values. That is, an insert operation at token + index i does not change the index values for tokens i+1..n-1. + + Because operations never actually alter the buffer, you may always get + the original token stream back without undoing anything. Since + the instructions are queued up, you can easily simulate transactions and + roll back any changes if there is an error just by removing instructions. + For example, + + CharStream input = new ANTLRFileStream("input"); + TLexer lex = new TLexer(input); + TokenRewriteStream tokens = new TokenRewriteStream(lex); + T parser = new T(tokens); + parser.startRule(); + + Then in the rules, you can execute + Token t,u; + ... + input.insertAfter(t, "text to put after t");} + input.insertAfter(u, "text after u");} + System.out.println(tokens.toString()); + + Actually, you have to cast the 'input' to a TokenRewriteStream. :( + + You can also have multiple "instruction streams" and get multiple + rewrites from a single pass over the input. Just name the instruction + streams and use that name again when printing the buffer. This could be + useful for generating a C file and also its header file--all from the + same buffer: + + tokens.insertAfter("pass1", t, "text to put after t");} + tokens.insertAfter("pass2", u, "text after u");} + System.out.println(tokens.toString("pass1")); + System.out.println(tokens.toString("pass2")); + + If you don't use named rewrite streams, a "default" stream is used as + the first example shows. + + + What index into rewrites List are we? + + + Token buffer index. + + + + Execute the rewrite operation by possibly adding to the buffer. + Return the index of the next token to operate on. + + + + + I'm going to try replacing range from x..y with (y-x)+1 ReplaceOp + instructions. + + + + + You may have multiple, named streams of rewrite operations. + I'm calling these things "programs." + Maps String (name) -> rewrite (List) + + + + Map String (program name) -> Integer index + + + + Rollback the instruction stream for a program so that + the indicated instruction (via instructionIndex) is no + longer in the stream. UNTESTED! + + + + Reset the program so that no instructions exist + + + We need to combine operations and report invalid operations (like + overlapping replaces that are not completed nested). Inserts to + same index need to be combined etc... Here are the cases: + + I.i.u I.j.v leave alone, nonoverlapping + I.i.u I.i.v combine: Iivu + + R.i-j.u R.x-y.v | i-j in x-y delete first R + R.i-j.u R.i-j.v delete first R + R.i-j.u R.x-y.v | x-y in i-j ERROR + R.i-j.u R.x-y.v | boundaries overlap ERROR + + Delete special case of replace (text==null): + D.i-j.u D.x-y.v | boundaries overlap combine to max(min)..max(right) + + I.i.u R.x-y.v | i in (x+1)-y delete I (since insert before + we're not deleting i) + I.i.u R.x-y.v | i not in (x+1)-y leave alone, nonoverlapping + R.x-y.v I.i.u | i in x-y ERROR + R.x-y.v I.x.u R.x-y.uv (combine, delete I) + R.x-y.v I.i.u | i not in x-y leave alone, nonoverlapping + + I.i.u = insert u before op @ index i + R.x-y.u = replace x-y indexed tokens with u + + First we need to examine replaces. For any replace op: + + 1. wipe out any insertions before op within that range. + 2. Drop any replace op before that is contained completely within + that range. + 3. Throw exception upon boundary overlap with any previous replace. + + Then we can deal with inserts: + + 1. for any inserts to same index, combine even if not adjacent. + 2. for any prior replace with same left boundary, combine this + insert with replace and delete this replace. + 3. throw exception if index in same range as previous replace + + Don't actually delete; make op null in list. Easier to walk list. + Later we can throw as we add to index -> op map. + + Note that I.2 R.2-2 will wipe out I.2 even though, technically, the + inserted stuff would be before the replace range. But, if you + add tokens in front of a method body '{' and then delete the method + body, I think the stuff before the '{' you added should disappear too. + + Return a map from token index to operation. + + + Get all operations before an index of a particular kind + + + + In an action, a lexer rule can set token to this SKIP_TOKEN and ANTLR + will avoid creating a token for this symbol and try to fetch another. + + + + imaginary tree navigation type; traverse "get child" link + + + imaginary tree navigation type; finish with a child list + + + + A generic tree implementation with no payload. You must subclass to + actually have any user data. ANTLR v3 uses a list of children approach + instead of the child-sibling approach in v2. A flat tree (a list) is + an empty node whose children represent the list. An empty, but + non-null node is called "nil". + + + + + Create a new node from an existing node does nothing for BaseTree + as there are no fields other than the children list, which cannot + be copied as the children are not considered part of this node. + + + + + Get the children internal List; note that if you directly mess with + the list, do so at your own risk. + + + + BaseTree doesn't track parent pointers. + + + BaseTree doesn't track child indexes. + + + Add t as child of this node. + + + Warning: if t has no children, but child does + and child isNil then this routine moves children to t via + t.children = child.children; i.e., without copying the array. + + + + Add all elements of kids list as children of this node + + + Insert child t at child position i (0..n-1) by shifting children + i+1..n-1 to the right one position. Set parent / indexes properly + but does NOT collapse nil-rooted t's that come in here like addChild. + + + + Delete children from start to stop and replace with t even if t is + a list (nil-root tree). num of children can increase or decrease. + For huge child lists, inserting children can force walking rest of + children to set their childindex; could be slow. + + + + Override in a subclass to change the impl of children list + + + Set the parent and child index values for all child of t + + + Walk upwards looking for ancestor with this token type. + + + Walk upwards and get first ancestor with this token type. + + + + Return a list of all ancestors of this node. The first node of + list is the root and the last is the parent of this node. + + + + Print out a whole tree not just a node + + + Override to say how a node (not a tree) should look as text + + + A TreeAdaptor that works with any Tree implementation. + + + + System.identityHashCode() is not always unique; we have to + track ourselves. That's ok, it's only for debugging, though it's + expensive: we have to create a hashtable with all tree nodes in it. + + + + + Create tree node that holds the start and stop tokens associated + with an error. + + + + If you specify your own kind of tree nodes, you will likely have to + override this method. CommonTree returns Token.INVALID_TOKEN_TYPE + if no token payload but you might have to set token type for diff + node type. + + You don't have to subclass CommonErrorNode; you will likely need to + subclass your own tree node class to avoid class cast exception. + + + + + This is generic in the sense that it will work with any kind of + tree (not just ITree interface). It invokes the adaptor routines + not the tree node routines to do the construction. + + + + + Add a child to the tree t. If child is a flat tree (a list), make all + in list children of t. Warning: if t has no children, but child does + and child isNil then you can decide it is ok to move children to t via + t.children = child.children; i.e., without copying the array. Just + make sure that this is consistent with have the user will build + ASTs. + + + + + If oldRoot is a nil root, just copy or move the children to newRoot. + If not a nil root, make oldRoot a child of newRoot. + + + + old=^(nil a b c), new=r yields ^(r a b c) + old=^(a b c), new=r yields ^(r ^(a b c)) + + If newRoot is a nil-rooted single child tree, use the single + child as the new root node. + + old=^(nil a b c), new=^(nil r) yields ^(r a b c) + old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) + + If oldRoot was null, it's ok, just return newRoot (even if isNil). + + old=null, new=r yields r + old=null, new=^(nil r) yields ^(nil r) + + Return newRoot. Throw an exception if newRoot is not a + simple node or nil root with a single child node--it must be a root + node. If newRoot is ^(nil x) return x as newRoot. + + Be advised that it's ok for newRoot to point at oldRoot's + children; i.e., you don't have to copy the list. We are + constructing these nodes so we should have this control for + efficiency. + + + + Transform ^(nil x) to x and nil to null + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + This is a variant of createToken where the new token is derived from + an actual real input token. Typically this is for converting '{' + tokens to BLOCK etc... You'll see + + r : lc='{' ID+ '}' -> ^(BLOCK[$lc] ID+) ; + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + Duplicate a node. This is part of the factory; + override if you want another kind of node to be built. + + + + I could use reflection to prevent having to override this + but reflection is slow. + + + + + Track start/stop token for subtree root created for a rule. + Only works with Tree nodes. For rules that match nothing, + seems like this will yield start=i and stop=i-1 in a nil node. + Might be useful info so I'll not force to be i..i. + + + + A buffered stream of tree nodes. Nodes can be from a tree of ANY kind. + + This node stream sucks all nodes out of the tree specified in + the constructor during construction and makes pointers into + the tree using an array of Object pointers. The stream necessarily + includes pointers to DOWN and UP and EOF nodes. + + This stream knows how to mark/release for backtracking. + + This stream is most suitable for tree interpreters that need to + jump around a lot or for tree parsers requiring speed (at cost of memory). + There is some duplicated functionality here with UnBufferedTreeNodeStream + but just in bookkeeping, not tree walking etc... + + TARGET DEVELOPERS: + + This is the old CommonTreeNodeStream that buffered up entire node stream. + No need to implement really as new CommonTreeNodeStream is much better + and covers what we need. + + @see CommonTreeNodeStream + + + The complete mapping from stream index to tree node. + This buffer includes pointers to DOWN, UP, and EOF nodes. + It is built upon ctor invocation. The elements are type + Object as we don't what the trees look like. + + Load upon first need of the buffer so we can set token types + of interest for reverseIndexing. Slows us down a wee bit to + do all of the if p==-1 testing everywhere though. + + + Pull nodes from which tree? + + + IF this tree (root) was created from a token stream, track it. + + + What tree adaptor was used to build these trees + + + Reuse same DOWN, UP navigation nodes unless this is true + + + The index into the nodes list of the current node (next node + to consume). If -1, nodes array not filled yet. + + + Track the last mark() call result value for use in rewind(). + + + Stack of indexes used for push/pop calls + + + Walk tree with depth-first-search and fill nodes buffer. + Don't do DOWN, UP nodes if its a list (t is isNil). + + + What is the stream index for node? 0..n-1 + Return -1 if node not found. + + + As we flatten the tree, we use UP, DOWN nodes to represent + the tree structure. When debugging we need unique nodes + so instantiate new ones when uniqueNavigationNodes is true. + + + Look backwards k nodes + + + + Make stream jump to a new location, saving old location. + Switch back with pop(). + + + + + Seek back to previous index saved during last push() call. + Return top of stack (return index). + + + + Used for testing, just return the token type stream + + + Debugging + + + A node representing erroneous token range in token stream + + + + A tree node that is wrapper for a Token object. After 3.0 release + while building tree rewrite stuff, it became clear that computing + parent and child index is very difficult and cumbersome. Better to + spend the space in every tree node. If you don't want these extra + fields, it's easy to cut them out in your own BaseTree subclass. + + + + A single token is the payload + + + + What token indexes bracket all tokens associated with this node + and below? + + + + Who is the parent node of this node; if null, implies node is root + + + What index is this node in the child list? Range: 0..n-1 + + + + For every node in this subtree, make sure it's start/stop token's + are set. Walk depth first, visit bottom up. Only updates nodes + with at least one token index < 0. + + + + + A TreeAdaptor that works with any Tree implementation. It provides + really just factory methods; all the work is done by BaseTreeAdaptor. + If you would like to have different tokens created than ClassicToken + objects, you need to override this and then set the parser tree adaptor to + use your subclass. + + + + To get your parser to build nodes of a different type, override + create(Token), errorNode(), and to be safe, YourTreeClass.dupNode(). + dupNode is called to duplicate nodes during rewrite operations. + + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + Tell me how to create a token for use with imaginary token nodes. + For example, there is probably no input symbol associated with imaginary + token DECL, but you need to create it as a payload or whatever for + the DECL node as in ^(DECL type ID). + + + + This is a variant of createToken where the new token is derived from + an actual real input token. Typically this is for converting '{' + tokens to BLOCK etc... You'll see + + r : lc='{' ID+ '}' -> ^(BLOCK[$lc] ID+) ; + + If you care what the token payload objects' type is, you should + override this method and any other createToken variant. + + + + + What is the Token associated with this node? If + you are not using CommonTree, then you must + override this in your own adaptor. + + + + Pull nodes from which tree? + + + If this tree (root) was created from a token stream, track it. + + + What tree adaptor was used to build these trees + + + The tree iterator we are using + + + Stack of indexes used for push/pop calls + + + Tree (nil A B C) trees like flat A B C streams + + + Tracks tree depth. Level=0 means we're at root node level. + + + Tracks the last node before the start of {@link #data} which contains + position information to provide information for error reporting. This is + tracked in addition to {@link #prevElement} which may or may not contain + position information. + + @see #hasPositionInformation + @see RecognitionException#extractInformationFromTreeNodeStream + + + Make stream jump to a new location, saving old location. + Switch back with pop(). + + + Seek back to previous index saved during last push() call. + Return top of stack (return index). + + + Returns an element containing position information. If {@code allowApproximateLocation} is {@code false}, then + this method will return the {@code LT(1)} element if it contains position information, and otherwise return {@code null}. + If {@code allowApproximateLocation} is {@code true}, then this method will return the last known element containing position information. + + @see #hasPositionInformation + + + For debugging; destructive: moves tree iterator to end. + + + A utility class to generate DOT diagrams (graphviz) from + arbitrary trees. You can pass in your own templates and + can pass in any kind of tree or use Tree interface method. + I wanted this separator so that you don't have to include + ST just to use the org.antlr.runtime.tree.* package. + This is a set of non-static methods so you can subclass + to override. For example, here is an invocation: + + CharStream input = new ANTLRInputStream(System.in); + TLexer lex = new TLexer(input); + CommonTokenStream tokens = new CommonTokenStream(lex); + TParser parser = new TParser(tokens); + TParser.e_return r = parser.e(); + Tree t = (Tree)r.tree; + System.out.println(t.toStringTree()); + DOTTreeGenerator gen = new DOTTreeGenerator(); + StringTemplate st = gen.toDOT(t); + System.out.println(st); + + + Track node to number mapping so we can get proper node name back + + + Track node number so we can get unique node names + + + Generate DOT (graphviz) for a whole tree not just a node. + For example, 3+4*5 should generate: + + digraph { + node [shape=plaintext, fixedsize=true, fontsize=11, fontname="Courier", + width=.4, height=.2]; + edge [arrowsize=.7] + "+"->3 + "+"->"*" + "*"->4 + "*"->5 + } + + Takes a Tree interface object. + + + + @author Sam Harwell + + + Returns an element containing concrete information about the current + position in the stream. + + @param allowApproximateLocation if {@code false}, this method returns + {@code null} if an element containing exact information about the current + position is not available + + + Determines if the specified {@code element} contains concrete position + information. + + @param element the element to check + @return {@code true} if {@code element} contains concrete position + information, otherwise {@code false} + + + + What does a tree look like? ANTLR has a number of support classes + such as CommonTreeNodeStream that work on these kinds of trees. You + don't have to make your trees implement this interface, but if you do, + you'll be able to use more support code. + + + + NOTE: When constructing trees, ANTLR can build any kind of tree; it can + even use Token objects as trees if you add a child list to your tokens. + + This is a tree node without any payload; just navigation and factory stuff. + + + + Is there is a node above with token type ttype? + + + Walk upwards and get first ancestor with this token type. + + + + Return a list of all ancestors of this node. The first node of + list is the root and the last is the parent of this node. + + + + This node is what child index? 0..n-1 + + + Set the parent and child index values for all children + + + + Add t as a child to this node. If t is null, do nothing. If t + is nil, add all children of t to this' children. + + + + Set ith child (0..n-1) to t; t must be non-null and non-nil node + + + + Delete children from start to stop and replace with t even if t is + a list (nil-root tree). num of children can increase or decrease. + For huge child lists, inserting children can force walking rest of + children to set their childindex; could be slow. + + + + + Indicates the node is a nil node but may still have children, meaning + the tree is a flat list. + + + + + What is the smallest token index (indexing from 0) for this node + and its children? + + + + + What is the largest token index (indexing from 0) for this node + and its children? + + + + Return a token type; needed for tree parsing + + + In case we don't have a token payload, what is the line for errors? + + + + How to create and navigate trees. Rather than have a separate factory + and adaptor, I've merged them. Makes sense to encapsulate. + + + + This takes the place of the tree construction code generated in the + generated code in 2.x and the ASTFactory. + + I do not need to know the type of a tree at all so they are all + generic Objects. This may increase the amount of typecasting needed. :( + + + + + Create a tree node from Token object; for CommonTree type trees, + then the token just becomes the payload. This is the most + common create call. + + + + Override if you want another kind of node to be built. + + + + + Create a new node derived from a token, with a new token type. + This is invoked from an imaginary node ref on right side of a + rewrite rule as IMAG[$tokenLabel]. + + + + This should invoke createToken(Token). + + + + + Same as create(tokenType,fromToken) except set the text too. + This is invoked from an imaginary node ref on right side of a + rewrite rule as IMAG[$tokenLabel, "IMAG"]. + + + + This should invoke createToken(Token). + + + + + Same as create(fromToken) except set the text too. + This is invoked when the text terminal option is set, as in + IMAG<text='IMAG'>. + + + + This should invoke createToken(Token). + + + + + Create a new node derived from a token, with a new token type. + This is invoked from an imaginary node ref on right side of a + rewrite rule as IMAG["IMAG"]. + + + + This should invoke createToken(int,String). + + + + Duplicate a single tree node. + Override if you want another kind of node to be built. + + + Duplicate tree recursively, using dupNode() for each node + + + + Return a nil node (an empty but non-null node) that can hold + a list of element as the children. If you want a flat tree (a list) + use "t=adaptor.nil(); t.addChild(x); t.addChild(y);" + + + + + Return a tree node representing an error. This node records the + tokens consumed during error recovery. The start token indicates the + input symbol at which the error was detected. The stop token indicates + the last symbol consumed during recovery. + + + + You must specify the input stream so that the erroneous text can + be packaged up in the error node. The exception could be useful + to some applications; default implementation stores ptr to it in + the CommonErrorNode. + + This only makes sense during token parsing, not tree parsing. + Tree parsing should happen only when parsing and tree construction + succeed. + + + + Is tree considered a nil node used to make lists of child nodes? + + + + Add a child to the tree t. If child is a flat tree (a list), make all + in list children of t. Warning: if t has no children, but child does + and child isNil then you can decide it is ok to move children to t via + t.children = child.children; i.e., without copying the array. Just + make sure that this is consistent with have the user will build + ASTs. Do nothing if t or child is null. + + + + + If oldRoot is a nil root, just copy or move the children to newRoot. + If not a nil root, make oldRoot a child of newRoot. + + + + old=^(nil a b c), new=r yields ^(r a b c) + old=^(a b c), new=r yields ^(r ^(a b c)) + + If newRoot is a nil-rooted single child tree, use the single + child as the new root node. + + old=^(nil a b c), new=^(nil r) yields ^(r a b c) + old=^(a b c), new=^(nil r) yields ^(r ^(a b c)) + + If oldRoot was null, it's ok, just return newRoot (even if isNil). + + old=null, new=r yields r + old=null, new=^(nil r) yields ^(nil r) + + Return newRoot. Throw an exception if newRoot is not a + simple node or nil root with a single child node--it must be a root + node. If newRoot is ^(nil x) return x as newRoot. + + Be advised that it's ok for newRoot to point at oldRoot's + children; i.e., you don't have to copy the list. We are + constructing these nodes so we should have this control for + efficiency. + + + + + Given the root of the subtree created for this rule, post process + it to do any simplifications or whatever you want. A required + behavior is to convert ^(nil singleSubtree) to singleSubtree + as the setting of start/stop indexes relies on a single non-nil root + for non-flat trees. + + + + Flat trees such as for lists like "idlist : ID+ ;" are left alone + unless there is only one ID. For a list, the start/stop indexes + are set in the nil node. + + This method is executed after all rule tree construction and right + before setTokenBoundaries(). + + + + For identifying trees. + + + How to identify nodes so we can say "add node to a prior node"? + Even becomeRoot is an issue. Use System.identityHashCode(node) + usually. + + + + + Create a node for newRoot make it the root of oldRoot. + If oldRoot is a nil root, just copy or move the children to newRoot. + If not a nil root, make oldRoot a child of newRoot. + + + + Return node created for newRoot. + + + + Be advised: when debugging ASTs, the DebugTreeAdaptor manually + calls create(Token child) and then plain becomeRoot(node, node) + because it needs to trap calls to create, but it can't since it delegates + to not inherits from the TreeAdaptor. + + + + For tree parsing, I need to know the token type of a node + + + Node constructors can set the type of a node + + + Node constructors can set the text of a node + + + + Return the token object from which this node was created. + Currently used only for printing an error message. + The error display routine in BaseRecognizer needs to + display where the input the error occurred. If your + tree of limitation does not store information that can + lead you to the token, you can create a token filled with + the appropriate information and pass that back. See + BaseRecognizer.getErrorMessage(). + + + + + Where are the bounds in the input token stream for this node and + all children? Each rule that creates AST nodes will call this + method right before returning. Flat trees (i.e., lists) will + still usually have a nil root node just to hold the children list. + That node would contain the start/stop indexes then. + + + + Get the token start index for this subtree; return -1 if no such index + + + Get the token stop index for this subtree; return -1 if no such index + + + Get a child 0..n-1 node + + + Set ith child (0..n-1) to t; t must be non-null and non-nil node + + + Remove ith child and shift children down from right. + + + How many children? If 0, then this is a leaf node + + + + Who is the parent node of this node; if null, implies node is root. + If your node type doesn't handle this, it's ok but the tree rewrites + in tree parsers need this functionality. + + + + + What index is this node in the child list? Range: 0..n-1 + If your node type doesn't handle this, it's ok but the tree rewrites + in tree parsers need this functionality. + + + + + Replace from start to stop child index of parent with t, which might + be a list. Number of children may be different after this call. + + + + If parent is null, don't do anything; must be at root of overall tree. + Can't replace whatever points to the parent externally. Do nothing. + + + + A stream of tree nodes, accessing nodes from a tree of some kind + + + + Get a tree node at an absolute index i; 0..n-1. + If you don't want to buffer up nodes, then this method makes no + sense for you. + + + + + Get tree node at current input pointer + ahead where + ==1 is next node. <0 indicates nodes in the past. So + {@code LT(-1)} is previous node, but implementations are not required to + provide results for < -1. {@code LT(0)} is undefined. For + <=n, return . Return for {@code LT(0)} + and any index that results in an absolute address that is negative. + + + + This is analogous to , but this returns a tree node + instead of a . Makes code generation identical for both + parser and tree grammars. + + + + + Where is this stream pulling nodes from? This is not the name, but + the object that provides node objects. + + + + + If the tree associated with this stream was created from a + {@link TokenStream}, you can specify it here. Used to do rule + {@code $text} attribute in tree parser. Optional unless you use tree + parser rule {@code $text} attribute or {@code output=template} and + {@code rewrite=true} options. + + + + + What adaptor can tell me how to interpret/navigate nodes and + trees. E.g., get text of a node. + + + + + As we flatten the tree, we use {@link Token#UP}, {@link Token#DOWN} nodes + to represent the tree structure. When debugging we need unique nodes so + we have to instantiate new ones. When doing normal tree parsing, it's + slow and a waste of memory to create unique navigation nodes. Default + should be {@code false}. + + + + + Return the text of all nodes from {@code start} to {@code stop}, + inclusive. If the stream does not buffer all the nodes then it can still + walk recursively from start until stop. You can always return + {@code null} or {@code ""} too, but users should not access + {@code $ruleLabel.text} in an action of course in that case. + + + + + Replace children of {@code parent} from index {@code startChildIndex} to + {@code stopChildIndex} with {@code t}, which might be a list. Number of + children may be different after this call. The stream is notified because + it is walking the tree and might need to know you are monkeying with the + underlying tree. Also, it might be able to modify the node stream to + avoid restreaming for future phases. + + + + If {@code parent} is {@code null}, don't do anything; must be at root of + overall tree. Can't replace whatever points to the parent externally. Do + nothing. + + + + + How to execute code for node t when a visitor visits node t. Execute + pre() before visiting children and execute post() after visiting children. + + + + + Execute an action before visiting children of t. Return t or + a rewritten t. It is up to the visitor to decide what to do + with the return value. Children of returned value will be + visited if using TreeVisitor.visit(). + + + + + Execute an action after visiting children of t. Return t or + a rewritten t. It is up to the visitor to decide what to do + with the return value. + + + + + A record of the rules used to match a token sequence. The tokens + end up as the leaves of this tree and rule nodes are the interior nodes. + This really adds no functionality, it is just an alias for CommonTree + that is more meaningful (specific) and holds a String to display for a node. + + + + + Emit a token and all hidden nodes before. EOF node holds all + hidden tokens after last real token. + + + + + Print out the leaves of this tree, which means printing original + input back out. + + + + + Base class for all exceptions thrown during AST rewrite construction. + This signifies a case where the cardinality of two or more elements + in a subrule are different: (ID INT)+ where |ID|!=|INT| + + + + No elements within a (...)+ in a rewrite rule + + + Ref to ID or expr but no tokens in ID stream or subtrees in expr stream + + + + A generic list of elements tracked in an alternative to be used in + a -> rewrite rule. We need to subclass to fill in the next() method, + which returns either an AST node wrapped around a token payload or + an existing subtree. + + + + Once you start next()ing, do not try to add more elements. It will + break the cursor tracking I believe. + + TODO: add mechanism to detect/puke on modification after reading from stream + + + + + + + + Cursor 0..n-1. If singleElement!=null, cursor is 0 until you next(), + which bumps it to 1 meaning no more elements. + + + + Track single elements w/o creating a list. Upon 2nd add, alloc list + + + The list of tokens or subtrees we are tracking + + + Once a node / subtree has been used in a stream, it must be dup'd + from then on. Streams are reset after subrules so that the streams + can be reused in future subrules. So, reset must set a dirty bit. + If dirty, then next() always returns a dup. + + + The element or stream description; usually has name of the token or + rule reference that this list tracks. Can include rulename too, but + the exception would track that info. + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + + Reset the condition of this stream so that it appears we have + not consumed any of its elements. Elements themselves are untouched. + Once we reset the stream, any future use will need duplicates. Set + the dirty bit. + + + + + Return the next element in the stream. If out of elements, throw + an exception unless size()==1. If size is 1, then return elements[0]. + Return a duplicate node/subtree if stream is out of elements and + size==1. If we've already used the element, dup (dirty bit set). + + + + + Do the work of getting the next element, making sure that it's + a tree node or subtree. Deal with the optimization of single- + element list versus list of size > 1. Throw an exception + if the stream is empty or we're out of elements and size>1. + protected so you can override in a subclass if necessary. + + + + + When constructing trees, sometimes we need to dup a token or AST + subtree. Dup'ing a token means just creating another AST node + around it. For trees, you must call the adaptor.dupTree() unless + the element is for a tree root; then it must be a node dup. + + + + + Ensure stream emits trees; tokens must be converted to AST nodes. + AST nodes can be passed through unmolested. + + + + + Queues up nodes matched on left side of -> in a tree parser. This is + the analog of RewriteRuleTokenStream for normal parsers. + + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + + Treat next element as a single node even if it's a subtree. + This is used instead of next() when the result has to be a + tree root node. Also prevents us from duplicating recently-added + children; e.g., ^(type ID)+ adds ID to type and then 2nd iteration + must dup the type node, but ID has been added. + + + + Referencing a rule result twice is ok; dup entire tree as + we can't be adding trees as root; e.g., expr expr. + + Hideous code duplication here with super.next(). Can't think of + a proper way to refactor. This needs to always call dup node + and super.next() doesn't know which to call: dup node or dup tree. + + + + Create a stream with one element + + + Create a stream, but feed off an existing list + + + Get next token from stream and make a node for it + + + + Don't convert to a tree unless they explicitly call nextTree. + This way we can do hetero tree nodes in rewrite. + + + + Return a node stream from a doubly-linked tree whose nodes + know what child index they are. No remove() is supported. + + Emit navigation nodes (DOWN, UP, and EOF) to let show tree structure. + + + If we emit UP/DOWN nodes, we need to spit out multiple nodes per + next() call. + + + + A parser for a stream of tree nodes. "tree grammars" result in a subclass + of this. All the error reporting and recovery is shared with Parser via + the BaseRecognizer superclass. + + + + Set the input stream + + + + Match '.' in tree parser has special meaning. Skip node or + entire tree if node has children. If children, scan until + corresponding UP node. + + + + + We have DOWN/UP nodes in the stream that have no line info; override. + plus we want to alter the exception type. Don't try to recover + from tree parser errors inline... + + + + + Prefix error message with the grammar name because message is + always intended for the programmer because the parser built + the input tree not the user. + + + + + Tree parsers parse nodes they usually have a token object as + payload. Set the exception token and do the default behavior. + + + + The tree pattern to lex like "(A B C)" + + + Index into input string + + + Current char + + + How long is the pattern in char? + + + Set when token type is ID or ARG (name mimics Java's StreamTokenizer) + + + Override this if you need transformation tracing to go somewhere + other than stdout or if you're not using ITree-derived trees. + + + + This is identical to the ParserRuleReturnScope except that + the start property is a tree nodes not Token object + when you are parsing trees. + + + + Gets the first node or root node of tree matched for this rule. + + + Do a depth first walk of a tree, applying pre() and post() actions as we go. + + + + Visit every node in tree t and trigger an action for each node + before/after having visited all of its children. Bottom up walk. + Execute both actions even if t has no children. Ignore return + results from transforming children since they will have altered + the child list of this node (their parent). Return result of + applying post action to this node. + + + + + Build and navigate trees with this object. Must know about the names + of tokens so you have to pass in a map or array of token names (from which + this class can build the map). I.e., Token DECL means nothing unless the + class can translate it to a token type. + + + + In order to create nodes and navigate, this class needs a TreeAdaptor. + + This class can build a token type -> node index for repeated use or for + iterating over the various nodes with a particular type. + + This class works in conjunction with the TreeAdaptor rather than moving + all this functionality into the adaptor. An adaptor helps build and + navigate trees using methods. This class helps you do it with string + patterns like "(A B C)". You can create a tree from that pattern or + match subtrees against it. + + + + + When using %label:TOKENNAME in a tree for parse(), we must + track the label. + + + + This adaptor creates TreePattern objects for use during scan() + + + + Compute a Map<String, Integer> that is an inverted index of + tokenNames (which maps int token types to names). + + + + Using the map of token names to token types, return the type. + + + + Walk the entire tree and make a node name to nodes mapping. + For now, use recursion but later nonrecursive version may be + more efficient. Returns Map<Integer, List> where the List is + of your AST node type. The Integer is the token type of the node. + + + + TODO: save this index so that find and visit are faster + + + + Do the work for index + + + Return a List of tree nodes with token type ttype + + + Return a List of subtrees matching pattern. + + + + Visit every ttype node in t, invoking the visitor. This is a quicker + version of the general visit(t, pattern) method. The labels arg + of the visitor action method is never set (it's null) since using + a token type rather than a pattern doesn't let us set a label. + + + + Do the recursive work for visit + + + + For all subtrees that match the pattern, execute the visit action. + The implementation uses the root node of the pattern in combination + with visit(t, ttype, visitor) so nil-rooted patterns are not allowed. + Patterns with wildcard roots are also not allowed. + + + + + Given a pattern like (ASSIGN %lhs:ID %rhs:.) with optional labels + on the various nodes and '.' (dot) as the node/subtree wildcard, + return true if the pattern matches and fill the labels Map with + the labels pointing at the appropriate nodes. Return false if + the pattern is malformed or the tree does not match. + + + + If a node specifies a text arg in pattern, then that must match + for that node in t. + + TODO: what's a better way to indicate bad pattern? Exceptions are a hassle + + + + + Do the work for parse. Check to see if the t2 pattern fits the + structure and token types in t1. Check text if the pattern has + text arguments on nodes. Fill labels map with pointers to nodes + in tree matched against nodes in pattern with labels. + + + + + Create a tree or node from the indicated tree pattern that closely + follows ANTLR tree grammar tree element syntax: + + (root child1 ... child2). + + + + You can also just pass in a node: ID + + Any node can have a text argument: ID[foo] + (notice there are no quotes around foo--it's clear it's a string). + + nil is a special name meaning "give me a nil node". Useful for + making lists: (nil A B C) is a list of A B C. + + + + + Compare t1 and t2; return true if token types/text, structure match exactly. + The trees are examined in their entirety so that (A B) does not match + (A B C) nor (A (B C)). + + + + TODO: allow them to pass in a comparator + TODO: have a version that is nonstatic so it can use instance adaptor + + I cannot rely on the tree node's equals() implementation as I make + no constraints at all on the node types nor interface etc... + + + + + Compare type, structure, and text of two trees, assuming adaptor in + this instance of a TreeWizard. + + + + A token stream that pulls tokens from the code source on-demand and + without tracking a complete buffer of the tokens. This stream buffers + the minimum number of tokens possible. It's the same as + OnDemandTokenStream except that OnDemandTokenStream buffers all tokens. + + You can't use this stream if you pass whitespace or other off-channel + tokens to the parser. The stream can't ignore off-channel tokens. + + You can only look backwards 1 token: LT(-1). + + Use this when you need to read from a socket or other infinite stream. + + @see BufferedTokenStream + @see CommonTokenStream + + + Skip tokens on any channel but this one; this is how we skip whitespace... + + + An extra token while parsing a TokenStream + + + diff --git a/packages/Antlr34.3.4.19004.1/.signature.p7s b/packages/Antlr34.3.4.19004.1/.signature.p7s new file mode 100644 index 0000000000000000000000000000000000000000..cc290e2df911e0fe8df7097045fbc78fd5fe67ec GIT binary patch literal 9463 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 C4O7Vg literal 0 HcmV?d00001 diff --git a/packages/Antlr34.3.4.19004.1/Antlr34.3.4.19004.1.nupkg b/packages/Antlr34.3.4.19004.1/Antlr34.3.4.19004.1.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..6076bdceecc8d1874c367c0e4800392d440ade12 GIT binary patch literal 559961 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%0AabgWGPN4eb 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
t$`E>yx8(l3jej8FNn3nZz3a9J$qx+<`Di> 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μd^M5ghKkV|H^$RBVSE?wNb(~s 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�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 Xp5^qF$6m(H4UIob1*4}64B$*WS_rLdZ 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 Bq*VX_ literal 0 HcmV?d00001 diff --git a/packages/Antlr34.3.4.19004.1/tools/Antlr3.Runtime.dll b/packages/Antlr34.3.4.19004.1/tools/Antlr3.Runtime.dll new file mode 100644 index 0000000000000000000000000000000000000000..34bd478f136d84044c61a1e79174675e8f00af3e GIT binary patch literal 102912 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 Xp5^qF$6m(H4UIob + + diff --git a/packages/Antlr34.3.4.19004.1/tools/Antlr3.targets b/packages/Antlr34.3.4.19004.1/tools/Antlr3.targets new file mode 100644 index 0000000..3a440da --- /dev/null +++ b/packages/Antlr34.3.4.19004.1/tools/Antlr3.targets @@ -0,0 +1,163 @@ + + + + MSBuild + 3.3.0.7239 + eb42632606e9261f + AntlrBuildTask, Version=$(TaskVersion), Culture=neutral, PublicKeyToken=$(TaskKeyToken) + + + + + + $(MSBuildBinPath) + $(AntlrBuildTaskPath) + $(MSBuildBinPath)\Antlr3\Antlr3.exe + $(AntlrToolPath) + + + + $(MSBuildProjectFile).AntlrGeneratedCodeFileListAbsolute.txt + + + + + + + + AntlrCompile; + AntlrCompileAddFilesGenerated; + $(PrepareResourcesDependsOn) + + + + + + AntlrCompileReadGeneratedFileList + + + + + + + + + + + + + + + + + + + DesignTimeGrammarCompilation; + $(CoreCompileDependsOn) + + + + + + + + + + + + + + + + <_IntellisenseOnlyCompile>false + <_IntellisenseOnlyCompile Condition="'$(BuildingProject)' != 'true'">true + + + + + + + + + + + + + + + + + + <_AntlrCodeGenFileWrites Condition="'@(AntlrGeneratedCodeFiles)' != ''" Include="@(AntlrGeneratedCodeFiles)" /> + <_AntlrCodeGenFileWrites Condition="'@(AntlrGeneratedCodeFiles)' == ''" Include="@(AntlrOutputCodeFilesList)" /> + + + + + + + + diff --git a/packages/Antlr34.3.4.19004.1/tools/Antlr4.StringTemplate.Visualizer.dll b/packages/Antlr34.3.4.19004.1/tools/Antlr4.StringTemplate.Visualizer.dll new file mode 100644 index 0000000000000000000000000000000000000000..ba49dbc6086042e08dbc33a0b52cc77102268947 GIT binary patch literal 38400 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 literal 0 HcmV?d00001 diff --git a/packages/Antlr34.3.4.19004.1/tools/AntlrBuildTask.dll b/packages/Antlr34.3.4.19004.1/tools/AntlrBuildTask.dll new file mode 100644 index 0000000000000000000000000000000000000000..7be37077c6e1425e0139eae0ae6f935325bc21e5 GIT binary patch literal 15872 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%0Aj>gaiCv}A3W2MzI~08VvlyH;sGt?P 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 + + + +using Antlr.Runtime.Tree; +using RewriteRuleITokenStream = Antlr.Runtime.Tree.RewriteRuleTokenStream; + +>> + +@genericParser.members() ::= << +<@super.members()> + +>> + +parserCtorBody() ::= <% +<\n> +TreeAdaptor = + + + + new () + +; +%> + +/** Add an adaptor property that knows how to build trees */ +parserMembers() ::= << +private adaptor; + +public TreeAdaptor +{ + get + { + return adaptor; + } + + set + { + this.adaptor = value; + .TreeAdaptor = this.adaptor;}> + } +} +>> + +treeAdaptorType() ::= << + +>> + +ruleReturnBaseType() ::= <% +AstTreeParserRuleReturnScope\<, > +%> + +/** Add a variable to track rule's return AST */ +ruleDeclarations() ::= << + + root_0 = default();<\n> +>> + +ruleLabelDefs() ::= << + +<[ruleDescriptor.tokenLabels,ruleDescriptor.wildcardTreeLabels,ruleDescriptor.wildcardTreeListLabels] + :{it| _tree = default();}; separator="\n"> + _tree = default();}; separator="\n"> +Stream stream_=new RewriteRuleStream(adaptor,"token ");}; separator="\n"> +=new RewriteRuleSubtreeStream(adaptor,"rule ");}; separator="\n"> +>> + +/** When doing auto AST construction, we must define some variables; + * These should be turned off if doing rewrites. This must be a "mode" + * as a rule could have both rewrite and AST within the same alternative + * block. + */ +@alt.declarations() ::= << + + + +root_0 = ()adaptor.Nil(); + + + +>> + +// T r a c k i n g R u l e E l e m e n t s + +/** ID and track it for use in a rewrite rule */ +tokenRefTrack(token,label,elementIndex,terminalOptions) ::= << + +if () stream_.Add(,); +>> + +/** For now, sets are interval tests and must be tested inline */ +matchSet(s,label,terminalOptions,elementIndex,postmatchCode="") ::= << + + + +if () +{ + input.Consume(); + + state.errorRecovery=false;state.failed=false; +} +else +{ + + MismatchedSetException mse = new MismatchedSetException(null,input); + DebugRecognitionException(mse); + <@mismatchedSetException()> + + Recover(mse); + throw mse; + + throw mse; + ); + !> + +}<\n> +>> + +matchSetUnchecked(s,label,elementIndex,postmatchCode=false) ::= <% + +<\n> + +input.Consume();<\n> + +<\n> + +state.errorRecovery=false;state.failed=false; +%> + +matchSetLabel() ::= <% + +

Allows convenient multi-value initialization: +/// "new STAttrMap().Add(...).Add(...)" +/// \ +protected class STAttrMap : Hashtable +{ + public STAttrMap Add(string attrName, object value) + { + base.Add(attrName, value); + return this; + } + public STAttrMap Add(string attrName, int value) + { + base.Add(attrName, value); + return this; + } +} +>> + +/** x+=rule when output=template */ +ruleRefAndListLabel(rule,label,elementIndex,args,scope) ::= << + + +>> + +rewriteTemplate(alts) ::= << + +// TEMPLATE REWRITE + +if ( ) +{ + + +} + + + + +>> + +replaceTextInLine() ::= << + +((TokenRewriteStream)input.TokenStream).Replace( + input.TreeAdaptor.GetTokenStartIndex(retval.Start), + input.TreeAdaptor.GetTokenStopIndex(retval.Start), + retval.Template); + +((TokenRewriteStream)input).Replace( + ((IToken)retval.Start).TokenIndex, + input.LT(-1).TokenIndex, + retval.Template); + +>> + +rewriteTemplateAlt() ::= << +// + +if () { + retval.Template = ; +}<\n> + +{ + retval.Template = ; +}<\n> + +>> + +rewriteEmptyTemplate(alts) ::= << +null; +>> + +/** Invoke a template with a set of attribute name/value pairs. + * Set the value of the rule's template *after* having set + * the attributes because the rule's template might be used as + * an attribute to build a bigger template; you get a self-embedded + * template. + */ +rewriteExternalTemplate(name,args) ::= << +templateLib.GetInstanceOf("", + new STAttrMap()", )}> + ) +>> + +/** expr is a string expression that says what template to load */ +rewriteIndirectTemplate(expr,args) ::= << +templateLib.GetInstanceOf(, + new STAttrMap()", )}> + ) +>> + +/** Invoke an inline template with a set of attribute name/value pairs */ +rewriteInlineTemplate(args, template) ::= << +new StringTemplate(templateLib, "