expressir 1.2.4 → 1.2.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 (310) hide show
  1. checksums.yaml +4 -4
  2. data/.cross_rubies +0 -6
  3. data/.github/workflows/rake.yml +200 -9
  4. data/.gitignore +7 -2
  5. data/.gitmodules +3 -0
  6. data/.rubocop.yml +13 -4
  7. data/Rakefile +4 -1
  8. data/bin/console +0 -1
  9. data/bin/rspec +3 -3
  10. data/exe/expressir +4 -2
  11. data/exe/format +1 -1
  12. data/exe/format-test +25 -25
  13. data/exe/generate-parser +16 -13
  14. data/expressir.gemspec +11 -9
  15. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +44 -34
  16. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj +11 -5
  17. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2013.vcxproj.filters +0 -3
  18. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj +11 -4
  19. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2015.vcxproj.filters +0 -3
  20. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj +11 -4
  21. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2017.vcxproj.filters +0 -3
  22. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +11 -4
  23. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj.filters +0 -3
  24. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +20 -20
  25. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +0 -6
  26. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +30 -19
  27. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +13 -10
  28. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +2 -4
  29. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +16 -13
  30. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +2 -2
  31. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +2 -2
  32. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +5 -4
  33. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +1 -1
  34. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +0 -6
  35. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +0 -1
  36. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +0 -13
  37. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +0 -15
  38. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +1 -7
  39. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +47 -27
  40. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +0 -6
  41. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +27 -39
  42. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +1 -7
  43. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +19 -22
  44. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +20 -20
  45. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +0 -1
  46. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +16 -27
  47. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +10 -21
  48. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +4 -3
  49. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +5 -1
  50. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +2 -1
  51. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +0 -32
  52. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +1 -1
  53. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +2 -7
  54. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +15 -18
  55. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +12 -18
  56. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Version.h +42 -0
  57. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +13 -45
  58. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +11 -26
  59. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +19 -61
  60. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +7 -5
  61. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +4 -55
  62. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +34 -20
  63. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +30 -35
  64. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +35 -32
  65. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +58 -54
  66. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +77 -31
  67. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +22 -32
  68. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +22 -24
  69. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +335 -462
  70. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +9 -68
  71. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +9 -39
  72. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +6 -22
  73. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +10 -26
  74. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +41 -42
  75. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.cpp +33 -0
  76. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.h +36 -0
  77. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +2 -6
  78. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +4 -2
  79. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +49 -22
  80. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +20 -12
  81. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +1 -5
  82. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +5 -2
  83. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +4 -2
  84. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +4 -2
  85. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +5 -3
  86. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +10 -1
  87. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +1 -1
  88. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +0 -5
  89. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +12 -8
  90. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +2 -6
  91. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +6 -3
  92. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +139 -106
  93. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +9 -48
  94. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +16 -33
  95. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +12 -12
  96. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +69 -82
  97. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +15 -33
  98. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +12 -6
  99. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +45 -11
  100. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +48 -44
  101. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +31 -18
  102. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +3 -1
  103. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +14 -26
  104. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +12 -16
  105. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +15 -32
  106. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +12 -24
  107. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +23 -29
  108. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +13 -19
  109. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +13 -26
  110. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +12 -16
  111. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +6 -17
  112. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +12 -16
  113. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +6 -17
  114. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +12 -16
  115. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +13 -26
  116. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +12 -16
  117. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +6 -17
  118. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +11 -15
  119. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +13 -26
  120. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +13 -17
  121. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +5 -1
  122. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +1 -6
  123. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +4 -2
  124. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +6 -2
  125. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +8 -3
  126. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +164 -151
  127. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +26 -19
  128. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulatorOptions.h +50 -0
  129. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +5 -1
  130. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +5 -2
  131. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +2 -11
  132. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +15 -9
  133. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +2 -2
  134. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +2 -2
  135. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +4 -14
  136. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +22 -11
  137. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +255 -338
  138. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +86 -127
  139. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.cpp +56 -0
  140. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.h +64 -0
  141. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.cpp +167 -0
  142. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.h +101 -0
  143. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCacheOptions.h +71 -0
  144. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextType.h +21 -0
  145. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +18 -17
  146. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +1 -1
  147. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +2 -2
  148. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +2 -2
  149. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +1 -5
  150. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +4 -2
  151. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +4 -3
  152. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +4 -2
  153. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +1 -5
  154. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +5 -3
  155. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +197 -156
  156. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +92 -81
  157. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContextType.h +23 -0
  158. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SerializedATNView.h +101 -0
  159. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +2 -6
  160. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +11 -3
  161. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +39 -34
  162. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +17 -10
  163. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +5 -2
  164. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +4 -2
  165. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +6 -6
  166. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +6 -2
  167. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +5 -2
  168. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +1 -9
  169. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +11 -22
  170. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.cpp +27 -0
  171. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.h +33 -0
  172. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +1 -5
  173. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +4 -2
  174. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +9 -21
  175. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +20 -15
  176. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +1 -8
  177. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +4 -4
  178. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +9 -50
  179. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +57 -48
  180. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +1 -4
  181. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +3 -4
  182. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +2 -2
  183. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +3 -1
  184. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +1 -29
  185. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +10 -10
  186. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +7 -20
  187. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +1 -9
  188. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +54 -68
  189. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +34 -14
  190. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +0 -5
  191. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +1 -155
  192. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +39 -0
  193. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +1 -1
  194. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +12 -53
  195. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +16 -29
  196. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Casts.h +34 -0
  197. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +0 -2
  198. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +25 -33
  199. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +2 -62
  200. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Unicode.h +28 -0
  201. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.cpp +242 -0
  202. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.h +54 -0
  203. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +13 -12
  204. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +7 -2
  205. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +36 -5
  206. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +14 -4
  207. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +14 -19
  208. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +0 -3
  209. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +13 -4
  210. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeType.h +22 -0
  211. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +4 -4
  212. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +8 -9
  213. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +4 -4
  214. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +10 -2
  215. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +2 -5
  216. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +4 -5
  217. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +1 -2
  218. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +128 -119
  219. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +18 -27
  220. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/tests/Utf8Test.cpp +110 -0
  221. data/ext/express-parser/antlrgen/Express.interp +1 -1
  222. data/ext/express-parser/antlrgen/ExpressBaseListener.cpp +1 -1
  223. data/ext/express-parser/antlrgen/ExpressBaseListener.h +1 -1
  224. data/ext/express-parser/antlrgen/ExpressBaseVisitor.cpp +1 -1
  225. data/ext/express-parser/antlrgen/ExpressBaseVisitor.h +200 -200
  226. data/ext/express-parser/antlrgen/ExpressLexer.cpp +645 -1129
  227. data/ext/express-parser/antlrgen/ExpressLexer.h +20 -27
  228. data/ext/express-parser/antlrgen/ExpressLexer.interp +1 -1
  229. data/ext/express-parser/antlrgen/ExpressListener.cpp +1 -1
  230. data/ext/express-parser/antlrgen/ExpressListener.h +1 -1
  231. data/ext/express-parser/antlrgen/ExpressParser.cpp +1754 -1447
  232. data/ext/express-parser/antlrgen/ExpressParser.h +219 -223
  233. data/ext/express-parser/antlrgen/ExpressVisitor.cpp +1 -1
  234. data/ext/express-parser/antlrgen/ExpressVisitor.h +200 -200
  235. data/ext/express-parser/express_parser.cpp +207 -75
  236. data/ext/express-parser/extconf.rb +10 -9
  237. data/lib/expressir/config.rb +1 -1
  238. data/lib/expressir/express/parser.rb +2 -2
  239. data/lib/expressir/express/visitor.rb +7 -5
  240. data/lib/expressir/model.rb +78 -78
  241. data/lib/expressir/version.rb +1 -1
  242. data/rakelib/antlr4-native.rake +63 -0
  243. data/rakelib/cross-ruby.rake +213 -162
  244. data/spec/acceptance/version_spec.rb +7 -2
  245. data/spec/expressir/express/cache_spec.rb +8 -5
  246. data/spec/expressir/express/formatter_spec.rb +16 -8
  247. data/spec/expressir/express/parser_spec.rb +17 -11
  248. data/spec/expressir/model/model_element_spec.rb +154 -146
  249. metadata +79 -91
  250. data/demo.rb +0 -18
  251. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.cpp +0 -621
  252. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSerializer.h +0 -61
  253. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.cpp +0 -14
  254. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AbstractPredicateTransition.h +0 -24
  255. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.cpp +0 -12
  256. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.cpp +0 -12
  257. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.cpp +0 -15
  258. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.cpp +0 -9
  259. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.cpp +0 -35
  260. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EmptyPredictionContext.h +0 -27
  261. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.cpp +0 -12
  262. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Makefile +0 -67
  263. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.cpp +0 -12
  264. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.cpp +0 -12
  265. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.cpp +0 -16
  266. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.cpp +0 -12
  267. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.cpp +0 -12
  268. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.cpp +0 -15
  269. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.cpp +0 -12
  270. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.cpp +0 -303
  271. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/support/guid.h +0 -112
  272. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.cpp +0 -9
  273. data/ext/express-parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.cpp +0 -9
  274. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.exp +0 -9589
  275. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.owl +0 -36619
  276. data/original/examples/ap233/ap233e1_arm_lf_stepmod-2010-11-12.xml +0 -13294
  277. data/original/examples/employment/eclipse/.project +0 -17
  278. data/original/examples/employment/eclipse/Export/Employment.png +0 -0
  279. data/original/examples/employment/eclipse/Express/employment_schema.exp +0 -33
  280. data/original/examples/employment/eclipse/Express/employment_schema.xmi +0 -77
  281. data/original/examples/employment/eclipse/Express/employment_schema.xml +0 -93
  282. data/original/examples/employment/eclipse/Models/Employment.uml +0 -4
  283. data/original/examples/employment/eclipse/Models/Employment.umldi +0 -240
  284. data/original/examples/employment/eclipse/readme.txt +0 -7
  285. data/original/examples/employment/employment_schema.exp +0 -33
  286. data/original/examples/employment/employment_schema.rb +0 -232
  287. data/original/examples/employment/employment_schema.xml +0 -93
  288. data/original/examples/employment/employment_schema___module.rb +0 -46
  289. data/original/examples/employment/employment_schema___p28attr.rb +0 -126
  290. data/original/examples/employment/employment_schema___p28inst.rb +0 -26
  291. data/original/examples/employment/example_employment_data.xml +0 -1
  292. data/original/examples/employment/example_employment_data_copy.xml +0 -1
  293. data/original/examples/employment/example_employment_reader.rb +0 -30
  294. data/original/examples/employment/example_employment_writer.rb +0 -51
  295. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.exp +0 -3710
  296. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.owl +0 -35880
  297. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xmi +0 -15357
  298. data/original/examples/plcs/ap239e1_arm_lf_dexlib_2010-01-06.xml +0 -9468
  299. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.exp +0 -8404
  300. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.owl +0 -43147
  301. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xmi +0 -18341
  302. data/original/examples/plcs/ap239e2_arm_lf_stepmod-2010-01-25.xml +0 -11632
  303. data/original/exp2ruby.rb +0 -525
  304. data/original/expsm.rb +0 -34
  305. data/original/mapping_owl.rb +0 -1018
  306. data/original/mapping_sysml.rb +0 -2281
  307. data/original/mapping_uml2.rb +0 -599
  308. data/original/mapping_uml2_eclipse.rb +0 -433
  309. data/original/reeper.rb +0 -134
  310. data/spec/expressr_spec.rb +0 -5
@@ -8,7 +8,6 @@
8
8
 
9
9
  /* Begin PBXBuildFile section */
10
10
  270C67F31CDB4F1E00116E17 /* antlrcpp_ios.h in Headers */ = {isa = PBXBuildFile; fileRef = 270C67F21CDB4F1E00116E17 /* antlrcpp_ios.h */; settings = {ATTRIBUTES = (Public, ); }; };
11
- 270C69E01CDB536A00116E17 /* CoreFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 270C69DF1CDB536A00116E17 /* CoreFoundation.framework */; };
12
11
  276566E01DA93BFB000869BE /* ParseTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276566DF1DA93BFB000869BE /* ParseTree.cpp */; };
13
12
  276566E11DA93BFB000869BE /* ParseTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276566DF1DA93BFB000869BE /* ParseTree.cpp */; };
14
13
  276566E21DA93BFB000869BE /* ParseTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276566DF1DA93BFB000869BE /* ParseTree.cpp */; };
@@ -645,12 +644,12 @@
645
644
  276E5FBC1CDB57AA003FF4B4 /* Declarations.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEA1CDB57AA003FF4B4 /* Declarations.h */; };
646
645
  276E5FBD1CDB57AA003FF4B4 /* Declarations.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEA1CDB57AA003FF4B4 /* Declarations.h */; };
647
646
  276E5FBE1CDB57AA003FF4B4 /* Declarations.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEA1CDB57AA003FF4B4 /* Declarations.h */; settings = {ATTRIBUTES = (Public, ); }; };
648
- 276E5FBF1CDB57AA003FF4B4 /* guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CEB1CDB57AA003FF4B4 /* guid.cpp */; };
649
- 276E5FC01CDB57AA003FF4B4 /* guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CEB1CDB57AA003FF4B4 /* guid.cpp */; };
650
- 276E5FC11CDB57AA003FF4B4 /* guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CEB1CDB57AA003FF4B4 /* guid.cpp */; };
651
- 276E5FC21CDB57AA003FF4B4 /* guid.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEC1CDB57AA003FF4B4 /* guid.h */; };
652
- 276E5FC31CDB57AA003FF4B4 /* guid.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEC1CDB57AA003FF4B4 /* guid.h */; };
653
- 276E5FC41CDB57AA003FF4B4 /* guid.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEC1CDB57AA003FF4B4 /* guid.h */; settings = {ATTRIBUTES = (Public, ); }; };
647
+ 276E5FBF1CDB57AA003FF4B4 /* Guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CEB1CDB57AA003FF4B4 /* Guid.cpp */; };
648
+ 276E5FC01CDB57AA003FF4B4 /* Guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CEB1CDB57AA003FF4B4 /* Guid.cpp */; };
649
+ 276E5FC11CDB57AA003FF4B4 /* Guid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CEB1CDB57AA003FF4B4 /* Guid.cpp */; };
650
+ 276E5FC21CDB57AA003FF4B4 /* Guid.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEC1CDB57AA003FF4B4 /* Guid.h */; };
651
+ 276E5FC31CDB57AA003FF4B4 /* Guid.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEC1CDB57AA003FF4B4 /* Guid.h */; };
652
+ 276E5FC41CDB57AA003FF4B4 /* Guid.h in Headers */ = {isa = PBXBuildFile; fileRef = 276E5CEC1CDB57AA003FF4B4 /* Guid.h */; settings = {ATTRIBUTES = (Public, ); }; };
654
653
  276E5FC51CDB57AA003FF4B4 /* StringUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CED1CDB57AA003FF4B4 /* StringUtils.cpp */; };
655
654
  276E5FC61CDB57AA003FF4B4 /* StringUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CED1CDB57AA003FF4B4 /* StringUtils.cpp */; };
656
655
  276E5FC71CDB57AA003FF4B4 /* StringUtils.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 276E5CED1CDB57AA003FF4B4 /* StringUtils.cpp */; };
@@ -927,7 +926,6 @@
927
926
  270C67F01CDB4F1E00116E17 /* antlr4_ios.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = antlr4_ios.framework; sourceTree = BUILT_PRODUCTS_DIR; };
928
927
  270C67F21CDB4F1E00116E17 /* antlrcpp_ios.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = antlrcpp_ios.h; sourceTree = "<group>"; wrapsLines = 0; };
929
928
  270C67F41CDB4F1E00116E17 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
930
- 270C69DF1CDB536A00116E17 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/CoreFoundation.framework; sourceTree = DEVELOPER_DIR; };
931
929
  276566DF1DA93BFB000869BE /* ParseTree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParseTree.cpp; sourceTree = "<group>"; };
932
930
  276E5C0C1CDB57AA003FF4B4 /* ANTLRErrorListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ANTLRErrorListener.h; sourceTree = "<group>"; wrapsLines = 0; };
933
931
  276E5C0D1CDB57AA003FF4B4 /* ANTLRErrorStrategy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ANTLRErrorStrategy.h; sourceTree = "<group>"; };
@@ -1140,8 +1138,8 @@
1140
1138
  276E5CE81CDB57AA003FF4B4 /* CPPUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CPPUtils.cpp; sourceTree = "<group>"; wrapsLines = 0; };
1141
1139
  276E5CE91CDB57AA003FF4B4 /* CPPUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; lineEnding = 0; path = CPPUtils.h; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.objcpp; };
1142
1140
  276E5CEA1CDB57AA003FF4B4 /* Declarations.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Declarations.h; sourceTree = "<group>"; };
1143
- 276E5CEB1CDB57AA003FF4B4 /* guid.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = guid.cpp; sourceTree = "<group>"; };
1144
- 276E5CEC1CDB57AA003FF4B4 /* guid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = guid.h; sourceTree = "<group>"; };
1141
+ 276E5CEB1CDB57AA003FF4B4 /* Guid.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Guid.cpp; sourceTree = "<group>"; };
1142
+ 276E5CEC1CDB57AA003FF4B4 /* Guid.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Guid.h; sourceTree = "<group>"; };
1145
1143
  276E5CED1CDB57AA003FF4B4 /* StringUtils.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StringUtils.cpp; sourceTree = "<group>"; };
1146
1144
  276E5CEE1CDB57AA003FF4B4 /* StringUtils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StringUtils.h; sourceTree = "<group>"; };
1147
1145
  276E5CF01CDB57AA003FF4B4 /* Token.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Token.h; sourceTree = "<group>"; };
@@ -1242,7 +1240,6 @@
1242
1240
  isa = PBXFrameworksBuildPhase;
1243
1241
  buildActionMask = 2147483647;
1244
1242
  files = (
1245
- 270C69E01CDB536A00116E17 /* CoreFoundation.framework in Frameworks */,
1246
1243
  );
1247
1244
  runOnlyForDeploymentPostprocessing = 0;
1248
1245
  };
@@ -1553,8 +1550,8 @@
1553
1550
  276E5CE81CDB57AA003FF4B4 /* CPPUtils.cpp */,
1554
1551
  276E5CE91CDB57AA003FF4B4 /* CPPUtils.h */,
1555
1552
  276E5CEA1CDB57AA003FF4B4 /* Declarations.h */,
1556
- 276E5CEB1CDB57AA003FF4B4 /* guid.cpp */,
1557
- 276E5CEC1CDB57AA003FF4B4 /* guid.h */,
1553
+ 276E5CEB1CDB57AA003FF4B4 /* Guid.cpp */,
1554
+ 276E5CEC1CDB57AA003FF4B4 /* Guid.h */,
1558
1555
  276E5CED1CDB57AA003FF4B4 /* StringUtils.cpp */,
1559
1556
  276E5CEE1CDB57AA003FF4B4 /* StringUtils.h */,
1560
1557
  );
@@ -1618,7 +1615,6 @@
1618
1615
  27874F221CCBB34200AF1C53 /* Linked Frameworks */ = {
1619
1616
  isa = PBXGroup;
1620
1617
  children = (
1621
- 270C69DF1CDB536A00116E17 /* CoreFoundation.framework */,
1622
1618
  27874F1D1CCB7A0700AF1C53 /* CoreFoundation.framework */,
1623
1619
  );
1624
1620
  name = "Linked Frameworks";
@@ -1767,7 +1763,7 @@
1767
1763
  276E5F581CDB57AA003FF4B4 /* LexerNoViableAltException.h in Headers */,
1768
1764
  276E5D811CDB57AA003FF4B4 /* ATNSimulator.h in Headers */,
1769
1765
  27DB44B61D0463CC007E790B /* XPathLexer.h in Headers */,
1770
- 276E5FC41CDB57AA003FF4B4 /* guid.h in Headers */,
1766
+ 276E5FC41CDB57AA003FF4B4 /* Guid.h in Headers */,
1771
1767
  276E602D1CDB57AA003FF4B4 /* TagChunk.h in Headers */,
1772
1768
  276E5E951CDB57AA003FF4B4 /* RuleStopState.h in Headers */,
1773
1769
  276E5F761CDB57AA003FF4B4 /* Predicate.h in Headers */,
@@ -1934,7 +1930,7 @@
1934
1930
  276E60141CDB57AA003FF4B4 /* ParseTreeMatch.h in Headers */,
1935
1931
  276E5F571CDB57AA003FF4B4 /* LexerNoViableAltException.h in Headers */,
1936
1932
  276E5D801CDB57AA003FF4B4 /* ATNSimulator.h in Headers */,
1937
- 276E5FC31CDB57AA003FF4B4 /* guid.h in Headers */,
1933
+ 276E5FC31CDB57AA003FF4B4 /* Guid.h in Headers */,
1938
1934
  276E602C1CDB57AA003FF4B4 /* TagChunk.h in Headers */,
1939
1935
  276E5E941CDB57AA003FF4B4 /* RuleStopState.h in Headers */,
1940
1936
  276E5F751CDB57AA003FF4B4 /* Predicate.h in Headers */,
@@ -2092,7 +2088,7 @@
2092
2088
  276E60131CDB57AA003FF4B4 /* ParseTreeMatch.h in Headers */,
2093
2089
  276E5F561CDB57AA003FF4B4 /* LexerNoViableAltException.h in Headers */,
2094
2090
  276E5D7F1CDB57AA003FF4B4 /* ATNSimulator.h in Headers */,
2095
- 276E5FC21CDB57AA003FF4B4 /* guid.h in Headers */,
2091
+ 276E5FC21CDB57AA003FF4B4 /* Guid.h in Headers */,
2096
2092
  276E602B1CDB57AA003FF4B4 /* TagChunk.h in Headers */,
2097
2093
  276E5E931CDB57AA003FF4B4 /* RuleStopState.h in Headers */,
2098
2094
  276E5F741CDB57AA003FF4B4 /* Predicate.h in Headers */,
@@ -2368,7 +2364,7 @@
2368
2364
  276E5E861CDB57AA003FF4B4 /* RangeTransition.cpp in Sources */,
2369
2365
  276E5D7E1CDB57AA003FF4B4 /* ATNSimulator.cpp in Sources */,
2370
2366
  276E5D9C1CDB57AA003FF4B4 /* BasicState.cpp in Sources */,
2371
- 276E5FC11CDB57AA003FF4B4 /* guid.cpp in Sources */,
2367
+ 276E5FC11CDB57AA003FF4B4 /* Guid.cpp in Sources */,
2372
2368
  276E5E801CDB57AA003FF4B4 /* ProfilingATNSimulator.cpp in Sources */,
2373
2369
  2793DCA91F08095F00A84290 /* ANTLRErrorStrategy.cpp in Sources */,
2374
2370
  276E5F401CDB57AA003FF4B4 /* IntStream.cpp in Sources */,
@@ -2522,7 +2518,7 @@
2522
2518
  276E5E851CDB57AA003FF4B4 /* RangeTransition.cpp in Sources */,
2523
2519
  276E5D7D1CDB57AA003FF4B4 /* ATNSimulator.cpp in Sources */,
2524
2520
  276E5D9B1CDB57AA003FF4B4 /* BasicState.cpp in Sources */,
2525
- 276E5FC01CDB57AA003FF4B4 /* guid.cpp in Sources */,
2521
+ 276E5FC01CDB57AA003FF4B4 /* Guid.cpp in Sources */,
2526
2522
  276E5E7F1CDB57AA003FF4B4 /* ProfilingATNSimulator.cpp in Sources */,
2527
2523
  2793DCA81F08095F00A84290 /* ANTLRErrorStrategy.cpp in Sources */,
2528
2524
  276E5F3F1CDB57AA003FF4B4 /* IntStream.cpp in Sources */,
@@ -2676,7 +2672,7 @@
2676
2672
  276E5E841CDB57AA003FF4B4 /* RangeTransition.cpp in Sources */,
2677
2673
  276E5D7C1CDB57AA003FF4B4 /* ATNSimulator.cpp in Sources */,
2678
2674
  276E5D9A1CDB57AA003FF4B4 /* BasicState.cpp in Sources */,
2679
- 276E5FBF1CDB57AA003FF4B4 /* guid.cpp in Sources */,
2675
+ 276E5FBF1CDB57AA003FF4B4 /* Guid.cpp in Sources */,
2680
2676
  276E5E7E1CDB57AA003FF4B4 /* ProfilingATNSimulator.cpp in Sources */,
2681
2677
  2793DCA71F08095F00A84290 /* ANTLRErrorStrategy.cpp in Sources */,
2682
2678
  276E5F3E1CDB57AA003FF4B4 /* IntStream.cpp in Sources */,
@@ -2737,6 +2733,7 @@
2737
2733
  isa = XCBuildConfiguration;
2738
2734
  buildSettings = {
2739
2735
  CLANG_ANALYZER_NONNULL = YES;
2736
+ CLANG_CXX_LANGUAGE_STANDARD = "c++17";
2740
2737
  CLANG_ENABLE_MODULES = YES;
2741
2738
  CLANG_WARN_UNREACHABLE_CODE = YES;
2742
2739
  "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@@ -2772,6 +2769,7 @@
2772
2769
  isa = XCBuildConfiguration;
2773
2770
  buildSettings = {
2774
2771
  CLANG_ANALYZER_NONNULL = YES;
2772
+ CLANG_CXX_LANGUAGE_STANDARD = "c++17";
2775
2773
  CLANG_ENABLE_MODULES = YES;
2776
2774
  CLANG_WARN_UNREACHABLE_CODE = YES;
2777
2775
  "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@@ -2807,6 +2805,7 @@
2807
2805
  37C1471F1B4D5A04008EDDDB /* Debug */ = {
2808
2806
  isa = XCBuildConfiguration;
2809
2807
  buildSettings = {
2808
+ CLANG_CXX_LANGUAGE_STANDARD = "c++17";
2810
2809
  CLANG_ENABLE_MODULES = YES;
2811
2810
  CLANG_WARN_UNREACHABLE_CODE = YES;
2812
2811
  COMBINE_HIDPI_IMAGES = YES;
@@ -2829,6 +2828,7 @@
2829
2828
  37C147201B4D5A04008EDDDB /* Release */ = {
2830
2829
  isa = XCBuildConfiguration;
2831
2830
  buildSettings = {
2831
+ CLANG_CXX_LANGUAGE_STANDARD = "c++17";
2832
2832
  CLANG_ENABLE_MODULES = YES;
2833
2833
  CLANG_WARN_UNREACHABLE_CODE = YES;
2834
2834
  COMBINE_HIDPI_IMAGES = YES;
@@ -3,8 +3,6 @@
3
3
  * can be found in the LICENSE.txt file in the project root.
4
4
  */
5
5
 
6
- #include "support/StringUtils.h"
7
-
8
6
  #include "ANTLRFileStream.h"
9
7
 
10
8
  using namespace antlr4;
@@ -15,11 +13,7 @@ void ANTLRFileStream::loadFromFile(const std::string &fileName) {
15
13
  return;
16
14
  }
17
15
 
18
- #ifdef _MSC_VER
19
- std::ifstream stream(antlrcpp::s2ws(fileName), std::ios::binary);
20
- #else
21
16
  std::ifstream stream(fileName, std::ios::binary);
22
- #endif
23
17
 
24
18
  ANTLRInputStream::load(stream);
25
19
  }
@@ -9,7 +9,7 @@
9
9
  #include "misc/Interval.h"
10
10
  #include "IntStream.h"
11
11
 
12
- #include "support/StringUtils.h"
12
+ #include "support/Utf8.h"
13
13
  #include "support/CPPUtils.h"
14
14
 
15
15
  #include "ANTLRInputStream.h"
@@ -23,15 +23,9 @@ ANTLRInputStream::ANTLRInputStream() {
23
23
  InitializeInstanceFields();
24
24
  }
25
25
 
26
- #if __cplusplus >= 201703L
27
- ANTLRInputStream::ANTLRInputStream(const std::string_view &input): ANTLRInputStream() {
26
+ ANTLRInputStream::ANTLRInputStream(std::string_view input): ANTLRInputStream() {
28
27
  load(input.data(), input.length());
29
28
  }
30
- #endif
31
-
32
- ANTLRInputStream::ANTLRInputStream(const std::string &input): ANTLRInputStream() {
33
- load(input.data(), input.size());
34
- }
35
29
 
36
30
  ANTLRInputStream::ANTLRInputStream(const char *data, size_t length) {
37
31
  load(data, length);
@@ -41,28 +35,37 @@ ANTLRInputStream::ANTLRInputStream(std::istream &stream): ANTLRInputStream() {
41
35
  load(stream);
42
36
  }
43
37
 
44
- void ANTLRInputStream::load(const std::string &input) {
45
- load(input.data(), input.size());
38
+ void ANTLRInputStream::load(const std::string &input, bool lenient) {
39
+ load(input.data(), input.size(), lenient);
46
40
  }
47
41
 
48
- void ANTLRInputStream::load(const char *data, size_t length) {
42
+ void ANTLRInputStream::load(const char *data, size_t length, bool lenient) {
49
43
  // Remove the UTF-8 BOM if present.
50
44
  const char *bom = "\xef\xbb\xbf";
51
- if (length >= 3 && strncmp(data, bom, 3) == 0)
52
- _data = antlrcpp::utf8_to_utf32(data + 3, data + length);
53
- else
54
- _data = antlrcpp::utf8_to_utf32(data, data + length);
45
+ if (length >= 3 && strncmp(data, bom, 3) == 0) {
46
+ data += 3;
47
+ length -= 3;
48
+ }
49
+ if (lenient) {
50
+ _data = Utf8::lenientDecode(std::string_view(data, length));
51
+ } else {
52
+ auto maybe_utf32 = Utf8::strictDecode(std::string_view(data, length));
53
+ if (!maybe_utf32.has_value()) {
54
+ throw IllegalArgumentException("UTF-8 string contains an illegal byte sequence");
55
+ }
56
+ _data = std::move(maybe_utf32).value();
57
+ }
55
58
  p = 0;
56
59
  }
57
60
 
58
- void ANTLRInputStream::load(std::istream &stream) {
61
+ void ANTLRInputStream::load(std::istream &stream, bool lenient) {
59
62
  if (!stream.good() || stream.eof()) // No fail, bad or EOF.
60
63
  return;
61
64
 
62
65
  _data.clear();
63
66
 
64
67
  std::string s((std::istreambuf_iterator<char>(stream)), std::istreambuf_iterator<char>());
65
- load(s.data(), s.length());
68
+ load(s.data(), s.length(), lenient);
66
69
  }
67
70
 
68
71
  void ANTLRInputStream::reset() {
@@ -150,7 +153,11 @@ std::string ANTLRInputStream::getText(const Interval &interval) {
150
153
  return "";
151
154
  }
152
155
 
153
- return antlrcpp::utf32_to_utf8(_data.substr(start, count));
156
+ auto maybeUtf8 = Utf8::strictEncode(std::u32string_view(_data).substr(start, count));
157
+ if (!maybeUtf8.has_value()) {
158
+ throw IllegalArgumentException("Input stream contains invalid Unicode code points");
159
+ }
160
+ return std::move(maybeUtf8).value();
154
161
  }
155
162
 
156
163
  std::string ANTLRInputStream::getSourceName() const {
@@ -161,7 +168,11 @@ std::string ANTLRInputStream::getSourceName() const {
161
168
  }
162
169
 
163
170
  std::string ANTLRInputStream::toString() const {
164
- return antlrcpp::utf32_to_utf8(_data);
171
+ auto maybeUtf8 = Utf8::strictEncode(_data);
172
+ if (!maybeUtf8.has_value()) {
173
+ throw IllegalArgumentException("Input stream contains invalid Unicode code points");
174
+ }
175
+ return std::move(maybeUtf8).value();
165
176
  }
166
177
 
167
178
  void ANTLRInputStream::InitializeInstanceFields() {
@@ -5,6 +5,8 @@
5
5
 
6
6
  #pragma once
7
7
 
8
+ #include <string_view>
9
+
8
10
  #include "CharStream.h"
9
11
 
10
12
  namespace antlr4 {
@@ -16,7 +18,7 @@ namespace antlr4 {
16
18
  protected:
17
19
  /// The data being scanned.
18
20
  // UTF-32
19
- UTF32String _data;
21
+ std::u32string _data;
20
22
 
21
23
  /// 0..n-1 index into string of next char </summary>
22
24
  size_t p;
@@ -26,18 +28,19 @@ namespace antlr4 {
26
28
  std::string name;
27
29
 
28
30
  ANTLRInputStream();
29
-
30
- #if __cplusplus >= 201703L
31
- ANTLRInputStream(const std::string_view &input);
32
- #endif
33
-
34
- ANTLRInputStream(const std::string &input);
31
+
32
+ ANTLRInputStream(std::string_view input);
33
+
35
34
  ANTLRInputStream(const char *data, size_t length);
36
35
  ANTLRInputStream(std::istream &stream);
37
36
 
38
- virtual void load(const std::string &input);
39
- virtual void load(const char *data, size_t length);
40
- virtual void load(std::istream &stream);
37
+ virtual void load(const std::string &input, bool lenient);
38
+ virtual void load(const char *data, size_t length, bool lenient);
39
+ virtual void load(std::istream &stream, bool lenient);
40
+
41
+ virtual void load(const std::string &input) { load(input, false); }
42
+ virtual void load(const char *data, size_t length) { load(data, length, false); }
43
+ virtual void load(std::istream &stream) { load(stream, false); }
41
44
 
42
45
  /// Reset the stream so that it's in the same state it was
43
46
  /// when the object was created *except* the data array is not
@@ -10,8 +10,8 @@
10
10
 
11
11
  #include "misc/Interval.h"
12
12
 
13
- #include "support/StringUtils.h"
14
13
  #include "support/CPPUtils.h"
14
+ #include "support/StringUtils.h"
15
15
 
16
16
  #include "CommonToken.h"
17
17
 
@@ -165,9 +165,7 @@ std::string CommonToken::toString(Recognizer *r) const {
165
165
  }
166
166
  std::string txt = getText();
167
167
  if (!txt.empty()) {
168
- antlrcpp::replaceAll(txt, "\n", "\\n");
169
- antlrcpp::replaceAll(txt, "\r", "\\r");
170
- antlrcpp::replaceAll(txt, "\t", "\\t");
168
+ txt = antlrcpp::escapeWhitespace(txt);
171
169
  } else {
172
170
  txt = "<no text>";
173
171
  }
@@ -12,10 +12,11 @@
12
12
  #include "atn/RuleTransition.h"
13
13
  #include "atn/ATN.h"
14
14
  #include "atn/ATNState.h"
15
+ #include "support/StringUtils.h"
16
+ #include "support/Casts.h"
15
17
  #include "Parser.h"
16
18
  #include "CommonToken.h"
17
19
  #include "Vocabulary.h"
18
- #include "support/StringUtils.h"
19
20
 
20
21
  #include "DefaultErrorStrategy.h"
21
22
 
@@ -106,10 +107,10 @@ void DefaultErrorStrategy::sync(Parser *recognizer) {
106
107
  }
107
108
 
108
109
  switch (s->getStateType()) {
109
- case atn::ATNState::BLOCK_START:
110
- case atn::ATNState::STAR_BLOCK_START:
111
- case atn::ATNState::PLUS_BLOCK_START:
112
- case atn::ATNState::STAR_LOOP_ENTRY:
110
+ case atn::ATNStateType::BLOCK_START:
111
+ case atn::ATNStateType::STAR_BLOCK_START:
112
+ case atn::ATNStateType::PLUS_BLOCK_START:
113
+ case atn::ATNStateType::STAR_LOOP_ENTRY:
113
114
  // report error and recover if possible
114
115
  if (singleTokenDeletion(recognizer) != nullptr) {
115
116
  return;
@@ -117,8 +118,8 @@ void DefaultErrorStrategy::sync(Parser *recognizer) {
117
118
 
118
119
  throw InputMismatchException(recognizer);
119
120
 
120
- case atn::ATNState::PLUS_LOOP_BACK:
121
- case atn::ATNState::STAR_LOOP_BACK: {
121
+ case atn::ATNStateType::PLUS_LOOP_BACK:
122
+ case atn::ATNStateType::STAR_LOOP_BACK: {
122
123
  reportUnwantedToken(recognizer);
123
124
  misc::IntervalSet expecting = recognizer->getExpectedTokens();
124
125
  misc::IntervalSet whatFollowsLoopIterationOrRule = expecting.Or(getErrorRecoverySet(recognizer));
@@ -292,11 +293,13 @@ size_t DefaultErrorStrategy::getSymbolType(Token *symbol) {
292
293
  }
293
294
 
294
295
  std::string DefaultErrorStrategy::escapeWSAndQuote(const std::string &s) const {
295
- std::string result = s;
296
- antlrcpp::replaceAll(result, "\n", "\\n");
297
- antlrcpp::replaceAll(result, "\r","\\r");
298
- antlrcpp::replaceAll(result, "\t","\\t");
299
- return "'" + result + "'";
296
+ std::string result;
297
+ result.reserve(s.size() + 2);
298
+ result.push_back('\'');
299
+ antlrcpp::escapeWhitespace(result, s);
300
+ result.push_back('\'');
301
+ result.shrink_to_fit();
302
+ return result;
300
303
  }
301
304
 
302
305
  misc::IntervalSet DefaultErrorStrategy::getErrorRecoverySet(Parser *recognizer) {
@@ -306,7 +309,7 @@ misc::IntervalSet DefaultErrorStrategy::getErrorRecoverySet(Parser *recognizer)
306
309
  while (ctx->invokingState != ATNState::INVALID_STATE_NUMBER) {
307
310
  // compute what follows who invoked us
308
311
  atn::ATNState *invokingState = atn.states[ctx->invokingState];
309
- atn::RuleTransition *rt = dynamic_cast<atn::RuleTransition*>(invokingState->transitions[0]);
312
+ const atn::RuleTransition *rt = downCast<const atn::RuleTransition*>(invokingState->transitions[0].get());
310
313
  misc::IntervalSet follow = atn.nextTokens(rt->followState);
311
314
  recoverSet.addAll(follow);
312
315
 
@@ -10,7 +10,7 @@ using namespace antlr4;
10
10
  RuntimeException::RuntimeException(const std::string &msg) : std::exception(), _message(msg) {
11
11
  }
12
12
 
13
- const char* RuntimeException::what() const NOEXCEPT {
13
+ const char* RuntimeException::what() const noexcept {
14
14
  return _message.c_str();
15
15
  }
16
16
 
@@ -19,7 +19,7 @@ const char* RuntimeException::what() const NOEXCEPT {
19
19
  IOException::IOException(const std::string &msg) : std::exception(), _message(msg) {
20
20
  }
21
21
 
22
- const char* IOException::what() const NOEXCEPT {
22
+ const char* IOException::what() const noexcept {
23
23
  return _message.c_str();
24
24
  }
25
25
 
@@ -16,7 +16,7 @@ namespace antlr4 {
16
16
  public:
17
17
  RuntimeException(const std::string &msg = "");
18
18
 
19
- virtual const char* what() const NOEXCEPT override;
19
+ virtual const char* what() const noexcept override;
20
20
  };
21
21
 
22
22
  class ANTLR4CPP_PUBLIC IllegalStateException : public RuntimeException {
@@ -77,7 +77,7 @@ namespace antlr4 {
77
77
  public:
78
78
  IOException(const std::string &msg = "");
79
79
 
80
- virtual const char* what() const NOEXCEPT override;
80
+ virtual const char* what() const noexcept override;
81
81
  };
82
82
 
83
83
  class ANTLR4CPP_PUBLIC CancellationException : public IllegalStateException {
@@ -8,6 +8,7 @@
8
8
  #include "atn/PredicateTransition.h"
9
9
  #include "atn/ATN.h"
10
10
  #include "atn/ATNState.h"
11
+ #include "support/Casts.h"
11
12
  #include "support/CPPUtils.h"
12
13
 
13
14
  #include "FailedPredicateException.h"
@@ -26,10 +27,10 @@ FailedPredicateException::FailedPredicateException(Parser *recognizer, const std
26
27
  recognizer->getInputStream(), recognizer->getContext(), recognizer->getCurrentToken()) {
27
28
 
28
29
  atn::ATNState *s = recognizer->getInterpreter<atn::ATNSimulator>()->atn.states[recognizer->getState()];
29
- atn::Transition *transition = s->transitions[0];
30
- if (is<atn::PredicateTransition*>(transition)) {
31
- _ruleIndex = static_cast<atn::PredicateTransition *>(transition)->ruleIndex;
32
- _predicateIndex = static_cast<atn::PredicateTransition *>(transition)->predIndex;
30
+ const atn::Transition *transition = s->transitions[0].get();
31
+ if (transition->getTransitionType() == atn::TransitionType::PREDICATE) {
32
+ _ruleIndex = downCast<const atn::PredicateTransition&>(*transition).getRuleIndex();
33
+ _predicateIndex = downCast<const atn::PredicateTransition&>(*transition).getPredIndex();
33
34
  } else {
34
35
  _ruleIndex = 0;
35
36
  _predicateIndex = 0;
@@ -15,7 +15,7 @@ namespace antlr4 {
15
15
  /// prediction.
16
16
  class ANTLR4CPP_PUBLIC FailedPredicateException : public RecognitionException {
17
17
  public:
18
- FailedPredicateException(Parser *recognizer);
18
+ explicit FailedPredicateException(Parser *recognizer);
19
19
  FailedPredicateException(Parser *recognizer, const std::string &predicate);
20
20
  FailedPredicateException(Parser *recognizer, const std::string &predicate, const std::string &message);
21
21
 
@@ -27,13 +27,7 @@ namespace antlr4 {
27
27
  /// </summary>
28
28
  class ANTLR4CPP_PUBLIC IntStream {
29
29
  public:
30
- #if __cplusplus >= 201703L
31
30
  static constexpr size_t EOF = std::numeric_limits<size_t>::max();
32
- #else
33
- enum : size_t {
34
- EOF = static_cast<size_t>(-1), // std::numeric_limits<size_t>::max(); doesn't work in VS 2013
35
- };
36
- #endif
37
31
 
38
32
  /// The value returned by <seealso cref="#LA LA()"/> when the end of the stream is
39
33
  /// reached.
@@ -11,7 +11,6 @@
11
11
  #include "ANTLRErrorListener.h"
12
12
  #include "support/CPPUtils.h"
13
13
  #include "CommonToken.h"
14
- #include "support/StringUtils.h"
15
14
 
16
15
  #include "Lexer.h"
17
16
 
@@ -18,7 +18,6 @@ namespace antlr4 {
18
18
  /// of speed.
19
19
  class ANTLR4CPP_PUBLIC Lexer : public Recognizer, public TokenSource {
20
20
  public:
21
- #if __cplusplus >= 201703L
22
21
  static constexpr size_t DEFAULT_MODE = 0;
23
22
  static constexpr size_t MORE = std::numeric_limits<size_t>::max() - 1;
24
23
  static constexpr size_t SKIP = std::numeric_limits<size_t>::max() - 2;
@@ -27,18 +26,6 @@ namespace antlr4 {
27
26
  static constexpr size_t HIDDEN = Token::HIDDEN_CHANNEL;
28
27
  static constexpr size_t MIN_CHAR_VALUE = 0;
29
28
  static constexpr size_t MAX_CHAR_VALUE = 0x10FFFF;
30
- #else
31
- enum : size_t {
32
- DEFAULT_MODE = 0,
33
- MORE = static_cast<size_t>(-2), // std::numeric_limits<size_t>::max() - 1; doesn't work in VS 2013
34
- SKIP = static_cast<size_t>(-3), // std::numeric_limits<size_t>::max() - 2; doesn't work in VS 2013
35
-
36
- DEFAULT_TOKEN_CHANNEL = Token::DEFAULT_CHANNEL,
37
- HIDDEN = Token::HIDDEN_CHANNEL,
38
- MIN_CHAR_VALUE = 0,
39
- MAX_CHAR_VALUE = 0x10FFFF,
40
- };
41
- #endif
42
29
 
43
30
  CharStream *_input; // Pure reference, usually from statically allocated instance.
44
31
 
@@ -6,7 +6,6 @@
6
6
  #include "atn/ATNType.h"
7
7
  #include "atn/LexerATNSimulator.h"
8
8
  #include "dfa/DFA.h"
9
- #include "atn/EmptyPredictionContext.h"
10
9
  #include "Exceptions.h"
11
10
  #include "Vocabulary.h"
12
11
 
@@ -14,12 +13,6 @@
14
13
 
15
14
  using namespace antlr4;
16
15
 
17
- LexerInterpreter::LexerInterpreter(const std::string &grammarFileName, const std::vector<std::string> &tokenNames,
18
- const std::vector<std::string> &ruleNames, const std::vector<std::string> &channelNames, const std::vector<std::string> &modeNames,
19
- const atn::ATN &atn, CharStream *input)
20
- : LexerInterpreter(grammarFileName, dfa::Vocabulary::fromTokenNames(tokenNames), ruleNames, channelNames, modeNames, atn, input) {
21
- }
22
-
23
16
  LexerInterpreter::LexerInterpreter(const std::string &grammarFileName, const dfa::Vocabulary &vocabulary,
24
17
  const std::vector<std::string> &ruleNames, const std::vector<std::string> &channelNames, const std::vector<std::string> &modeNames,
25
18
  const atn::ATN &atn, CharStream *input)
@@ -31,10 +24,6 @@ LexerInterpreter::LexerInterpreter(const std::string &grammarFileName, const dfa
31
24
  throw IllegalArgumentException("The ATN must be a lexer ATN.");
32
25
  }
33
26
 
34
- for (size_t i = 0; i < atn.maxTokenType; i++) {
35
- _tokenNames.push_back(vocabulary.getDisplayName(i));
36
- }
37
-
38
27
  for (size_t i = 0; i < atn.getNumberOfDecisions(); ++i) {
39
28
  _decisionToDFA.push_back(dfa::DFA(_atn.getDecisionState(i), i));
40
29
  }
@@ -54,10 +43,6 @@ std::string LexerInterpreter::getGrammarFileName() const {
54
43
  return _grammarFileName;
55
44
  }
56
45
 
57
- const std::vector<std::string>& LexerInterpreter::getTokenNames() const {
58
- return _tokenNames;
59
- }
60
-
61
46
  const std::vector<std::string>& LexerInterpreter::getRuleNames() const {
62
47
  return _ruleNames;
63
48
  }
@@ -7,16 +7,13 @@
7
7
 
8
8
  #include "Lexer.h"
9
9
  #include "atn/PredictionContext.h"
10
+ #include "atn/PredictionContextCache.h"
10
11
  #include "Vocabulary.h"
11
12
 
12
13
  namespace antlr4 {
13
14
 
14
15
  class ANTLR4CPP_PUBLIC LexerInterpreter : public Lexer {
15
16
  public:
16
- // @deprecated
17
- LexerInterpreter(const std::string &grammarFileName, const std::vector<std::string> &tokenNames,
18
- const std::vector<std::string> &ruleNames, const std::vector<std::string> &channelNames,
19
- const std::vector<std::string> &modeNames, const atn::ATN &atn, CharStream *input);
20
17
  LexerInterpreter(const std::string &grammarFileName, const dfa::Vocabulary &vocabulary,
21
18
  const std::vector<std::string> &ruleNames, const std::vector<std::string> &channelNames,
22
19
  const std::vector<std::string> &modeNames, const atn::ATN &atn, CharStream *input);
@@ -25,7 +22,6 @@ namespace antlr4 {
25
22
 
26
23
  virtual const atn::ATN& getATN() const override;
27
24
  virtual std::string getGrammarFileName() const override;
28
- virtual const std::vector<std::string>& getTokenNames() const override;
29
25
  virtual const std::vector<std::string>& getRuleNames() const override;
30
26
  virtual const std::vector<std::string>& getChannelNames() const override;
31
27
  virtual const std::vector<std::string>& getModeNames() const override;
@@ -36,8 +32,6 @@ namespace antlr4 {
36
32
  const std::string _grammarFileName;
37
33
  const atn::ATN &_atn;
38
34
 
39
- // @deprecated
40
- std::vector<std::string> _tokenNames;
41
35
  const std::vector<std::string> &_ruleNames;
42
36
  const std::vector<std::string> &_channelNames;
43
37
  const std::vector<std::string> &_modeNames;