asn_parser 1.0.0 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (418) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +6 -0
  3. data/Rakefile +20 -9
  4. data/asn1_parser.gemspec +33 -0
  5. data/bin/console +8 -0
  6. data/ext/asn1_parser/CMakeLists.txt +38 -0
  7. data/ext/asn1_parser/VERSION +1 -0
  8. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/CMakeLists.txt +216 -0
  9. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/CMakeSettings.json +105 -0
  10. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/README.md +72 -0
  11. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/VERSION +1 -0
  12. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/cmake/Antlr4Package.md +136 -0
  13. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/cmake/ExternalAntlr4Cpp.cmake +177 -0
  14. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/cmake/FindANTLR.cmake +124 -0
  15. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/cmake/README.md +165 -0
  16. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/cmake/antlr4-generator.cmake.in +181 -0
  17. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/cmake/antlr4-runtime.cmake.in +13 -0
  18. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/CMakeLists.txt +80 -0
  19. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Linux/main.cpp +38 -0
  20. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Mac/antlr4-cpp-demo/main.cpp +38 -0
  21. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Mac/antlrcpp Tests/Info.plist +24 -0
  22. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Mac/antlrcpp Tests/InputHandlingTests.mm +172 -0
  23. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Mac/antlrcpp Tests/MiscClassTests.mm +388 -0
  24. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Mac/antlrcpp Tests/antlrcpp_Tests.mm +57 -0
  25. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Mac/antlrcpp-demo.xcodeproj/project.pbxproj +585 -0
  26. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Mac/antlrcpp-demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  27. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Mac/antlrcpp-demo.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  28. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Mac/antlrcpp-demo.xcodeproj/xcshareddata/xcschemes/antlr4-cpp-demo.xcscheme +102 -0
  29. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Mac/antlrcpp-demo.xcodeproj/xcshareddata/xcschemes/antlrcpp Tests.xcscheme +56 -0
  30. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Mac/build.sh +43 -0
  31. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/README.md +13 -0
  32. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/TLexer.g4 +86 -0
  33. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/TParser.g4 +119 -0
  34. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Windows/antlr4-cpp-demo/antlr4-cpp-demo-vs2022.vcxproj +365 -0
  35. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Windows/antlr4-cpp-demo/antlr4-cpp-demo-vs2022.vcxproj.filters +66 -0
  36. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Windows/antlr4-cpp-demo/main.cpp +39 -0
  37. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/Windows/antlr4cpp-vs2022.sln +61 -0
  38. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/generate.cmd +13 -0
  39. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/demo/generate.sh +28 -0
  40. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/deploy-macos.sh +28 -0
  41. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/deploy-source.sh +15 -0
  42. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/deploy-windows.cmd +81 -0
  43. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +199 -0
  44. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +652 -0
  45. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj.filters +948 -0
  46. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2022.vcxproj +652 -0
  47. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2022.vcxproj.filters +948 -0
  48. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/Info.plist +26 -0
  49. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/antlrcpp_ios.h +17 -0
  50. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +3040 -0
  51. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  52. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  53. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4.xcscheme +76 -0
  54. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_ios.xcscheme +76 -0
  55. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_static.xcscheme +76 -0
  56. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.noarch.nuspec +23 -0
  57. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.noarch.targets +8 -0
  58. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.shared.nuspec +30 -0
  59. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.shared.props +21 -0
  60. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.shared.targets +44 -0
  61. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.static.nuspec +29 -0
  62. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.static.targets +44 -0
  63. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/antlr4.jpg +0 -0
  64. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/pack.cmd +93 -0
  65. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/src/FlatHashMap.h +57 -0
  66. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/src/FlatHashSet.h +57 -0
  67. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +4 -2
  68. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +3 -2
  69. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +2 -1
  70. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +12 -9
  71. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/Version.h +2 -2
  72. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +5 -2
  73. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +1 -2
  74. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +2 -1
  75. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +4 -3
  76. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +4 -4
  77. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +9 -8
  78. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +2 -1
  79. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +2 -17
  80. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +0 -1
  81. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +30 -10
  82. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +1 -1
  83. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/HashUtils.h +18 -0
  84. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +18 -12
  85. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +1 -4
  86. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +1 -8
  87. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +68 -38
  88. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +23 -1
  89. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.h +3 -4
  90. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.h +3 -3
  91. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +2 -2
  92. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +11 -11
  93. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +11 -7
  94. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +1 -8
  95. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +1 -1
  96. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +2 -1
  97. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/src/internal/Synchronization.cpp +100 -0
  98. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/src/internal/Synchronization.h +154 -0
  99. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +1 -1
  100. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +18 -18
  101. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +180 -0
  102. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.g4 +64 -0
  103. data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +16 -10
  104. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.tokens +12 -0
  105. data/ext/asn1_parser/antlr4-upstream/runtime/Cpp/runtime/tests/Utf8Test.cpp +110 -0
  106. data/ext/asn1_parser/antlrgen/ASN1.interp +497 -0
  107. data/ext/asn1_parser/antlrgen/ASN1.tokens +219 -0
  108. data/ext/asn1_parser/antlrgen/ASN1BaseListener.cpp +10 -0
  109. data/ext/asn1_parser/antlrgen/ASN1BaseListener.h +806 -0
  110. data/ext/asn1_parser/antlrgen/ASN1BaseVisitor.cpp +10 -0
  111. data/ext/asn1_parser/antlrgen/ASN1BaseVisitor.h +1059 -0
  112. data/ext/asn1_parser/antlrgen/ASN1Lexer.cpp +580 -0
  113. data/ext/asn1_parser/antlrgen/ASN1Lexer.h +79 -0
  114. data/ext/asn1_parser/antlrgen/ASN1Lexer.interp +370 -0
  115. data/ext/asn1_parser/antlrgen/ASN1Lexer.tokens +219 -0
  116. data/ext/asn1_parser/antlrgen/ASN1Listener.cpp +10 -0
  117. data/ext/asn1_parser/antlrgen/ASN1Listener.h +799 -0
  118. data/ext/asn1_parser/antlrgen/ASN1Parser.cpp +23027 -0
  119. data/ext/asn1_parser/antlrgen/ASN1Parser.h +4878 -0
  120. data/ext/asn1_parser/antlrgen/ASN1Visitor.cpp +10 -0
  121. data/ext/asn1_parser/antlrgen/ASN1Visitor.h +545 -0
  122. data/ext/asn1_parser/asn1_parser.cpp +26580 -0
  123. data/lib/asn1_parser/version.rb +3 -0
  124. data/lib/asn1_parser.rb +3 -0
  125. data/lib/asn_parser.rb +1 -2
  126. data/spec/parser/fixtures_spec.rb +23 -0
  127. data/spec/spec_helper.rb +21 -0
  128. metadata +397 -326
  129. data/asn_parser.gemspec +0 -31
  130. data/ext/asn_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +0 -182
  131. data/ext/asn_parser/antlrgen/ASN.interp +0 -366
  132. data/ext/asn_parser/antlrgen/ASN.tokens +0 -199
  133. data/ext/asn_parser/antlrgen/ASNBaseListener.cpp +0 -7
  134. data/ext/asn_parser/antlrgen/ASNBaseListener.h +0 -467
  135. data/ext/asn_parser/antlrgen/ASNBaseVisitor.cpp +0 -7
  136. data/ext/asn_parser/antlrgen/ASNBaseVisitor.h +0 -608
  137. data/ext/asn_parser/antlrgen/ASNLexer.cpp +0 -487
  138. data/ext/asn_parser/antlrgen/ASNLexer.h +0 -75
  139. data/ext/asn_parser/antlrgen/ASNLexer.interp +0 -337
  140. data/ext/asn_parser/antlrgen/ASNLexer.tokens +0 -199
  141. data/ext/asn_parser/antlrgen/ASNListener.cpp +0 -7
  142. data/ext/asn_parser/antlrgen/ASNListener.h +0 -460
  143. data/ext/asn_parser/antlrgen/ASNParser.cpp +0 -13779
  144. data/ext/asn_parser/antlrgen/ASNParser.h +0 -2861
  145. data/ext/asn_parser/antlrgen/ASNVisitor.cpp +0 -7
  146. data/ext/asn_parser/antlrgen/ASNVisitor.h +0 -318
  147. data/ext/asn_parser/asn_parser.cpp +0 -16222
  148. data/ext/asn_parser/extconf.rb +0 -38
  149. data/lib/asn_parser/version.rb +0 -3
  150. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +0 -0
  151. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.h +0 -0
  152. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +0 -0
  153. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +0 -0
  154. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +0 -0
  155. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +0 -0
  156. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +0 -0
  157. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +0 -0
  158. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +0 -0
  159. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.h +0 -0
  160. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.cpp +0 -0
  161. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.h +0 -0
  162. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +0 -0
  163. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.h +0 -0
  164. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.cpp +0 -0
  165. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.h +0 -0
  166. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +0 -0
  167. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.h +0 -0
  168. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +0 -0
  169. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +0 -0
  170. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.cpp +0 -0
  171. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.h +0 -0
  172. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +0 -0
  173. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.h +0 -0
  174. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +0 -0
  175. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +0 -0
  176. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +0 -0
  177. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +0 -0
  178. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +0 -0
  179. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +0 -0
  180. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +0 -0
  181. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +0 -0
  182. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.cpp +0 -0
  183. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.h +0 -0
  184. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.cpp +0 -0
  185. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +0 -0
  186. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +0 -0
  187. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.h +0 -0
  188. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +0 -0
  189. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +0 -0
  190. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +0 -0
  191. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +0 -0
  192. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +0 -0
  193. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.h +0 -0
  194. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +0 -0
  195. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +0 -0
  196. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.cpp +0 -0
  197. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.h +0 -0
  198. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +0 -0
  199. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +0 -0
  200. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +0 -0
  201. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +0 -0
  202. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +0 -0
  203. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +0 -0
  204. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.h +0 -0
  205. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +0 -0
  206. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.h +0 -0
  207. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +0 -0
  208. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +0 -0
  209. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +0 -0
  210. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +0 -0
  211. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +0 -0
  212. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.h +0 -0
  213. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/Token.cpp +0 -0
  214. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +0 -0
  215. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/TokenFactory.h +0 -0
  216. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.cpp +0 -0
  217. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +0 -0
  218. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.cpp +0 -0
  219. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.h +0 -0
  220. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +0 -0
  221. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +0 -0
  222. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +0 -0
  223. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +0 -0
  224. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +0 -0
  225. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +0 -0
  226. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +0 -0
  227. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.cpp +0 -0
  228. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.h +0 -0
  229. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +0 -0
  230. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +0 -0
  231. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +0 -0
  232. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +0 -0
  233. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +0 -0
  234. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +0 -0
  235. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +0 -0
  236. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.cpp +0 -0
  237. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.h +0 -0
  238. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNType.h +0 -0
  239. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +0 -0
  240. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +0 -0
  241. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +0 -0
  242. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +0 -0
  243. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +0 -0
  244. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +0 -0
  245. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +0 -0
  246. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +0 -0
  247. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +0 -0
  248. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +0 -0
  249. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +0 -0
  250. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +0 -0
  251. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +0 -0
  252. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +0 -0
  253. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +0 -0
  254. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +0 -0
  255. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +0 -0
  256. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +0 -0
  257. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +0 -0
  258. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +0 -0
  259. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +0 -0
  260. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.h +0 -0
  261. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +0 -0
  262. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +0 -0
  263. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +0 -0
  264. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +0 -0
  265. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +0 -0
  266. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +0 -0
  267. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +0 -0
  268. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +0 -0
  269. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +0 -0
  270. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +0 -0
  271. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +0 -0
  272. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +0 -0
  273. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +0 -0
  274. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +0 -0
  275. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +0 -0
  276. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +0 -0
  277. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +0 -0
  278. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +0 -0
  279. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +0 -0
  280. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +0 -0
  281. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +0 -0
  282. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +0 -0
  283. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +0 -0
  284. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +0 -0
  285. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +0 -0
  286. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +0 -0
  287. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +0 -0
  288. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +0 -0
  289. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +0 -0
  290. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +0 -0
  291. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +0 -0
  292. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +0 -0
  293. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +0 -0
  294. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +0 -0
  295. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.h +0 -0
  296. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +0 -0
  297. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulatorOptions.h +0 -0
  298. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +0 -0
  299. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +0 -0
  300. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +0 -0
  301. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +0 -0
  302. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +0 -0
  303. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +0 -0
  304. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +0 -0
  305. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +0 -0
  306. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +0 -0
  307. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.cpp +0 -0
  308. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.cpp +0 -0
  309. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCacheOptions.h +0 -0
  310. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextType.h +0 -0
  311. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +0 -0
  312. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +0 -0
  313. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +0 -0
  314. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +0 -0
  315. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +0 -0
  316. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +0 -0
  317. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +0 -0
  318. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +0 -0
  319. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +0 -0
  320. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContextType.h +0 -0
  321. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/SerializedATNView.h +0 -0
  322. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +0 -0
  323. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +0 -0
  324. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +0 -0
  325. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +0 -0
  326. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +0 -0
  327. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +0 -0
  328. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +0 -0
  329. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +0 -0
  330. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +0 -0
  331. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +0 -0
  332. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.cpp +0 -0
  333. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.h +0 -0
  334. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +0 -0
  335. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +0 -0
  336. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +0 -0
  337. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +0 -0
  338. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +0 -0
  339. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +0 -0
  340. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +0 -0
  341. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +0 -0
  342. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +0 -0
  343. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +0 -0
  344. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +0 -0
  345. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +0 -0
  346. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +0 -0
  347. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +0 -0
  348. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.cpp +0 -0
  349. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.h +0 -0
  350. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +0 -0
  351. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +0 -0
  352. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +0 -0
  353. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +0 -0
  354. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +0 -0
  355. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +0 -0
  356. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +0 -0
  357. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/support/Casts.h +0 -0
  358. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +0 -0
  359. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +0 -0
  360. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +0 -0
  361. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/support/Unicode.h +0 -0
  362. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.cpp +0 -0
  363. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.h +0 -0
  364. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +0 -0
  365. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +0 -0
  366. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +0 -0
  367. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +0 -0
  368. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +0 -0
  369. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +0 -0
  370. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +0 -0
  371. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +0 -0
  372. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +0 -0
  373. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +0 -0
  374. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +0 -0
  375. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeType.h +0 -0
  376. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +0 -0
  377. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +0 -0
  378. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +0 -0
  379. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +0 -0
  380. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +0 -0
  381. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +0 -0
  382. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +0 -0
  383. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +0 -0
  384. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.h +0 -0
  385. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +0 -0
  386. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +0 -0
  387. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +0 -0
  388. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +0 -0
  389. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +0 -0
  390. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +0 -0
  391. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +0 -0
  392. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +0 -0
  393. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +0 -0
  394. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +0 -0
  395. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +0 -0
  396. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +0 -0
  397. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +0 -0
  398. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +0 -0
  399. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +0 -0
  400. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +0 -0
  401. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +0 -0
  402. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.h +0 -0
  403. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +0 -0
  404. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +0 -0
  405. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +0 -0
  406. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +0 -0
  407. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +0 -0
  408. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +0 -0
  409. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +0 -0
  410. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +0 -0
  411. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +0 -0
  412. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +0 -0
  413. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +0 -0
  414. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +0 -0
  415. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +0 -0
  416. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +0 -0
  417. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +0 -0
  418. /data/ext/{asn_parser → asn1_parser}/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +0 -0
@@ -0,0 +1,57 @@
1
+ // Copyright 2012-2022 The ANTLR Project
2
+ //
3
+ // Redistribution and use in source and binary forms, with or without modification, are permitted
4
+ // provided that the following conditions are met:
5
+ //
6
+ // 1. Redistributions of source code must retain the above copyright notice, this list of conditions
7
+ // and the following disclaimer.
8
+ //
9
+ // 2. Redistributions in binary form must reproduce the above copyright notice, this list of
10
+ // conditions and the following disclaimer in the documentation and/or other materials provided
11
+ // with the distribution.
12
+ //
13
+ // 3. Neither the name of the copyright holder nor the names of its contributors may be used to
14
+ // endorse or promote products derived from this software without specific prior written
15
+ // permission.
16
+ //
17
+ // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
18
+ // IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
19
+ // FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
20
+ // CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21
+ // DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22
+ // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
23
+ // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY
24
+ // WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
+
26
+ #pragma once
27
+
28
+ #include "antlr4-common.h"
29
+
30
+ #if ANTLR4CPP_USING_ABSEIL
31
+ #include "absl/container/flat_hash_set.h"
32
+ #else
33
+ #include <unordered_set>
34
+ #endif
35
+
36
+ // By default ANTLRv4 uses containers provided by the C++ standard library. In most deployments this
37
+ // is fine, however in some using custom containers may be preferred. This header allows that by
38
+ // optionally supporting some alternative implementations and allowing for more easier patching of
39
+ // other alternatives.
40
+
41
+ namespace antlr4 {
42
+
43
+ #if ANTLR4CPP_USING_ABSEIL
44
+ template <typename Key,
45
+ typename Hash = typename absl::flat_hash_set<Key>::hasher,
46
+ typename Equal = typename absl::flat_hash_set<Key>::key_equal,
47
+ typename Allocator = typename absl::flat_hash_set<Key>::allocator_type>
48
+ using FlatHashSet = absl::flat_hash_set<Key, Hash, Equal, Allocator>;
49
+ #else
50
+ template <typename Key,
51
+ typename Hash = std::hash<Key>,
52
+ typename Equal = std::equal_to<Key>,
53
+ typename Allocator = std::allocator<Key>>
54
+ using FlatHashSet = std::unordered_set<Key, Hash, Equal, Allocator>;
55
+ #endif
56
+
57
+ } // namespace antlr4
@@ -20,6 +20,7 @@
20
20
  #include "Exceptions.h"
21
21
  #include "ANTLRErrorListener.h"
22
22
  #include "tree/pattern/ParseTreePattern.h"
23
+ #include "internal/Synchronization.h"
23
24
 
24
25
  #include "atn/ProfilingATNSimulator.h"
25
26
  #include "atn/ParseInfo.h"
@@ -28,6 +29,7 @@
28
29
 
29
30
  using namespace antlr4;
30
31
  using namespace antlr4::atn;
32
+ using namespace antlr4::internal;
31
33
  using namespace antlrcpp;
32
34
 
33
35
  namespace {
@@ -573,7 +575,7 @@ std::vector<std::string> Parser::getRuleInvocationStack(RuleContext *p) {
573
575
  std::vector<std::string> Parser::getDFAStrings() {
574
576
  atn::ParserATNSimulator *simulator = getInterpreter<atn::ParserATNSimulator>();
575
577
  if (!simulator->decisionToDFA.empty()) {
576
- std::lock_guard<std::mutex> lck(_mutex);
578
+ UniqueLock<Mutex> lck(_mutex);
577
579
 
578
580
  std::vector<std::string> s;
579
581
  for (size_t d = 0; d < simulator->decisionToDFA.size(); d++) {
@@ -588,7 +590,7 @@ std::vector<std::string> Parser::getDFAStrings() {
588
590
  void Parser::dumpDFA() {
589
591
  atn::ParserATNSimulator *simulator = getInterpreter<atn::ParserATNSimulator>();
590
592
  if (!simulator->decisionToDFA.empty()) {
591
- std::lock_guard<std::mutex> lck(_mutex);
593
+ UniqueLock<Mutex> lck(_mutex);
592
594
  bool seenOne = false;
593
595
  for (size_t d = 0; d < simulator->decisionToDFA.size(); d++) {
594
596
  dfa::DFA &dfa = simulator->decisionToDFA[d];
@@ -18,6 +18,7 @@
18
18
 
19
19
  using namespace antlr4;
20
20
  using namespace antlr4::atn;
21
+ using namespace antlr4::internal;
21
22
 
22
23
  std::map<const dfa::Vocabulary*, std::map<std::string_view, size_t>> Recognizer::_tokenTypeMapCache;
23
24
  std::map<std::vector<std::string>, std::map<std::string, size_t>> Recognizer::_ruleIndexMapCache;
@@ -33,7 +34,7 @@ Recognizer::~Recognizer() {
33
34
  std::map<std::string_view, size_t> Recognizer::getTokenTypeMap() {
34
35
  const dfa::Vocabulary& vocabulary = getVocabulary();
35
36
 
36
- std::lock_guard<std::mutex> lck(_mutex);
37
+ UniqueLock<Mutex> lck(_mutex);
37
38
  std::map<std::string_view, size_t> result;
38
39
  auto iterator = _tokenTypeMapCache.find(&vocabulary);
39
40
  if (iterator != _tokenTypeMapCache.end()) {
@@ -63,7 +64,7 @@ std::map<std::string, size_t> Recognizer::getRuleIndexMap() {
63
64
  throw "The current recognizer does not provide a list of rule names.";
64
65
  }
65
66
 
66
- std::lock_guard<std::mutex> lck(_mutex);
67
+ UniqueLock<Mutex> lck(_mutex);
67
68
  std::map<std::string, size_t> result;
68
69
  auto iterator = _ruleIndexMapCache.find(ruleNames);
69
70
  if (iterator != _ruleIndexMapCache.end()) {
@@ -8,6 +8,7 @@
8
8
  #include "ProxyErrorListener.h"
9
9
  #include "support/Casts.h"
10
10
  #include "atn/SerializedATNView.h"
11
+ #include "internal/Synchronization.h"
11
12
 
12
13
  namespace antlr4 {
13
14
 
@@ -142,7 +143,7 @@ namespace antlr4 {
142
143
  atn::ATNSimulator *_interpreter; // Set and deleted in descendants (or the profiler).
143
144
 
144
145
  // Mutex to manage synchronized access for multithreading.
145
- std::mutex _mutex;
146
+ internal::Mutex _mutex;
146
147
 
147
148
  private:
148
149
  static std::map<const dfa::Vocabulary*, std::map<std::string_view, size_t>> _tokenTypeMapCache;
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
1
+ /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2
2
  * Use of this file is governed by the BSD 3-clause license that
3
3
  * can be found in the LICENSE.txt file in the project root.
4
4
  */
@@ -313,6 +313,10 @@ std::string TokenStreamRewriter::getText(const std::string &programName, const I
313
313
  std::unordered_map<size_t, TokenStreamRewriter::RewriteOperation*> TokenStreamRewriter::reduceToSingleOperationPerIndex(
314
314
  std::vector<TokenStreamRewriter::RewriteOperation*> &rewrites) {
315
315
 
316
+ // Reset the instructionIndex
317
+ for (size_t i = 0; i < rewrites.size(); ++i) {
318
+ rewrites[i]->instructionIndex = i;
319
+ }
316
320
 
317
321
  // WALK REPLACES
318
322
  for (size_t i = 0; i < rewrites.size(); ++i) {
@@ -327,14 +331,14 @@ std::unordered_map<size_t, TokenStreamRewriter::RewriteOperation*> TokenStreamRe
327
331
  if (iop->index == rop->index) {
328
332
  // E.g., insert before 2, delete 2..2; update replace
329
333
  // text to include insert before, kill insert
330
- delete rewrites[iop->instructionIndex];
331
- rewrites[iop->instructionIndex] = nullptr;
332
334
  rop->text = iop->text + (!rop->text.empty() ? rop->text : "");
335
+ rewrites[iop->instructionIndex] = nullptr;
336
+ delete iop;
333
337
  }
334
338
  else if (iop->index > rop->index && iop->index <= rop->lastIndex) {
335
339
  // delete insert as it's a no-op.
336
- delete rewrites[iop->instructionIndex];
337
340
  rewrites[iop->instructionIndex] = nullptr;
341
+ delete iop;
338
342
  }
339
343
  }
340
344
  // Drop any prior replaces contained within
@@ -342,8 +346,8 @@ std::unordered_map<size_t, TokenStreamRewriter::RewriteOperation*> TokenStreamRe
342
346
  for (auto *prevRop : prevReplaces) {
343
347
  if (prevRop->index >= rop->index && prevRop->lastIndex <= rop->lastIndex) {
344
348
  // delete replace as it's a no-op.
345
- delete rewrites[prevRop->instructionIndex];
346
349
  rewrites[prevRop->instructionIndex] = nullptr;
350
+ delete prevRop;
347
351
  continue;
348
352
  }
349
353
  // throw exception unless disjoint or identical
@@ -351,11 +355,10 @@ std::unordered_map<size_t, TokenStreamRewriter::RewriteOperation*> TokenStreamRe
351
355
  // Delete special case of replace (text==null):
352
356
  // D.i-j.u D.x-y.v | boundaries overlap combine to max(min)..max(right)
353
357
  if (prevRop->text.empty() && rop->text.empty() && !disjoint) {
354
- delete rewrites[prevRop->instructionIndex];
355
- rewrites[prevRop->instructionIndex] = nullptr; // kill first delete
356
358
  rop->index = std::min(prevRop->index, rop->index);
357
359
  rop->lastIndex = std::max(prevRop->lastIndex, rop->lastIndex);
358
- std::cout << "new rop " << rop << std::endl;
360
+ rewrites[prevRop->instructionIndex] = nullptr; // kill first delete
361
+ delete prevRop;
359
362
  }
360
363
  else if (!disjoint) {
361
364
  throw IllegalArgumentException("replace op boundaries of " + rop->toString() +
@@ -379,8 +382,8 @@ std::unordered_map<size_t, TokenStreamRewriter::RewriteOperation*> TokenStreamRe
379
382
  // whole token buffer so no lazy eval issue with any templates
380
383
  iop->text = catOpText(&iop->text, &prevIop->text);
381
384
  // delete redundant prior insert
382
- delete rewrites[prevIop->instructionIndex];
383
385
  rewrites[prevIop->instructionIndex] = nullptr;
386
+ delete prevIop;
384
387
  }
385
388
  }
386
389
  // look for replaces where iop.index is in range; error
@@ -28,8 +28,8 @@
28
28
  #include "antlr4-common.h"
29
29
 
30
30
  #define ANTLRCPP_VERSION_MAJOR 4
31
- #define ANTLRCPP_VERSION_MINOR 10
32
- #define ANTLRCPP_VERSION_PATCH 1
31
+ #define ANTLRCPP_VERSION_MINOR 13
32
+ #define ANTLRCPP_VERSION_PATCH 2
33
33
 
34
34
  #define ANTLRCPP_MAKE_VERSION(major, minor, patch) ((major) * 100000 + (minor) * 1000 + (patch))
35
35
 
@@ -21,9 +21,7 @@
21
21
  #include <limits>
22
22
  #include <map>
23
23
  #include <memory>
24
- #include <mutex>
25
24
  #include <set>
26
- #include <shared_mutex>
27
25
  #include <sstream>
28
26
  #include <stack>
29
27
  #include <string>
@@ -86,6 +84,11 @@
86
84
  #define ANTLR4CPP_INTERNAL_STRINGIFY(x) #x
87
85
  #define ANTLR4CPP_STRINGIFY(x) ANTLR4CPP_INTERNAL_STRINGIFY(x)
88
86
 
87
+ // We use everything from the C++ standard library by default.
88
+ #ifndef ANTLR4CPP_USING_ABSEIL
89
+ #define ANTLR4CPP_USING_ABSEIL 0
90
+ #endif
91
+
89
92
  #include "support/Declarations.h"
90
93
 
91
94
  // We have to undefine this symbol as ANTLR will use this name for own members and even
@@ -165,5 +165,4 @@
165
165
  #include "tree/xpath/XPathTokenElement.h"
166
166
  #include "tree/xpath/XPathWildcardAnywhereElement.h"
167
167
  #include "tree/xpath/XPathWildcardElement.h"
168
-
169
-
168
+ #include "internal/Synchronization.h"
@@ -18,6 +18,7 @@
18
18
 
19
19
  using namespace antlr4;
20
20
  using namespace antlr4::atn;
21
+ using namespace antlr4::internal;
21
22
  using namespace antlrcpp;
22
23
 
23
24
  ATN::ATN() : ATN(ATNType::LEXER, 0) {}
@@ -38,7 +39,7 @@ misc::IntervalSet ATN::nextTokens(ATNState *s, RuleContext *ctx) const {
38
39
 
39
40
  misc::IntervalSet const& ATN::nextTokens(ATNState *s) const {
40
41
  if (!s->_nextTokenUpdated) {
41
- std::unique_lock<std::mutex> lock(_mutex);
42
+ UniqueLock<Mutex> lock(_mutex);
42
43
  if (!s->_nextTokenUpdated) {
43
44
  s->_nextTokenWithinRule = nextTokens(s, nullptr);
44
45
  s->_nextTokenUpdated = true;
@@ -6,6 +6,7 @@
6
6
  #pragma once
7
7
 
8
8
  #include "RuleContext.h"
9
+ #include "internal/Synchronization.h"
9
10
 
10
11
  // GCC generates a warning when forward-declaring ATN if ATN has already been
11
12
  // declared due to the attributes added by ANTLR4CPP_PUBLIC.
@@ -123,9 +124,9 @@ namespace atn {
123
124
  friend class LexerATNSimulator;
124
125
  friend class ParserATNSimulator;
125
126
 
126
- mutable std::mutex _mutex;
127
- mutable std::shared_mutex _stateMutex;
128
- mutable std::shared_mutex _edgeMutex;
127
+ mutable internal::Mutex _mutex;
128
+ mutable internal::SharedMutex _stateMutex;
129
+ mutable internal::SharedMutex _edgeMutex;
129
130
  };
130
131
 
131
132
  } // namespace atn
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
1
+ /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2
2
  * Use of this file is governed by the BSD 3-clause license that
3
3
  * can be found in the LICENSE.txt file in the project root.
4
4
  */
@@ -23,7 +23,7 @@ inline constexpr size_t SUPPRESS_PRECEDENCE_FILTER = 0x40000000;
23
23
  }
24
24
 
25
25
  ATNConfig::ATNConfig(ATNState *state, size_t alt, Ref<const PredictionContext> context)
26
- : ATNConfig(state, alt, std::move(context), 0, SemanticContext::NONE) {}
26
+ : ATNConfig(state, alt, std::move(context), 0, SemanticContext::Empty::Instance) {}
27
27
 
28
28
  ATNConfig::ATNConfig(ATNState *state, size_t alt, Ref<const PredictionContext> context, Ref<const SemanticContext> semanticContext)
29
29
  : ATNConfig(state, alt, std::move(context), 0, std::move(semanticContext)) {}
@@ -94,8 +94,8 @@ std::string ATNConfig::toString(bool showAlt) const {
94
94
  if (context) {
95
95
  ss << ",[" << context->toString() << "]";
96
96
  }
97
- if (semanticContext != nullptr && semanticContext != SemanticContext::NONE) {
98
- ss << ",[" << semanticContext->toString() << "]";
97
+ if (semanticContext != nullptr && semanticContext != SemanticContext::Empty::Instance) {
98
+ ss << "," << semanticContext->toString();
99
99
  }
100
100
  if (getOuterContextDepth() > 0) {
101
101
  ss << ",up=" << getOuterContextDepth();
@@ -1,4 +1,4 @@
1
- /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
1
+ /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2
2
  * Use of this file is governed by the BSD 3-clause license that
3
3
  * can be found in the LICENSE.txt file in the project root.
4
4
  */
@@ -43,7 +43,7 @@ bool ATNConfigSet::add(const Ref<ATNConfig> &config, PredictionContextMergeCache
43
43
  if (_readonly) {
44
44
  throw IllegalStateException("This set is readonly");
45
45
  }
46
- if (config->semanticContext != SemanticContext::NONE) {
46
+ if (config->semanticContext != SemanticContext::Empty::Instance) {
47
47
  hasSemanticContext = true;
48
48
  }
49
49
  if (config->getOuterContextDepth() > 0) {
@@ -114,7 +114,7 @@ std::vector<Ref<const SemanticContext>> ATNConfigSet::getPredicates() const {
114
114
  std::vector<Ref<const SemanticContext>> preds;
115
115
  preds.reserve(configs.size());
116
116
  for (const auto &c : configs) {
117
- if (c->semanticContext != SemanticContext::NONE) {
117
+ if (c->semanticContext != SemanticContext::Empty::Instance) {
118
118
  preds.push_back(c->semanticContext);
119
119
  }
120
120
  }
@@ -197,24 +197,25 @@ std::string ATNConfigSet::toString() const {
197
197
  std::stringstream ss;
198
198
  ss << "[";
199
199
  for (size_t i = 0; i < configs.size(); i++) {
200
+ if ( i>0 ) ss << ", ";
200
201
  ss << configs[i]->toString();
201
202
  }
202
203
  ss << "]";
203
204
 
204
205
  if (hasSemanticContext) {
205
- ss << ",hasSemanticContext = " << hasSemanticContext;
206
+ ss << ",hasSemanticContext=" << (hasSemanticContext?"true":"false");
206
207
  }
207
208
  if (uniqueAlt != ATN::INVALID_ALT_NUMBER) {
208
- ss << ",uniqueAlt = " << uniqueAlt;
209
+ ss << ",uniqueAlt=" << uniqueAlt;
209
210
  }
210
211
 
211
- if (conflictingAlts.size() > 0) {
212
- ss << ",conflictingAlts = ";
212
+ if (conflictingAlts.count() > 0) {
213
+ ss << ",conflictingAlts=";
213
214
  ss << conflictingAlts.toString();
214
215
  }
215
216
 
216
217
  if (dipsIntoOuterContext) {
217
- ss << ", dipsIntoOuterContext";
218
+ ss << ",dipsIntoOuterContext";
218
219
  }
219
220
  return ss.str();
220
221
  }
@@ -10,6 +10,7 @@
10
10
  #include "support/BitSet.h"
11
11
  #include "atn/PredictionContext.h"
12
12
  #include "atn/ATNConfig.h"
13
+ #include "FlatHashSet.h"
13
14
 
14
15
  namespace antlr4 {
15
16
  namespace atn {
@@ -130,7 +131,7 @@ namespace atn {
130
131
 
131
132
  virtual bool equals(const ATNConfig &lhs, const ATNConfig &rhs) const;
132
133
 
133
- using LookupContainer = std::unordered_set<ATNConfig*, ATNConfigHasher, ATNConfigComparer>;
134
+ using LookupContainer = FlatHashSet<ATNConfig*, ATNConfigHasher, ATNConfigComparer>;
134
135
 
135
136
  /// All configs but hashed by (s, i, _, pi) not including context. Wiped out
136
137
  /// when we go readonly as this set becomes a DFA state.
@@ -6,31 +6,16 @@
6
6
  #include "atn/ATNDeserializationOptions.h"
7
7
  #include "Exceptions.h"
8
8
 
9
- #include <memory>
10
- #include <mutex>
11
-
12
9
  using namespace antlr4;
13
10
  using namespace antlr4::atn;
14
11
 
15
- namespace {
16
-
17
- std::once_flag defaultATNDeserializationOptionsOnceFlag;
18
- std::unique_ptr<ATNDeserializationOptions> defaultATNDeserializationOptions;
19
-
20
- void initializeDefaultATNDeserializationOptions() {
21
- defaultATNDeserializationOptions.reset(new ATNDeserializationOptions());
22
- }
23
-
24
- }
25
-
26
12
  ATNDeserializationOptions::ATNDeserializationOptions(ATNDeserializationOptions *options)
27
13
  : _readOnly(false), _verifyATN(options->_verifyATN),
28
14
  _generateRuleBypassTransitions(options->_generateRuleBypassTransitions) {}
29
15
 
30
16
  const ATNDeserializationOptions& ATNDeserializationOptions::getDefaultOptions() {
31
- std::call_once(defaultATNDeserializationOptionsOnceFlag,
32
- initializeDefaultATNDeserializationOptions);
33
- return *defaultATNDeserializationOptions;
17
+ static const std::unique_ptr<const ATNDeserializationOptions> defaultOptions = std::make_unique<const ATNDeserializationOptions>();
18
+ return *defaultOptions;
34
19
  }
35
20
 
36
21
  void ATNDeserializationOptions::makeReadOnly() {
@@ -53,7 +53,6 @@
53
53
  #include "atn/ATNDeserializer.h"
54
54
 
55
55
  #include <cassert>
56
- #include <mutex>
57
56
  #include <string>
58
57
  #include <vector>
59
58
 
@@ -8,6 +8,7 @@
8
8
  #include <cstring>
9
9
 
10
10
  #include "atn/SingletonPredictionContext.h"
11
+ #include "atn/HashUtils.h"
11
12
  #include "misc/MurmurHash.h"
12
13
  #include "support/Casts.h"
13
14
 
@@ -17,12 +18,13 @@ using namespace antlrcpp;
17
18
 
18
19
  namespace {
19
20
 
20
- bool cachedHashCodeEqual(size_t lhs, size_t rhs) {
21
- return lhs == rhs || lhs == 0 || rhs == 0;
22
- }
23
-
24
21
  bool predictionContextEqual(const Ref<const PredictionContext> &lhs, const Ref<const PredictionContext> &rhs) {
25
- return *lhs == *rhs;
22
+ // parent PredictionContext pointers can be null during full context mode and
23
+ // the ctxs are in an ArrayPredictionContext. If both are null, return true
24
+ // if just one is null, return false. If both are non-null, do comparison.
25
+ if ( lhs == nullptr ) return rhs == nullptr;
26
+ if ( rhs == nullptr ) return false; // lhs!=null and rhs==null
27
+ return *lhs == *rhs; // both nonnull
26
28
  }
27
29
 
28
30
  }
@@ -75,11 +77,29 @@ bool ArrayPredictionContext::equals(const PredictionContext &other) const {
75
77
  return false;
76
78
  }
77
79
  const auto &array = downCast<const ArrayPredictionContext&>(other);
78
- return returnStates.size() == array.returnStates.size() &&
79
- parents.size() == array.parents.size() &&
80
- cachedHashCodeEqual(cachedHashCode(), array.cachedHashCode()) &&
81
- std::memcmp(returnStates.data(), array.returnStates.data(), returnStates.size() * sizeof(decltype(returnStates)::value_type)) == 0 &&
82
- std::equal(parents.begin(), parents.end(), array.parents.begin(), predictionContextEqual);
80
+ const bool sameSize = returnStates.size() == array.returnStates.size() &&
81
+ parents.size() == array.parents.size();
82
+ if ( !sameSize ) {
83
+ return false;
84
+ }
85
+
86
+ const bool sameHash = cachedHashCodeEqual(cachedHashCode(), array.cachedHashCode());
87
+ if ( !sameHash ) {
88
+ return false;
89
+ }
90
+
91
+ const size_t stateSizeBytes = sizeof(decltype(returnStates)::value_type);
92
+ const bool returnStateArraysEqual =
93
+ std::memcmp(returnStates.data(), array.returnStates.data(),
94
+ returnStates.size() * stateSizeBytes) == 0;
95
+ if ( !returnStateArraysEqual ) {
96
+ return false;
97
+ }
98
+
99
+ // stack of contexts is the same
100
+ const bool parentCtxEqual =
101
+ std::equal(parents.begin(), parents.end(), array.parents.begin(), predictionContextEqual);
102
+ return parentCtxEqual;
83
103
  }
84
104
 
85
105
  std::string ArrayPredictionContext::toString() const {
@@ -8,5 +8,5 @@
8
8
  using namespace antlr4::atn;
9
9
 
10
10
  std::string DecisionState::toString() const {
11
- return "DECISION " + ATNState::toString();
11
+ return ATNState::toString();
12
12
  }
@@ -0,0 +1,18 @@
1
+ /* Copyright (c) 2022 The ANTLR Project. All rights reserved.
2
+ * Use of this file is governed by the BSD 3-clause license that
3
+ * can be found in the LICENSE.txt file in the project root.
4
+ */
5
+
6
+ #pragma once
7
+
8
+ #include <cstddef>
9
+
10
+ namespace antlr4 {
11
+ namespace atn {
12
+
13
+ inline bool cachedHashCodeEqual(size_t lhs, size_t rhs) {
14
+ return lhs == rhs || lhs == 0 || rhs == 0;
15
+ }
16
+
17
+ } // namespace atn
18
+ } // namespace antlr4
@@ -16,6 +16,7 @@
16
16
  #include "misc/Interval.h"
17
17
  #include "dfa/DFA.h"
18
18
  #include "Lexer.h"
19
+ #include "internal/Synchronization.h"
19
20
 
20
21
  #include "dfa/DFAState.h"
21
22
  #include "atn/LexerATNConfig.h"
@@ -23,11 +24,16 @@
23
24
 
24
25
  #include "atn/LexerATNSimulator.h"
25
26
 
26
- #define DEBUG_ATN 0
27
- #define DEBUG_DFA 0
27
+ #ifndef LEXER_DEBUG_ATN
28
+ #define LEXER_DEBUG_ATN 0
29
+ #endif
30
+ #ifndef LEXER_DEBUG_DFA
31
+ #define LEXER_DEBUG_DFA 0
32
+ #endif
28
33
 
29
34
  using namespace antlr4;
30
35
  using namespace antlr4::atn;
36
+ using namespace antlr4::internal;
31
37
  using namespace antlrcpp;
32
38
 
33
39
  void LexerATNSimulator::SimState::reset() {
@@ -65,7 +71,7 @@ size_t LexerATNSimulator::match(CharStream *input, size_t mode) {
65
71
  const dfa::DFA &dfa = _decisionToDFA[mode];
66
72
  dfa::DFAState* s0;
67
73
  {
68
- std::shared_lock<std::shared_mutex> stateLock(atn._stateMutex);
74
+ SharedLock<SharedMutex> stateLock(atn._stateMutex);
69
75
  s0 = dfa.s0;
70
76
  }
71
77
  if (s0 == nullptr) {
@@ -167,10 +173,10 @@ size_t LexerATNSimulator::execATN(CharStream *input, dfa::DFAState *ds0) {
167
173
 
168
174
  dfa::DFAState *LexerATNSimulator::getExistingTargetState(dfa::DFAState *s, size_t t) {
169
175
  dfa::DFAState* retval = nullptr;
170
- std::shared_lock<std::shared_mutex> edgeLock(atn._edgeMutex);
176
+ SharedLock<SharedMutex> edgeLock(atn._edgeMutex);
171
177
  if (t <= MAX_DFA_EDGE) {
172
178
  auto iterator = s->edges.find(t - MIN_DFA_EDGE);
173
- #if DEBUG_ATN == 1
179
+ #if LEXER_DEBUG_ATN == 1
174
180
  if (iterator != s->edges.end()) {
175
181
  std::cout << std::string("reuse state ") << s->stateNumber << std::string(" edge to ") << iterator->second->stateNumber << std::endl;
176
182
  }
@@ -230,7 +236,7 @@ void LexerATNSimulator::getReachableConfigSet(CharStream *input, ATNConfigSet *c
230
236
  continue;
231
237
  }
232
238
 
233
- #if DEBUG_ATN == 1
239
+ #if LEXER_DEBUG_ATN == 1
234
240
  std::cout << "testing " << getTokenName((int)t) << " at " << c->toString(true) << std::endl;
235
241
  #endif
236
242
 
@@ -261,7 +267,7 @@ void LexerATNSimulator::getReachableConfigSet(CharStream *input, ATNConfigSet *c
261
267
 
262
268
  void LexerATNSimulator::accept(CharStream *input, const Ref<const LexerActionExecutor> &lexerActionExecutor, size_t /*startIndex*/,
263
269
  size_t index, size_t line, size_t charPos) {
264
- #if DEBUG_ATN == 1
270
+ #if LEXER_DEBUG_ATN == 1
265
271
  std::cout << "ACTION ";
266
272
  std::cout << toString(lexerActionExecutor) << std::endl;
267
273
  #endif
@@ -298,12 +304,12 @@ std::unique_ptr<ATNConfigSet> LexerATNSimulator::computeStartState(CharStream *i
298
304
 
299
305
  bool LexerATNSimulator::closure(CharStream *input, const Ref<LexerATNConfig> &config, ATNConfigSet *configs,
300
306
  bool currentAltReachedAcceptState, bool speculative, bool treatEofAsEpsilon) {
301
- #if DEBUG_ATN == 1
307
+ #if LEXER_DEBUG_ATN == 1
302
308
  std::cout << "closure(" << config->toString(true) << ")" << std::endl;
303
309
  #endif
304
310
 
305
311
  if (config->state != nullptr && config->state->getStateType() == ATNStateType::RULE_STOP) {
306
- #if DEBUG_ATN == 1
312
+ #if LEXER_DEBUG_ATN == 1
307
313
  if (_recog != nullptr) {
308
314
  std::cout << "closure at " << _recog->getRuleNames()[config->state->ruleIndex] << " rule stop " << config << std::endl;
309
315
  } else {
@@ -390,7 +396,7 @@ Ref<LexerATNConfig> LexerATNSimulator::getEpsilonTarget(CharStream *input, const
390
396
  */
391
397
  const PredicateTransition *pt = static_cast<const PredicateTransition*>(t);
392
398
 
393
- #if DEBUG_ATN == 1
399
+ #if LEXER_DEBUG_ATN == 1
394
400
  std::cout << "EVAL rule " << pt->getRuleIndex() << ":" << pt->getPredIndex() << std::endl;
395
401
  #endif
396
402
 
@@ -513,7 +519,7 @@ void LexerATNSimulator::addDFAEdge(dfa::DFAState *p, size_t t, dfa::DFAState *q)
513
519
  return;
514
520
  }
515
521
 
516
- std::unique_lock<std::shared_mutex> edgeLock(atn._edgeMutex);
522
+ UniqueLock<SharedMutex> edgeLock(atn._edgeMutex);
517
523
  p->edges[t - MIN_DFA_EDGE] = q; // connect
518
524
  }
519
525
 
@@ -545,7 +551,7 @@ dfa::DFAState *LexerATNSimulator::addDFAState(ATNConfigSet *configs, bool suppre
545
551
  dfa::DFA &dfa = _decisionToDFA[_mode];
546
552
 
547
553
  {
548
- std::unique_lock<std::shared_mutex> stateLock(atn._stateMutex);
554
+ UniqueLock<SharedMutex> stateLock(atn._stateMutex);
549
555
  auto [existing, inserted] = dfa.states.insert(proposed);
550
556
  if (!inserted) {
551
557
  delete proposed;
@@ -5,6 +5,7 @@
5
5
 
6
6
  #include "misc/MurmurHash.h"
7
7
  #include "atn/LexerIndexedCustomAction.h"
8
+ #include "atn/HashUtils.h"
8
9
  #include "support/CPPUtils.h"
9
10
  #include "support/Arrays.h"
10
11
  #include "support/Casts.h"
@@ -18,10 +19,6 @@ using namespace antlrcpp;
18
19
 
19
20
  namespace {
20
21
 
21
- bool cachedHashCodeEqual(size_t lhs, size_t rhs) {
22
- return lhs == rhs || lhs == 0 || rhs == 0;
23
- }
24
-
25
22
  bool lexerActionEqual(const Ref<const LexerAction> &lhs, const Ref<const LexerAction> &rhs) {
26
23
  return *lhs == *rhs;
27
24
  }