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,388 @@
1
+ /*
2
+ * [The "BSD license"]
3
+ * Copyright (c) 2016 Mike Lischke
4
+ * All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions
8
+ * are met:
9
+ *
10
+ * 1. Redistributions of source code must retain the above copyright
11
+ * notice, this list of conditions and the following disclaimer.
12
+ * 2. Redistributions in binary form must reproduce the above copyright
13
+ * notice, this list of conditions and the following disclaimer in the
14
+ * documentation and/or other materials provided with the distribution.
15
+ * 3. The name of the author may not be used to endorse or promote products
16
+ * derived from this software without specific prior written permission.
17
+ *
18
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+ */
29
+
30
+ #import <XCTest/XCTest.h>
31
+
32
+ #include "antlr4-runtime.h"
33
+
34
+ using namespace antlr4;
35
+ using namespace antlr4::misc;
36
+ using namespace antlrcpp;
37
+
38
+ @interface MiscClassTests : XCTestCase
39
+
40
+ @end
41
+
42
+ @implementation MiscClassTests
43
+
44
+ - (void)setUp {
45
+ [super setUp];
46
+ // Put setup code here. This method is called before the invocation of each test method in the class.
47
+ }
48
+
49
+ - (void)tearDown {
50
+ // Put teardown code here. This method is called after the invocation of each test method in the class.
51
+ [super tearDown];
52
+ }
53
+
54
+ - (void)testCPPUtils {
55
+
56
+ class A { public: virtual ~A() {}; };
57
+ class B : public A { public: virtual ~B() {}; };
58
+ class C : public A { public: virtual ~C() {}; };
59
+ class D : public C { public: virtual ~D() {}; };
60
+
61
+ {
62
+ A *a = new A(); B *b = new B(); C *c = new C(); D *d = new D();
63
+ XCTAssert(is<A*>(b));
64
+ XCTAssertFalse(is<B*>(a));
65
+ XCTAssert(is<A*>(c));
66
+ XCTAssertFalse(is<B*>(c));
67
+ XCTAssert(is<A*>(d));
68
+ XCTAssert(is<C*>(d));
69
+ XCTAssertFalse(is<B*>(d));
70
+ delete a; delete b; delete c; delete d;
71
+ }
72
+ {
73
+ Ref<A> a(new A());
74
+ Ref<B> b(new B());
75
+ Ref<C> c(new C());
76
+ Ref<D> d(new D());
77
+ XCTAssert(is<A>(b));
78
+ XCTAssertFalse(is<B>(a));
79
+ XCTAssert(is<A>(c));
80
+ XCTAssertFalse(is<B>(c));
81
+ XCTAssert(is<A>(d));
82
+ XCTAssert(is<C>(d));
83
+ XCTAssertFalse(is<B>(d));
84
+ }
85
+ }
86
+
87
+ - (void)testMurmurHash {
88
+ XCTAssertEqual(MurmurHash::initialize(), 0U);
89
+ XCTAssertEqual(MurmurHash::initialize(31), 31U);
90
+
91
+ // In absence of real test vectors (64bit) for murmurhash I instead check if I can find duplicate hash values
92
+ // in a deterministic and a random sequence of 100K values each.
93
+ std::set<size_t> hashs;
94
+ for (size_t i = 0; i < 100000; ++i) {
95
+ std::vector<size_t> data = { i, static_cast<size_t>(i * M_PI), arc4random() };
96
+ size_t hash = 0;
97
+ for (auto value : data)
98
+ hash = MurmurHash::update(hash, value);
99
+ hash = MurmurHash::finish(hash, data.size());
100
+ hashs.insert(hash);
101
+ }
102
+ XCTAssertEqual(hashs.size(), 100000U, @"At least one duplicate hash found.");
103
+
104
+ hashs.clear();
105
+ for (size_t i = 0; i < 100000; ++i) {
106
+ std::vector<size_t> data = { i, static_cast<size_t>(i * M_PI) };
107
+ size_t hash = 0;
108
+ for (auto value : data)
109
+ hash = MurmurHash::update(hash, value);
110
+ hash = MurmurHash::finish(hash, data.size());
111
+ hashs.insert(hash);
112
+ }
113
+ XCTAssertEqual(hashs.size(), 100000U, @"At least one duplicate hash found.");
114
+
115
+ // Another test with fixed input but varying seeds.
116
+ // Note: the higher the seed the less LSDs are in the result (for small input data).
117
+ hashs.clear();
118
+ std::vector<size_t> data = { L'µ', 'a', '@', '1' };
119
+ for (size_t i = 0; i < 100000; ++i) {
120
+ size_t hash = i;
121
+ for (auto value : data)
122
+ hash = MurmurHash::update(hash, value);
123
+ hash = MurmurHash::finish(hash, data.size());
124
+ hashs.insert(hash);
125
+ }
126
+ XCTAssertEqual(hashs.size(), 100000U, @"At least one duplicate hash found.");
127
+ }
128
+
129
+ - (void)testInterval {
130
+ // The Interval class contains no error handling (checks for invalid intervals), hence some of the results
131
+ // look strange as we test of course such intervals as well.
132
+ XCTAssertEqual(Interval().length(), 0UL);
133
+ XCTAssertEqual(Interval(0, 0UL).length(), 1UL); // Remember: it's an inclusive interval.
134
+ XCTAssertEqual(Interval(100, 100UL).length(), 1UL);
135
+ XCTAssertEqual(Interval(-1L, -1).length(), 1UL); // Unwanted behavior: negative ranges.
136
+ XCTAssertEqual(Interval(-1L, -2).length(), 0UL);
137
+ XCTAssertEqual(Interval(100, 50UL).length(), 0UL);
138
+
139
+ XCTAssert(Interval() == Interval(-1L, -2));
140
+ XCTAssert(Interval(0, 0UL) == Interval(0, 0UL));
141
+ XCTAssertFalse(Interval(0, 1UL) == Interval(1, 2UL));
142
+
143
+ XCTAssertEqual(Interval().hashCode(), 22070U);
144
+ XCTAssertEqual(Interval(0, 0UL).hashCode(), 22103U);
145
+ XCTAssertEqual(Interval(10, 2000UL).hashCode(), 24413U);
146
+
147
+ // Results for the interval test functions in this order:
148
+ // startsBeforeDisjoint
149
+ // startsBeforeNonDisjoint
150
+ // startsAfter
151
+ // startsAfterDisjoint
152
+ // startsAfterNonDisjoint
153
+ // disjoint
154
+ // adjacent
155
+ // properlyContains
156
+
157
+ typedef std::vector<bool> TestResults;
158
+ struct TestEntry { size_t runningNumber; Interval interval1, interval2; TestResults results; };
159
+ std::vector<TestEntry> testData = {
160
+ // Extreme cases + invalid intervals.
161
+ { 0, Interval(), Interval(10, 20UL), { true, false, false, false, false, true, false, false } },
162
+ { 1, Interval(1, 1UL), Interval(1, 1UL), { false, true, false, false, false, false, false, true } },
163
+ { 2, Interval(10000, 10000UL), Interval(10000, 10000UL), { false, true, false, false, false, false, false, true } },
164
+ { 3, Interval(100, 10UL), Interval(100, 10UL), { false, false, false, true, false, true, false, true } },
165
+ { 4, Interval(100, 10UL), Interval(10, 100UL), { false, false, true, false, true, false, false, false } },
166
+ { 5, Interval(10, 100UL), Interval(100, 10UL), { false, true, false, false, false, false, false, true } },
167
+
168
+ // First starts before second. End varies.
169
+ { 20, Interval(10, 12UL), Interval(12, 100UL), { false, true, false, false, false, false, false, false } },
170
+ { 21, Interval(10, 12UL), Interval(13, 100UL), { true, false, false, false, false, true, true, false } },
171
+ { 22, Interval(10, 12UL), Interval(14, 100UL), { true, false, false, false, false, true, false, false } },
172
+ { 23, Interval(10, 13UL), Interval(12, 100UL), { false, true, false, false, false, false, false, false } },
173
+ { 24, Interval(10, 14UL), Interval(12, 100UL), { false, true, false, false, false, false, false, false } },
174
+ { 25, Interval(10, 99UL), Interval(12, 100UL), { false, true, false, false, false, false, false, false } },
175
+ { 26, Interval(10, 100UL), Interval(12, 100UL), { false, true, false, false, false, false, false, true } },
176
+ { 27, Interval(10, 101UL), Interval(12, 100UL), { false, true, false, false, false, false, false, true } },
177
+ { 28, Interval(10, 1000UL), Interval(12, 100UL), { false, true, false, false, false, false, false, true } },
178
+
179
+ // First and second start equal. End varies.
180
+ { 30, Interval(12, 12UL), Interval(12, 100UL), { false, true, false, false, false, false, false, false } },
181
+ { 31, Interval(12, 12UL), Interval(13, 100UL), { true, false, false, false, false, true, true, false } },
182
+ { 32, Interval(12, 12UL), Interval(14, 100UL), { true, false, false, false, false, true, false, false } },
183
+ { 33, Interval(12, 13UL), Interval(12, 100UL), { false, true, false, false, false, false, false, false } },
184
+ { 34, Interval(12, 14UL), Interval(12, 100UL), { false, true, false, false, false, false, false, false } },
185
+ { 35, Interval(12, 99UL), Interval(12, 100UL), { false, true, false, false, false, false, false, false } },
186
+ { 36, Interval(12, 100UL), Interval(12, 100UL), { false, true, false, false, false, false, false, true } },
187
+ { 37, Interval(12, 101UL), Interval(12, 100UL), { false, true, false, false, false, false, false, true } },
188
+ { 38, Interval(12, 1000UL), Interval(12, 100UL), { false, true, false, false, false, false, false, true } },
189
+
190
+ // First starts after second. End varies.
191
+ { 40, Interval(15, 12UL), Interval(12, 100UL), { false, false, true, false, true, false, false, false } },
192
+ { 41, Interval(15, 12UL), Interval(13, 100UL), { false, false, true, false, true, false, true, false } },
193
+ { 42, Interval(15, 12UL), Interval(14, 100UL), { false, false, true, false, true, false, false, false } },
194
+ { 43, Interval(15, 13UL), Interval(12, 100UL), { false, false, true, false, true, false, false, false } },
195
+ { 44, Interval(15, 14UL), Interval(12, 100UL), { false, false, true, false, true, false, false, false } },
196
+ { 45, Interval(15, 99UL), Interval(12, 100UL), { false, false, true, false, true, false, false, false } },
197
+ { 46, Interval(15, 100UL), Interval(12, 100UL), { false, false, true, false, true, false, false, false } },
198
+ { 47, Interval(15, 101UL), Interval(12, 100UL), { false, false, true, false, true, false, false, false } },
199
+ { 48, Interval(15, 1000UL), Interval(12, 100UL), { false, false, true, false, true, false, false, false } },
200
+
201
+ // First ends before second. Start varies.
202
+ { 50, Interval(10, 90UL), Interval(20, 100UL), { false, true, false, false, false, false, false, false } },
203
+ { 51, Interval(19, 90UL), Interval(20, 100UL), { false, true, false, false, false, false, false, false } },
204
+ { 52, Interval(20, 90UL), Interval(20, 100UL), { false, true, false, false, false, false, false, false } },
205
+ { 53, Interval(21, 90UL), Interval(20, 100UL), { false, false, true, false, true, false, false, false } },
206
+ { 54, Interval(98, 90UL), Interval(20, 100UL), { false, false, true, false, true, false, false, false } },
207
+ { 55, Interval(99, 90UL), Interval(20, 100UL), { false, false, true, false, true, false, false, false } },
208
+ { 56, Interval(100, 90UL), Interval(20, 100UL), { false, false, true, false, true, false, false, false } },
209
+ { 57, Interval(101, 90UL), Interval(20, 100UL), { false, false, true, true, false, true, true, false } },
210
+ { 58, Interval(1000, 90UL), Interval(20, 100UL), { false, false, true, true, false, true, false, false } },
211
+
212
+ // First and second end equal. Start varies.
213
+ { 60, Interval(10, 100UL), Interval(20, 100UL), { false, true, false, false, false, false, false, true } },
214
+ { 61, Interval(19, 100UL), Interval(20, 100UL), { false, true, false, false, false, false, false, true } },
215
+ { 62, Interval(20, 100UL), Interval(20, 100UL), { false, true, false, false, false, false, false, true } },
216
+ { 63, Interval(21, 100UL), Interval(20, 100UL), { false, false, true, false, true, false, false, false } },
217
+ { 64, Interval(98, 100UL), Interval(20, 100UL), { false, false, true, false, true, false, false, false } },
218
+ { 65, Interval(99, 100UL), Interval(20, 100UL), { false, false, true, false, true, false, false, false } },
219
+ { 66, Interval(100, 100UL), Interval(20, 100UL), { false, false, true, false, true, false, false, false } },
220
+ { 67, Interval(101, 100UL), Interval(20, 100UL), { false, false, true, true, false, true, true, false } },
221
+ { 68, Interval(1000, 100UL), Interval(20, 100UL), { false, false, true, true, false, true, false, false } },
222
+
223
+ // First ends after second. Start varies.
224
+ { 70, Interval(10, 1000UL), Interval(20, 100UL), { false, true, false, false, false, false, false, true } },
225
+ { 71, Interval(19, 1000UL), Interval(20, 100UL), { false, true, false, false, false, false, false, true } },
226
+ { 72, Interval(20, 1000UL), Interval(20, 100UL), { false, true, false, false, false, false, false, true } },
227
+ { 73, Interval(21, 1000UL), Interval(20, 100UL), { false, false, true, false, true, false, false, false } },
228
+ { 74, Interval(98, 1000UL), Interval(20, 100UL), { false, false, true, false, true, false, false, false } },
229
+ { 75, Interval(99, 1000UL), Interval(20, 100UL), { false, false, true, false, true, false, false, false } },
230
+ { 76, Interval(100, 1000UL), Interval(20, 100UL), { false, false, true, false, true, false, false, false } },
231
+ { 77, Interval(101, 1000UL), Interval(20, 100UL), { false, false, true, true, false, true, true, false } },
232
+ { 78, Interval(1000, 1000UL), Interval(20, 100UL), { false, false, true, true, false, true, false, false } },
233
+
234
+ // It's possible to add more tests with borders that touch each other (e.g. first starts before/on/after second
235
+ // and first ends directly before/after second. However, such cases are not handled differently in the Interval
236
+ // class
237
+ // (only adjacent intervals, where first ends directly before second starts and vice versa. So I ommitted them here.
238
+ };
239
+
240
+ for (auto &entry : testData) {
241
+ XCTAssert(entry.interval1.startsBeforeDisjoint(entry.interval2) == entry.results[0], @"entry: %zu",
242
+ entry.runningNumber);
243
+ XCTAssert(entry.interval1.startsBeforeNonDisjoint(entry.interval2) == entry.results[1], @"entry: %zu",
244
+ entry.runningNumber);
245
+ XCTAssert(entry.interval1.startsAfter(entry.interval2) == entry.results[2], @"entry: %zu", entry.runningNumber);
246
+ XCTAssert(entry.interval1.startsAfterDisjoint(entry.interval2) == entry.results[3], @"entry: %zu",
247
+ entry.runningNumber);
248
+ XCTAssert(entry.interval1.startsAfterNonDisjoint(entry.interval2) == entry.results[4], @"entry: %zu",
249
+ entry.runningNumber);
250
+ XCTAssert(entry.interval1.disjoint(entry.interval2) == entry.results[5], @"entry: %zu", entry.runningNumber);
251
+ XCTAssert(entry.interval1.adjacent(entry.interval2) == entry.results[6], @"entry: %zu", entry.runningNumber);
252
+ XCTAssert(entry.interval1.properlyContains(entry.interval2) == entry.results[7], @"entry: %zu",
253
+ entry.runningNumber);
254
+ }
255
+
256
+ XCTAssert(Interval().Union(Interval(10, 100UL)) == Interval(-1L, 100));
257
+ XCTAssert(Interval(10, 10UL).Union(Interval(10, 100UL)) == Interval(10, 100UL));
258
+ XCTAssert(Interval(10, 11UL).Union(Interval(10, 100UL)) == Interval(10, 100UL));
259
+ XCTAssert(Interval(10, 1000UL).Union(Interval(10, 100UL)) == Interval(10, 1000UL));
260
+ XCTAssert(Interval(1000, 30UL).Union(Interval(10, 100UL)) == Interval(10, 100UL));
261
+ XCTAssert(Interval(1000, 2000UL).Union(Interval(10, 100UL)) == Interval(10, 2000UL));
262
+ XCTAssert(Interval(500, 2000UL).Union(Interval(10, 1000UL)) == Interval(10, 2000UL));
263
+
264
+ XCTAssert(Interval().intersection(Interval(10, 100UL)) == Interval(10, -2L));
265
+ XCTAssert(Interval(10, 10UL).intersection(Interval(10, 100UL)) == Interval(10, 10UL));
266
+ XCTAssert(Interval(10, 11UL).intersection(Interval(10, 100UL)) == Interval(10, 11UL));
267
+ XCTAssert(Interval(10, 1000UL).intersection(Interval(10, 100UL)) == Interval(10, 100UL));
268
+ XCTAssert(Interval(1000, 30UL).intersection(Interval(10, 100UL)) == Interval(1000, 30UL));
269
+ XCTAssert(Interval(1000, 2000UL).intersection(Interval(10, 100UL)) == Interval(1000, 100UL));
270
+ XCTAssert(Interval(500, 2000UL).intersection(Interval(10, 1000UL)) == Interval(500, 1000UL));
271
+
272
+ XCTAssert(Interval().toString() == "-1..-2");
273
+ XCTAssert(Interval(10, 10UL).toString() == "10..10");
274
+ XCTAssert(Interval(1000, 2000UL).toString() == "1000..2000");
275
+ XCTAssert(Interval(500UL, INT_MAX).toString() == "500.." + std::to_string(INT_MAX));
276
+ }
277
+
278
+ - (void)testIntervalSet {
279
+ XCTAssertFalse(IntervalSet().isReadOnly());
280
+ XCTAssert(IntervalSet().isEmpty());
281
+
282
+ IntervalSet set1;
283
+ set1.setReadOnly(true);
284
+ XCTAssert(set1.isReadOnly());
285
+
286
+ XCTAssert(IntervalSet() == IntervalSet::EMPTY_SET);
287
+
288
+ std::vector<Interval> intervals = { Interval(), Interval(10, 20UL), Interval(20, 100UL), Interval(1000, 2000UL) };
289
+ IntervalSet set2(intervals);
290
+ XCTAssertFalse(set2.isEmpty());
291
+ XCTAssertFalse(set2.contains(9UL));
292
+ XCTAssert(set2.contains(10UL));
293
+ XCTAssert(set2.contains(20UL));
294
+ XCTAssertTrue(set2.contains(22UL));
295
+ XCTAssert(set2.contains(1111UL));
296
+ XCTAssertFalse(set2.contains(10000UL));
297
+ XCTAssertEqual(set2.getSingleElement(), Token::INVALID_TYPE);
298
+ XCTAssertEqual(set2.getMinElement(), -1);
299
+ XCTAssertEqual(set2.getMaxElement(), 2000);
300
+
301
+ IntervalSet set3(set2);
302
+ XCTAssertFalse(set3.isEmpty());
303
+ XCTAssertFalse(set3.contains(9UL));
304
+ XCTAssert(set3.contains(10UL));
305
+ XCTAssert(set3.contains(20UL));
306
+ XCTAssertTrue(set3.contains(22UL));
307
+ XCTAssert(set3.contains(1111UL));
308
+ XCTAssertFalse(set3.contains(10000UL));
309
+ XCTAssertEqual(set3.getSingleElement(), Token::INVALID_TYPE);
310
+ XCTAssertEqual(set3.getMinElement(), 10);
311
+ XCTAssertEqual(set3.getMaxElement(), 2000);
312
+
313
+ set3.add(Interval(100, 1000UL));
314
+ XCTAssertEqual(set3.getMinElement(), 10);
315
+ set3.add(Interval(9, 1000UL));
316
+ XCTAssertEqual(set3.getMinElement(), 9);
317
+ set3.add(Interval(1, 1UL));
318
+ XCTAssertEqual(set3.getMinElement(), 1);
319
+
320
+ IntervalSet set4;
321
+ set4.add(10);
322
+ XCTAssertEqual(set4.getSingleElement(), 10);
323
+ XCTAssertEqual(set4.getMinElement(), 10);
324
+ XCTAssertEqual(set4.getMaxElement(), 10);
325
+
326
+ set4.clear();
327
+ XCTAssert(set4.isEmpty());
328
+ set4.add(Interval(10, 10UL));
329
+ XCTAssertEqual(set4.getSingleElement(), 10);
330
+ XCTAssertEqual(set4.getMinElement(), 10);
331
+ XCTAssertEqual(set4.getMaxElement(), 10);
332
+ set4.setReadOnly(true);
333
+ try {
334
+ set4.clear();
335
+ XCTFail(@"Expected exception");
336
+ } catch (IllegalStateException &e) {
337
+ }
338
+
339
+ try {
340
+ set4.setReadOnly(false);
341
+ XCTFail(@"Expected exception");
342
+ } catch (IllegalStateException &e) {
343
+ }
344
+
345
+ try {
346
+ set4 = IntervalSet::of(12345);
347
+ XCTFail(@"Expected exception");
348
+ } catch (IllegalStateException &e) {
349
+ }
350
+
351
+ IntervalSet set5 = IntervalSet::of(12345);
352
+ XCTAssertEqual(set5.getSingleElement(), 12345);
353
+ XCTAssertEqual(set5.getMinElement(), 12345);
354
+ XCTAssertEqual(set5.getMaxElement(), 12345);
355
+
356
+ IntervalSet set6(10, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50);
357
+ XCTAssertEqual(set6.getMinElement(), 5);
358
+ XCTAssertEqual(set6.getMaxElement(), 50);
359
+ XCTAssertEqual(set6.size(), 10U);
360
+ set6.add(12, 18);
361
+ XCTAssertEqual(set6.size(), 16U); // (15, 15) replaced by (12, 18)
362
+ set6.add(9, 33);
363
+ XCTAssertEqual(set6.size(), 30U); // (10, 10), (12, 18), (20, 20), (25, 25) and (30, 30) replaced by (9, 33)
364
+
365
+ XCTAssert(IntervalSet(3, 1, 2, 10).Or(IntervalSet(3, 1, 2, 5)) == IntervalSet(4, 1, 2, 5, 10));
366
+ XCTAssert(IntervalSet({ Interval(2, 10UL) }).Or(IntervalSet({ Interval(5, 8UL) })) == IntervalSet({ Interval(2, 10UL) }));
367
+
368
+ XCTAssert(IntervalSet::of(1, 10).complement(IntervalSet::of(7, 55)) == IntervalSet::of(11, 55));
369
+ XCTAssert(IntervalSet::of(1, 10).complement(IntervalSet::of(20, 55)) == IntervalSet::of(20, 55));
370
+ XCTAssert(IntervalSet::of(1, 10).complement(IntervalSet::of(5, 6)) == IntervalSet::EMPTY_SET);
371
+ XCTAssert(IntervalSet::of(15, 20).complement(IntervalSet::of(7, 55)) ==
372
+ IntervalSet({ Interval(7, 14UL), Interval(21, 55UL) }));
373
+ XCTAssert(IntervalSet({ Interval(1, 10UL), Interval(30, 35UL) }).complement(IntervalSet::of(7, 55)) ==
374
+ IntervalSet({ Interval(11, 29UL), Interval(36, 55UL) }));
375
+
376
+ XCTAssert(IntervalSet::of(1, 10).And(IntervalSet::of(7, 55)) == IntervalSet::of(7, 10));
377
+ XCTAssert(IntervalSet::of(1, 10).And(IntervalSet::of(20, 55)) == IntervalSet::EMPTY_SET);
378
+ XCTAssert(IntervalSet::of(1, 10).And(IntervalSet::of(5, 6)) == IntervalSet::of(5, 6));
379
+ XCTAssert(IntervalSet::of(15, 20).And(IntervalSet::of(7, 55)) == IntervalSet::of(15, 20));
380
+
381
+ XCTAssert(IntervalSet::of(1, 10).subtract(IntervalSet::of(7, 55)) == IntervalSet::of(1, 6));
382
+ XCTAssert(IntervalSet::of(1, 10).subtract(IntervalSet::of(20, 55)) == IntervalSet::of(1, 10));
383
+ XCTAssert(IntervalSet::of(1, 10).subtract(IntervalSet::of(5, 6)) ==
384
+ IntervalSet({ Interval(1, 4UL), Interval(7, 10UL) }));
385
+ XCTAssert(IntervalSet::of(15, 20).subtract(IntervalSet::of(7, 55)) == IntervalSet::EMPTY_SET);
386
+ }
387
+
388
+ @end
@@ -0,0 +1,57 @@
1
+ /*
2
+ * [The "BSD license"]
3
+ * Copyright (c) 2015 Dan McLaughlin
4
+ * All rights reserved.
5
+ *
6
+ * Redistribution and use in source and binary forms, with or without
7
+ * modification, are permitted provided that the following conditions
8
+ * are met:
9
+ *
10
+ * 1. Redistributions of source code must retain the above copyright
11
+ * notice, this list of conditions and the following disclaimer.
12
+ * 2. Redistributions in binary form must reproduce the above copyright
13
+ * notice, this list of conditions and the following disclaimer in the
14
+ * documentation and/or other materials provided with the distribution.
15
+ * 3. The name of the author may not be used to endorse or promote products
16
+ * derived from this software without specific prior written permission.
17
+ *
18
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
19
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
20
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
21
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
22
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
23
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
27
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
+ */
29
+
30
+ #import <Cocoa/Cocoa.h>
31
+ #import <XCTest/XCTest.h>
32
+
33
+ #include "ParserATNSimulator.h"
34
+ #include "DFA.h"
35
+ #include "ATN.h"
36
+
37
+ #include <vector>
38
+
39
+ using namespace antlr4;
40
+
41
+ @interface antlrcpp_Tests : XCTestCase
42
+
43
+ @end
44
+
45
+ @implementation antlrcpp_Tests
46
+
47
+ - (void)setUp {
48
+ [super setUp];
49
+ // Put setup code here. This method is called before the invocation of each test method in the class.
50
+ }
51
+
52
+ - (void)tearDown {
53
+ // Put teardown code here. This method is called after the invocation of each test method in the class.
54
+ [super tearDown];
55
+ }
56
+
57
+ @end