expressir 1.4.2 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (399) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/codeql.yml +2 -14
  3. data/.github/workflows/rake.yml +6 -364
  4. data/.github/workflows/release.yml +15 -178
  5. data/.github/workflows/stress.yml +1 -18
  6. data/.rubocop.yml +1 -0
  7. data/.rubocop_todo.yml +7 -0
  8. data/Gemfile +13 -0
  9. data/README.adoc +6 -19
  10. data/Rakefile +6 -7
  11. data/expressir.gemspec +23 -32
  12. data/expressir_wrapped.txt +23068 -0
  13. data/lib/expressir/cli.rb +3 -2
  14. data/lib/expressir/express/formatter.rb +661 -661
  15. data/lib/expressir/express/parser.rb +299 -33
  16. data/lib/expressir/express/visitor.rb +238 -133
  17. data/lib/expressir/model/declarations/interface_item.rb +1 -1
  18. data/lib/expressir/version.rb +1 -1
  19. metadata +15 -573
  20. data/.cross_rubies +0 -28
  21. data/.gitmodules +0 -6
  22. data/.yardopts +0 -11
  23. data/exe/generate-parser +0 -51
  24. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/CMakeLists.txt +0 -191
  25. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj +0 -652
  26. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2019.vcxproj.filters +0 -948
  27. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2022.vcxproj +0 -652
  28. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlr4cpp-vs2022.vcxproj.filters +0 -948
  29. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/Info.plist +0 -26
  30. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp-ios/antlrcpp_ios.h +0 -17
  31. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.pbxproj +0 -3040
  32. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  33. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  34. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4.xcscheme +0 -76
  35. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_ios.xcscheme +0 -76
  36. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/antlrcpp.xcodeproj/xcshareddata/xcschemes/antlr4_static.xcscheme +0 -76
  37. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.noarch.nuspec +0 -23
  38. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.noarch.targets +0 -8
  39. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.shared.nuspec +0 -30
  40. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.shared.props +0 -21
  41. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.shared.targets +0 -44
  42. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.static.nuspec +0 -29
  43. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/ANTLR4.Runtime.cpp.static.targets +0 -44
  44. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/antlr4.jpg +0 -0
  45. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/nuget/pack.cmd +0 -93
  46. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.cpp +0 -10
  47. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorListener.h +0 -167
  48. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.cpp +0 -10
  49. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRErrorStrategy.h +0 -121
  50. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.cpp +0 -23
  51. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRFileStream.h +0 -30
  52. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.cpp +0 -180
  53. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ANTLRInputStream.h +0 -79
  54. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.cpp +0 -61
  55. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BailErrorStrategy.h +0 -59
  56. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.cpp +0 -25
  57. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BaseErrorListener.h +0 -36
  58. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.cpp +0 -414
  59. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/BufferedTokenStream.h +0 -200
  60. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.cpp +0 -11
  61. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CharStream.h +0 -37
  62. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.cpp +0 -193
  63. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonToken.h +0 -158
  64. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.cpp +0 -39
  65. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenFactory.h +0 -74
  66. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.cpp +0 -78
  67. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/CommonTokenStream.h +0 -79
  68. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.cpp +0 -15
  69. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ConsoleErrorListener.h +0 -35
  70. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.cpp +0 -336
  71. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/DefaultErrorStrategy.h +0 -466
  72. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.cpp +0 -84
  73. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/DiagnosticErrorListener.h +0 -80
  74. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.cpp +0 -64
  75. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Exceptions.h +0 -99
  76. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.cpp +0 -52
  77. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/FailedPredicateException.h +0 -32
  78. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/FlatHashMap.h +0 -57
  79. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/FlatHashSet.h +0 -57
  80. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.cpp +0 -18
  81. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/InputMismatchException.h +0 -24
  82. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.cpp +0 -12
  83. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/IntStream.h +0 -218
  84. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.cpp +0 -19
  85. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/InterpreterRuleContext.h +0 -45
  86. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.cpp +0 -294
  87. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Lexer.h +0 -196
  88. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.cpp +0 -60
  89. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerInterpreter.h +0 -46
  90. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.cpp +0 -36
  91. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/LexerNoViableAltException.h +0 -31
  92. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.cpp +0 -92
  93. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ListTokenSource.h +0 -88
  94. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.cpp +0 -46
  95. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/NoViableAltException.h +0 -42
  96. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.cpp +0 -670
  97. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Parser.h +0 -461
  98. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.cpp +0 -294
  99. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserInterpreter.h +0 -173
  100. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.cpp +0 -138
  101. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ParserRuleContext.h +0 -147
  102. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.cpp +0 -53
  103. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/ProxyErrorListener.h +0 -38
  104. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.cpp +0 -65
  105. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RecognitionException.h +0 -98
  106. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.cpp +0 -157
  107. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Recognizer.h +0 -160
  108. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.cpp +0 -144
  109. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContext.h +0 -141
  110. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.cpp +0 -27
  111. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuleContextWithAltNum.h +0 -32
  112. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.cpp +0 -54
  113. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/RuntimeMetaData.h +0 -155
  114. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.cpp +0 -9
  115. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Token.h +0 -92
  116. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenFactory.h +0 -30
  117. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.cpp +0 -9
  118. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenSource.h +0 -85
  119. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.cpp +0 -11
  120. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStream.h +0 -137
  121. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.cpp +0 -425
  122. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/TokenStreamRewriter.h +0 -295
  123. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.cpp +0 -208
  124. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedCharStream.h +0 -117
  125. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.cpp +0 -270
  126. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/UnbufferedTokenStream.h +0 -115
  127. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Version.h +0 -42
  128. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.cpp +0 -64
  129. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/Vocabulary.h +0 -177
  130. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.cpp +0 -9
  131. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/WritableToken.h +0 -23
  132. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-common.h +0 -101
  133. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/antlr4-runtime.h +0 -168
  134. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.cpp +0 -159
  135. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATN.h +0 -133
  136. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.cpp +0 -106
  137. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfig.h +0 -157
  138. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.cpp +0 -233
  139. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNConfigSet.h +0 -157
  140. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.cpp +0 -39
  141. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializationOptions.h +0 -48
  142. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.cpp +0 -628
  143. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNDeserializer.h +0 -32
  144. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.cpp +0 -33
  145. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNSimulator.h +0 -71
  146. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.cpp +0 -56
  147. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNState.h +0 -139
  148. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.cpp +0 -33
  149. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNStateType.h +0 -36
  150. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ATNType.h +0 -20
  151. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.cpp +0 -29
  152. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ActionTransition.h +0 -35
  153. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.cpp +0 -16
  154. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AmbiguityInfo.h +0 -68
  155. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.cpp +0 -129
  156. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ArrayPredictionContext.h +0 -51
  157. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.cpp +0 -27
  158. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/AtomTransition.h +0 -33
  159. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicBlockStartState.h +0 -24
  160. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BasicState.h +0 -23
  161. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockEndState.h +0 -26
  162. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/BlockStartState.h +0 -30
  163. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.cpp +0 -14
  164. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ContextSensitivityInfo.h +0 -47
  165. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.cpp +0 -14
  166. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionEventInfo.h +0 -70
  167. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.cpp +0 -25
  168. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionInfo.h +0 -227
  169. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.cpp +0 -12
  170. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/DecisionState.h +0 -34
  171. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.cpp +0 -31
  172. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/EpsilonTransition.h +0 -42
  173. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.cpp +0 -15
  174. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ErrorInfo.h +0 -43
  175. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/HashUtils.h +0 -18
  176. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.cpp +0 -189
  177. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LL1Analyzer.h +0 -76
  178. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +0 -67
  179. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNConfig.h +0 -44
  180. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.cpp +0 -621
  181. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerATNSimulator.h +0 -199
  182. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.cpp +0 -15
  183. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerAction.h +0 -100
  184. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +0 -108
  185. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionExecutor.h +0 -128
  186. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerActionType.h +0 -57
  187. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.cpp +0 -43
  188. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerChannelAction.h +0 -59
  189. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.cpp +0 -45
  190. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerCustomAction.h +0 -75
  191. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +0 -50
  192. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.h +0 -76
  193. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.cpp +0 -43
  194. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerModeAction.h +0 -57
  195. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.cpp +0 -36
  196. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerMoreAction.h +0 -53
  197. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.cpp +0 -36
  198. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPopModeAction.h +0 -53
  199. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.cpp +0 -43
  200. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerPushModeAction.h +0 -57
  201. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.cpp +0 -36
  202. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerSkipAction.h +0 -51
  203. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.cpp +0 -43
  204. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LexerTypeAction.h +0 -51
  205. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.cpp +0 -16
  206. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LookaheadEventInfo.h +0 -42
  207. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/LoopEndState.h +0 -26
  208. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.cpp +0 -22
  209. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/NotSetTransition.h +0 -27
  210. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.cpp +0 -16
  211. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/OrderedATNConfigSet.h +0 -25
  212. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.cpp +0 -102
  213. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParseInfo.h +0 -102
  214. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.cpp +0 -1413
  215. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulator.h +0 -911
  216. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ParserATNSimulatorOptions.h +0 -50
  217. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusBlockStartState.h +0 -29
  218. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PlusLoopbackState.h +0 -25
  219. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.cpp +0 -23
  220. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PrecedencePredicateTransition.h +0 -35
  221. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.cpp +0 -17
  222. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateEvalInfo.h +0 -62
  223. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.cpp +0 -24
  224. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredicateTransition.h +0 -50
  225. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.cpp +0 -601
  226. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContext.h +0 -225
  227. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.cpp +0 -56
  228. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextCache.h +0 -63
  229. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.cpp +0 -167
  230. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCache.h +0 -101
  231. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextMergeCacheOptions.h +0 -71
  232. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionContextType.h +0 -21
  233. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.cpp +0 -202
  234. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/PredictionMode.h +0 -436
  235. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.cpp +0 -179
  236. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/ProfilingATNSimulator.h +0 -60
  237. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.cpp +0 -26
  238. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RangeTransition.h +0 -31
  239. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStartState.h +0 -26
  240. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleStopState.h +0 -27
  241. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.cpp +0 -33
  242. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/RuleTransition.h +0 -42
  243. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.cpp +0 -418
  244. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContext.h +0 -237
  245. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SemanticContextType.h +0 -23
  246. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SerializedATNView.h +0 -101
  247. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.cpp +0 -28
  248. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SetTransition.h +0 -38
  249. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.cpp +0 -79
  250. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/SingletonPredictionContext.h +0 -43
  251. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarBlockStartState.h +0 -24
  252. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopEntryState.h +0 -37
  253. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.cpp +0 -19
  254. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/StarLoopbackState.h +0 -25
  255. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TokensStartState.h +0 -24
  256. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.cpp +0 -36
  257. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/Transition.h +0 -65
  258. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.cpp +0 -27
  259. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/TransitionType.h +0 -33
  260. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.cpp +0 -21
  261. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/atn/WildcardTransition.h +0 -27
  262. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.cpp +0 -115
  263. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFA.h +0 -96
  264. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.cpp +0 -60
  265. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFASerializer.h +0 -32
  266. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.cpp +0 -59
  267. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/DFAState.h +0 -154
  268. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.cpp +0 -17
  269. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/dfa/LexerDFASerializer.h +0 -22
  270. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/internal/Synchronization.cpp +0 -100
  271. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/internal/Synchronization.h +0 -154
  272. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.cpp +0 -124
  273. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/InterpreterDataReader.h +0 -33
  274. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.cpp +0 -61
  275. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Interval.h +0 -84
  276. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.cpp +0 -508
  277. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/IntervalSet.h +0 -190
  278. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.cpp +0 -120
  279. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/MurmurHash.h +0 -102
  280. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.cpp +0 -4
  281. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/misc/Predicate.h +0 -21
  282. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.cpp +0 -8
  283. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Any.h +0 -16
  284. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.cpp +0 -43
  285. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Arrays.h +0 -149
  286. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/BitSet.h +0 -76
  287. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.cpp +0 -207
  288. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/CPPUtils.h +0 -65
  289. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Casts.h +0 -34
  290. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Declarations.h +0 -161
  291. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.cpp +0 -38
  292. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/StringUtils.h +0 -16
  293. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Unicode.h +0 -28
  294. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.cpp +0 -242
  295. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/support/Utf8.h +0 -54
  296. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/AbstractParseTreeVisitor.h +0 -129
  297. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNode.h +0 -24
  298. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.cpp +0 -54
  299. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ErrorNodeImpl.h +0 -43
  300. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.cpp +0 -66
  301. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/IterativeParseTreeWalker.h +0 -53
  302. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.cpp +0 -12
  303. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTree.h +0 -111
  304. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.cpp +0 -9
  305. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeListener.h +0 -39
  306. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeProperty.h +0 -50
  307. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeType.h +0 -22
  308. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.cpp +0 -9
  309. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeVisitor.h +0 -57
  310. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.cpp +0 -48
  311. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/ParseTreeWalker.h +0 -55
  312. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNode.h +0 -40
  313. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.cpp +0 -54
  314. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/TerminalNodeImpl.h +0 -32
  315. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.cpp +0 -241
  316. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/Trees.h +0 -78
  317. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.cpp +0 -9
  318. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/Chunk.h +0 -44
  319. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.cpp +0 -69
  320. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreeMatch.h +0 -132
  321. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.cpp +0 -64
  322. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePattern.h +0 -105
  323. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.cpp +0 -370
  324. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/ParseTreePatternMatcher.h +0 -185
  325. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.cpp +0 -77
  326. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/RuleTagToken.h +0 -117
  327. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.cpp +0 -39
  328. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TagChunk.h +0 -86
  329. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.cpp +0 -28
  330. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TextChunk.h +0 -51
  331. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.cpp +0 -36
  332. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/pattern/TokenTagToken.h +0 -80
  333. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.cpp +0 -154
  334. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPath.h +0 -86
  335. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.cpp +0 -31
  336. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathElement.h +0 -40
  337. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.cpp +0 -180
  338. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.g4 +0 -64
  339. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.h +0 -53
  340. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexer.tokens +0 -12
  341. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.cpp +0 -13
  342. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathLexerErrorListener.h +0 -22
  343. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.cpp +0 -20
  344. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleAnywhereElement.h +0 -27
  345. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.cpp +0 -30
  346. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathRuleElement.h +0 -26
  347. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.cpp +0 -20
  348. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenAnywhereElement.h +0 -25
  349. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.cpp +0 -33
  350. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathTokenElement.h +0 -26
  351. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.cpp +0 -23
  352. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardAnywhereElement.h +0 -23
  353. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.cpp +0 -24
  354. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/src/tree/xpath/XPathWildcardElement.h +0 -23
  355. data/ext/express_parser/antlr4-upstream/runtime/Cpp/runtime/tests/Utf8Test.cpp +0 -110
  356. data/ext/express_parser/antlrgen/Express.interp +0 -532
  357. data/ext/express_parser/antlrgen/Express.tokens +0 -190
  358. data/ext/express_parser/antlrgen/ExpressBaseListener.cpp +0 -7
  359. data/ext/express_parser/antlrgen/ExpressBaseListener.h +0 -623
  360. data/ext/express_parser/antlrgen/ExpressBaseVisitor.cpp +0 -7
  361. data/ext/express_parser/antlrgen/ExpressBaseVisitor.h +0 -816
  362. data/ext/express_parser/antlrgen/ExpressLexer.cpp +0 -685
  363. data/ext/express_parser/antlrgen/ExpressLexer.h +0 -78
  364. data/ext/express_parser/antlrgen/ExpressLexer.interp +0 -534
  365. data/ext/express_parser/antlrgen/ExpressLexer.tokens +0 -190
  366. data/ext/express_parser/antlrgen/ExpressListener.cpp +0 -7
  367. data/ext/express_parser/antlrgen/ExpressListener.h +0 -616
  368. data/ext/express_parser/antlrgen/ExpressParser.cpp +0 -17591
  369. data/ext/express_parser/antlrgen/ExpressParser.h +0 -3692
  370. data/ext/express_parser/antlrgen/ExpressVisitor.cpp +0 -7
  371. data/ext/express_parser/antlrgen/ExpressVisitor.h +0 -422
  372. data/ext/express_parser/express_parser.cpp +0 -19405
  373. data/ext/express_parser/extconf.rb +0 -63
  374. data/rakelib/antlr4-native.rake +0 -173
  375. data/rakelib/cross-ruby.rake +0 -403
  376. data/spec/acceptance/version_spec.rb +0 -30
  377. data/spec/expressir/express/cache_spec.rb +0 -89
  378. data/spec/expressir/express/formatter_spec.rb +0 -171
  379. data/spec/expressir/express/parser_spec.rb +0 -141
  380. data/spec/expressir/model/model_element_spec.rb +0 -343
  381. data/spec/spec_helper.rb +0 -24
  382. data/spec/support/console_helper.rb +0 -29
  383. data/spec/syntax/multiple.exp +0 -23
  384. data/spec/syntax/multiple.yaml +0 -198
  385. data/spec/syntax/multiple_formatted.exp +0 -71
  386. data/spec/syntax/multiple_hyperlink_formatted.exp +0 -71
  387. data/spec/syntax/multiple_schema_head_hyperlink_formatted.exp +0 -13
  388. data/spec/syntax/remark.exp +0 -193
  389. data/spec/syntax/remark.yaml +0 -471
  390. data/spec/syntax/remark_formatted.exp +0 -228
  391. data/spec/syntax/single.exp +0 -4
  392. data/spec/syntax/single.yaml +0 -18
  393. data/spec/syntax/single_formatted.exp +0 -10
  394. data/spec/syntax/single_formatted.yaml +0 -36
  395. data/spec/syntax/syntax.exp +0 -333
  396. data/spec/syntax/syntax.yaml +0 -3509
  397. data/spec/syntax/syntax_formatted.exp +0 -902
  398. data/spec/syntax/syntax_hyperlink_formatted.exp +0 -902
  399. data/spec/syntax/syntax_schema_head_formatted.exp +0 -18
@@ -1,295 +0,0 @@
1
- /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2
- * Use of this file is governed by the BSD 3-clause license that
3
- * can be found in the LICENSE.txt file in the project root.
4
- */
5
-
6
- #pragma once
7
-
8
- #include "antlr4-common.h"
9
-
10
- namespace antlr4 {
11
-
12
- /**
13
- * Useful for rewriting out a buffered input token stream after doing some
14
- * augmentation or other manipulations on it.
15
- *
16
- * <p>
17
- * You can insert stuff, replace, and delete chunks. Note that the operations
18
- * are done lazily--only if you convert the buffer to a {@link String} with
19
- * {@link TokenStream#getText()}. This is very efficient because you are not
20
- * moving data around all the time. As the buffer of tokens is converted to
21
- * strings, the {@link #getText()} method(s) scan the input token stream and
22
- * check to see if there is an operation at the current index. If so, the
23
- * operation is done and then normal {@link String} rendering continues on the
24
- * buffer. This is like having multiple Turing machine instruction streams
25
- * (programs) operating on a single input tape. :)</p>
26
- *
27
- * <p>
28
- * This rewriter makes no modifications to the token stream. It does not ask the
29
- * stream to fill itself up nor does it advance the input cursor. The token
30
- * stream {@link TokenStream#index()} will return the same value before and
31
- * after any {@link #getText()} call.</p>
32
- *
33
- * <p>
34
- * The rewriter only works on tokens that you have in the buffer and ignores the
35
- * current input cursor. If you are buffering tokens on-demand, calling
36
- * {@link #getText()} halfway through the input will only do rewrites for those
37
- * tokens in the first half of the file.</p>
38
- *
39
- * <p>
40
- * Since the operations are done lazily at {@link #getText}-time, operations do
41
- * not screw up the token index values. That is, an insert operation at token
42
- * index {@code i} does not change the index values for tokens
43
- * {@code i}+1..n-1.</p>
44
- *
45
- * <p>
46
- * Because operations never actually alter the buffer, you may always get the
47
- * original token stream back without undoing anything. Since the instructions
48
- * are queued up, you can easily simulate transactions and roll back any changes
49
- * if there is an error just by removing instructions. For example,</p>
50
- *
51
- * <pre>
52
- * CharStream input = new ANTLRFileStream("input");
53
- * TLexer lex = new TLexer(input);
54
- * CommonTokenStream tokens = new CommonTokenStream(lex);
55
- * T parser = new T(tokens);
56
- * TokenStreamRewriter rewriter = new TokenStreamRewriter(tokens);
57
- * parser.startRule();
58
- * </pre>
59
- *
60
- * <p>
61
- * Then in the rules, you can execute (assuming rewriter is visible):</p>
62
- *
63
- * <pre>
64
- * Token t,u;
65
- * ...
66
- * rewriter.insertAfter(t, "text to put after t");}
67
- * rewriter.insertAfter(u, "text after u");}
68
- * System.out.println(rewriter.getText());
69
- * </pre>
70
- *
71
- * <p>
72
- * You can also have multiple "instruction streams" and get multiple rewrites
73
- * from a single pass over the input. Just name the instruction streams and use
74
- * that name again when printing the buffer. This could be useful for generating
75
- * a C file and also its header file--all from the same buffer:</p>
76
- *
77
- * <pre>
78
- * rewriter.insertAfter("pass1", t, "text to put after t");}
79
- * rewriter.insertAfter("pass2", u, "text after u");}
80
- * System.out.println(rewriter.getText("pass1"));
81
- * System.out.println(rewriter.getText("pass2"));
82
- * </pre>
83
- *
84
- * <p>
85
- * If you don't use named rewrite streams, a "default" stream is used as the
86
- * first example shows.</p>
87
- */
88
- class ANTLR4CPP_PUBLIC TokenStreamRewriter {
89
- public:
90
- static const std::string DEFAULT_PROGRAM_NAME;
91
- static constexpr size_t PROGRAM_INIT_SIZE = 100;
92
- static constexpr size_t MIN_TOKEN_INDEX = 0;
93
-
94
- TokenStreamRewriter(TokenStream *tokens);
95
- virtual ~TokenStreamRewriter();
96
-
97
- TokenStream *getTokenStream();
98
-
99
- virtual void rollback(size_t instructionIndex);
100
-
101
- /// Rollback the instruction stream for a program so that
102
- /// the indicated instruction (via instructionIndex) is no
103
- /// longer in the stream. UNTESTED!
104
- virtual void rollback(const std::string &programName, size_t instructionIndex);
105
-
106
- virtual void deleteProgram();
107
-
108
- /// Reset the program so that no instructions exist.
109
- virtual void deleteProgram(const std::string &programName);
110
- virtual void insertAfter(Token *t, const std::string& text);
111
- virtual void insertAfter(size_t index, const std::string& text);
112
- virtual void insertAfter(const std::string &programName, Token *t, const std::string& text);
113
- virtual void insertAfter(const std::string &programName, size_t index, const std::string& text);
114
-
115
- virtual void insertBefore(Token *t, const std::string& text);
116
- virtual void insertBefore(size_t index, const std::string& text);
117
- virtual void insertBefore(const std::string &programName, Token *t, const std::string& text);
118
- virtual void insertBefore(const std::string &programName, size_t index, const std::string& text);
119
-
120
- virtual void replace(size_t index, const std::string& text);
121
- virtual void replace(size_t from, size_t to, const std::string& text);
122
- virtual void replace(Token *indexT, const std::string& text);
123
- virtual void replace(Token *from, Token *to, const std::string& text);
124
- virtual void replace(const std::string &programName, size_t from, size_t to, const std::string& text);
125
- virtual void replace(const std::string &programName, Token *from, Token *to, const std::string& text);
126
-
127
- virtual void Delete(size_t index);
128
- virtual void Delete(size_t from, size_t to);
129
- virtual void Delete(Token *indexT);
130
- virtual void Delete(Token *from, Token *to);
131
- virtual void Delete(const std::string &programName, size_t from, size_t to);
132
- virtual void Delete(const std::string &programName, Token *from, Token *to);
133
-
134
- virtual size_t getLastRewriteTokenIndex();
135
-
136
- /// Return the text from the original tokens altered per the
137
- /// instructions given to this rewriter.
138
- virtual std::string getText();
139
-
140
- /** Return the text from the original tokens altered per the
141
- * instructions given to this rewriter in programName.
142
- */
143
- std::string getText(std::string programName);
144
-
145
- /// Return the text associated with the tokens in the interval from the
146
- /// original token stream but with the alterations given to this rewriter.
147
- /// The interval refers to the indexes in the original token stream.
148
- /// We do not alter the token stream in any way, so the indexes
149
- /// and intervals are still consistent. Includes any operations done
150
- /// to the first and last token in the interval. So, if you did an
151
- /// insertBefore on the first token, you would get that insertion.
152
- /// The same is true if you do an insertAfter the stop token.
153
- virtual std::string getText(const misc::Interval &interval);
154
-
155
- virtual std::string getText(const std::string &programName, const misc::Interval &interval);
156
-
157
- protected:
158
- class RewriteOperation {
159
- public:
160
- /// What index into rewrites List are we?
161
- size_t index;
162
- std::string text;
163
-
164
- /// Token buffer index.
165
- size_t instructionIndex;
166
-
167
- RewriteOperation(TokenStreamRewriter *outerInstance, size_t index);
168
- RewriteOperation(TokenStreamRewriter *outerInstance, size_t index, const std::string& text);
169
- virtual ~RewriteOperation();
170
-
171
- /// Execute the rewrite operation by possibly adding to the buffer.
172
- /// Return the index of the next token to operate on.
173
-
174
- virtual size_t execute(std::string *buf);
175
- virtual std::string toString();
176
-
177
- private:
178
- TokenStreamRewriter *const outerInstance;
179
- void InitializeInstanceFields();
180
- };
181
-
182
- class InsertBeforeOp : public RewriteOperation {
183
- private:
184
- TokenStreamRewriter *const outerInstance;
185
-
186
- public:
187
- InsertBeforeOp(TokenStreamRewriter *outerInstance, size_t index, const std::string& text);
188
-
189
- virtual size_t execute(std::string *buf) override;
190
- };
191
-
192
- class ReplaceOp : public RewriteOperation {
193
- private:
194
- TokenStreamRewriter *const outerInstance;
195
-
196
- public:
197
- size_t lastIndex;
198
-
199
- ReplaceOp(TokenStreamRewriter *outerInstance, size_t from, size_t to, const std::string& text);
200
- virtual size_t execute(std::string *buf) override;
201
- virtual std::string toString() override;
202
-
203
- private:
204
- void InitializeInstanceFields();
205
- };
206
-
207
- /// Our source stream
208
- TokenStream *const tokens;
209
-
210
- /// You may have multiple, named streams of rewrite operations.
211
- /// I'm calling these things "programs."
212
- /// Maps String (name) -> rewrite (List)
213
- std::map<std::string, std::vector<RewriteOperation*>> _programs;
214
-
215
- /// <summary>
216
- /// Map String (program name) -> Integer index </summary>
217
- std::map<std::string, size_t> _lastRewriteTokenIndexes;
218
- virtual size_t getLastRewriteTokenIndex(const std::string &programName);
219
- virtual void setLastRewriteTokenIndex(const std::string &programName, size_t i);
220
- virtual std::vector<RewriteOperation*>& getProgram(const std::string &name);
221
-
222
- /// <summary>
223
- /// We need to combine operations and report invalid operations (like
224
- /// overlapping replaces that are not completed nested). Inserts to
225
- /// same index need to be combined etc... Here are the cases:
226
- ///
227
- /// I.i.u I.j.v leave alone, nonoverlapping
228
- /// I.i.u I.i.v combine: Iivu
229
- ///
230
- /// R.i-j.u R.x-y.v | i-j in x-y delete first R
231
- /// R.i-j.u R.i-j.v delete first R
232
- /// R.i-j.u R.x-y.v | x-y in i-j ERROR
233
- /// R.i-j.u R.x-y.v | boundaries overlap ERROR
234
- ///
235
- /// Delete special case of replace (text==null):
236
- /// D.i-j.u D.x-y.v | boundaries overlap combine to max(min)..max(right)
237
- ///
238
- /// I.i.u R.x-y.v | i in (x+1)-y delete I (since insert before
239
- /// we're not deleting i)
240
- /// I.i.u R.x-y.v | i not in (x+1)-y leave alone, nonoverlapping
241
- /// R.x-y.v I.i.u | i in x-y ERROR
242
- /// R.x-y.v I.x.u R.x-y.uv (combine, delete I)
243
- /// R.x-y.v I.i.u | i not in x-y leave alone, nonoverlapping
244
- ///
245
- /// I.i.u = insert u before op @ index i
246
- /// R.x-y.u = replace x-y indexed tokens with u
247
- ///
248
- /// First we need to examine replaces. For any replace op:
249
- ///
250
- /// 1. wipe out any insertions before op within that range.
251
- /// 2. Drop any replace op before that is contained completely within
252
- /// that range.
253
- /// 3. Throw exception upon boundary overlap with any previous replace.
254
- ///
255
- /// Then we can deal with inserts:
256
- ///
257
- /// 1. for any inserts to same index, combine even if not adjacent.
258
- /// 2. for any prior replace with same left boundary, combine this
259
- /// insert with replace and delete this replace.
260
- /// 3. throw exception if index in same range as previous replace
261
- ///
262
- /// Don't actually delete; make op null in list. Easier to walk list.
263
- /// Later we can throw as we add to index -> op map.
264
- ///
265
- /// Note that I.2 R.2-2 will wipe out I.2 even though, technically, the
266
- /// inserted stuff would be before the replace range. But, if you
267
- /// add tokens in front of a method body '{' and then delete the method
268
- /// body, I think the stuff before the '{' you added should disappear too.
269
- ///
270
- /// Return a map from token index to operation.
271
- /// </summary>
272
- virtual std::unordered_map<size_t, RewriteOperation*> reduceToSingleOperationPerIndex(std::vector<RewriteOperation*> &rewrites);
273
-
274
- virtual std::string catOpText(std::string *a, std::string *b);
275
-
276
- /// Get all operations before an index of a particular kind.
277
- template <typename T>
278
- std::vector<T *> getKindOfOps(std::vector<RewriteOperation *> rewrites, size_t before) {
279
- std::vector<T *> ops;
280
- for (size_t i = 0; i < before && i < rewrites.size(); i++) {
281
- T *op = dynamic_cast<T *>(rewrites[i]);
282
- if (op == nullptr) { // ignore deleted or non matching entries
283
- continue;
284
- }
285
- ops.push_back(op);
286
- }
287
- return ops;
288
- }
289
-
290
- private:
291
- std::vector<RewriteOperation *>& initializeProgram(const std::string &name);
292
-
293
- };
294
-
295
- } // namespace antlr4
@@ -1,208 +0,0 @@
1
- /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2
- * Use of this file is governed by the BSD 3-clause license that
3
- * can be found in the LICENSE.txt file in the project root.
4
- */
5
-
6
- #include "misc/Interval.h"
7
- #include "Exceptions.h"
8
- #include "support/Utf8.h"
9
-
10
- #include "UnbufferedCharStream.h"
11
-
12
- using namespace antlrcpp;
13
- using namespace antlr4;
14
- using namespace antlr4::misc;
15
-
16
- UnbufferedCharStream::UnbufferedCharStream(std::wistream &input)
17
- : _p(0), _numMarkers(0), _lastChar(0), _lastCharBufferStart(0), _currentCharIndex(0), _input(input) {
18
- // The vector's size is what used to be n in Java code.
19
- fill(1); // prime
20
- }
21
-
22
- void UnbufferedCharStream::consume() {
23
- if (LA(1) == EOF) {
24
- throw IllegalStateException("cannot consume EOF");
25
- }
26
-
27
- // buf always has at least data[p==0] in this method due to ctor
28
- _lastChar = _data[_p]; // track last char for LA(-1)
29
-
30
- if (_p == _data.size() - 1 && _numMarkers == 0) {
31
- size_t capacity = _data.capacity();
32
- _data.clear();
33
- _data.reserve(capacity);
34
-
35
- _p = 0;
36
- _lastCharBufferStart = _lastChar;
37
- } else {
38
- _p++;
39
- }
40
-
41
- _currentCharIndex++;
42
- sync(1);
43
- }
44
-
45
- void UnbufferedCharStream::sync(size_t want) {
46
- if (_p + want <= _data.size()) // Already enough data loaded?
47
- return;
48
-
49
- fill(_p + want - _data.size());
50
- }
51
-
52
- size_t UnbufferedCharStream::fill(size_t n) {
53
- for (size_t i = 0; i < n; i++) {
54
- if (_data.size() > 0 && _data.back() == 0xFFFF) {
55
- return i;
56
- }
57
-
58
- try {
59
- char32_t c = nextChar();
60
- add(c);
61
- #if defined(_MSC_FULL_VER) && _MSC_FULL_VER < 190023026
62
- } catch (IOException &ioe) {
63
- // throw_with_nested is not available before VS 2015.
64
- throw ioe;
65
- #else
66
- } catch (IOException & /*ioe*/) {
67
- std::throw_with_nested(RuntimeException());
68
- #endif
69
- }
70
- }
71
-
72
- return n;
73
- }
74
-
75
- char32_t UnbufferedCharStream::nextChar() {
76
- return _input.get();
77
- }
78
-
79
- void UnbufferedCharStream::add(char32_t c) {
80
- _data += c;
81
- }
82
-
83
- size_t UnbufferedCharStream::LA(ssize_t i) {
84
- if (i == -1) { // special case
85
- return _lastChar;
86
- }
87
-
88
- // We can look back only as many chars as we have buffered.
89
- ssize_t index = static_cast<ssize_t>(_p) + i - 1;
90
- if (index < 0) {
91
- throw IndexOutOfBoundsException();
92
- }
93
-
94
- if (i > 0) {
95
- sync(static_cast<size_t>(i)); // No need to sync if we look back.
96
- }
97
- if (static_cast<size_t>(index) >= _data.size()) {
98
- return EOF;
99
- }
100
-
101
- if (_data[static_cast<size_t>(index)] == std::char_traits<wchar_t>::eof()) {
102
- return EOF;
103
- }
104
-
105
- return _data[static_cast<size_t>(index)];
106
- }
107
-
108
- ssize_t UnbufferedCharStream::mark() {
109
- if (_numMarkers == 0) {
110
- _lastCharBufferStart = _lastChar;
111
- }
112
-
113
- ssize_t mark = -static_cast<ssize_t>(_numMarkers) - 1;
114
- _numMarkers++;
115
- return mark;
116
- }
117
-
118
- void UnbufferedCharStream::release(ssize_t marker) {
119
- ssize_t expectedMark = -static_cast<ssize_t>(_numMarkers);
120
- if (marker != expectedMark) {
121
- throw IllegalStateException("release() called with an invalid marker.");
122
- }
123
-
124
- _numMarkers--;
125
- if (_numMarkers == 0 && _p > 0) {
126
- _data.erase(0, _p);
127
- _p = 0;
128
- _lastCharBufferStart = _lastChar;
129
- }
130
- }
131
-
132
- size_t UnbufferedCharStream::index() {
133
- return _currentCharIndex;
134
- }
135
-
136
- void UnbufferedCharStream::seek(size_t index) {
137
- if (index == _currentCharIndex) {
138
- return;
139
- }
140
-
141
- if (index > _currentCharIndex) {
142
- sync(index - _currentCharIndex);
143
- index = std::min(index, getBufferStartIndex() + _data.size() - 1);
144
- }
145
-
146
- // index == to bufferStartIndex should set p to 0
147
- ssize_t i = static_cast<ssize_t>(index) - static_cast<ssize_t>(getBufferStartIndex());
148
- if (i < 0) {
149
- throw IllegalArgumentException(std::string("cannot seek to negative index ") + std::to_string(index));
150
- } else if (i >= static_cast<ssize_t>(_data.size())) {
151
- throw UnsupportedOperationException("Seek to index outside buffer: " + std::to_string(index) +
152
- " not in " + std::to_string(getBufferStartIndex()) + ".." +
153
- std::to_string(getBufferStartIndex() + _data.size()));
154
- }
155
-
156
- _p = static_cast<size_t>(i);
157
- _currentCharIndex = index;
158
- if (_p == 0) {
159
- _lastChar = _lastCharBufferStart;
160
- } else {
161
- _lastChar = _data[_p - 1];
162
- }
163
- }
164
-
165
- size_t UnbufferedCharStream::size() {
166
- throw UnsupportedOperationException("Unbuffered stream cannot know its size");
167
- }
168
-
169
- std::string UnbufferedCharStream::getSourceName() const {
170
- if (name.empty()) {
171
- return UNKNOWN_SOURCE_NAME;
172
- }
173
-
174
- return name;
175
- }
176
-
177
- std::string UnbufferedCharStream::getText(const misc::Interval &interval) {
178
- if (interval.a < 0 || interval.b < interval.a - 1) {
179
- throw IllegalArgumentException("invalid interval");
180
- }
181
-
182
- size_t bufferStartIndex = getBufferStartIndex();
183
- if (!_data.empty() && _data.back() == 0xFFFF) {
184
- if (interval.a + interval.length() > bufferStartIndex + _data.size()) {
185
- throw IllegalArgumentException("the interval extends past the end of the stream");
186
- }
187
- }
188
-
189
- if (interval.a < static_cast<ssize_t>(bufferStartIndex) || interval.b >= ssize_t(bufferStartIndex + _data.size())) {
190
- throw UnsupportedOperationException("interval " + interval.toString() + " outside buffer: " +
191
- std::to_string(bufferStartIndex) + ".." + std::to_string(bufferStartIndex + _data.size() - 1));
192
- }
193
- // convert from absolute to local index
194
- size_t i = interval.a - bufferStartIndex;
195
- auto maybeUtf8 = Utf8::strictEncode(std::u32string_view(_data).substr(i, interval.length()));
196
- if (!maybeUtf8.has_value()) {
197
- throw IllegalArgumentException("Unbuffered stream contains invalid Unicode code points");
198
- }
199
- return std::move(maybeUtf8).value();
200
- }
201
-
202
- std::string UnbufferedCharStream::toString() const {
203
- throw UnsupportedOperationException("Unbuffered stream cannot be materialized to a string");
204
- }
205
-
206
- size_t UnbufferedCharStream::getBufferStartIndex() const {
207
- return _currentCharIndex - _p;
208
- }
@@ -1,117 +0,0 @@
1
- /* Copyright (c) 2012-2017 The ANTLR Project. All rights reserved.
2
- * Use of this file is governed by the BSD 3-clause license that
3
- * can be found in the LICENSE.txt file in the project root.
4
- */
5
-
6
- #pragma once
7
-
8
- #include "CharStream.h"
9
-
10
- namespace antlr4 {
11
-
12
- /// Do not buffer up the entire char stream. It does keep a small buffer
13
- /// for efficiency and also buffers while a mark exists (set by the
14
- /// lookahead prediction in parser). "Unbuffered" here refers to fact
15
- /// that it doesn't buffer all data, not that's it's on demand loading of char.
16
- class ANTLR4CPP_PUBLIC UnbufferedCharStream : public CharStream {
17
- public:
18
- /// The name or source of this char stream.
19
- std::string name;
20
-
21
- explicit UnbufferedCharStream(std::wistream &input);
22
-
23
- void consume() override;
24
- size_t LA(ssize_t i) override;
25
-
26
- /// <summary>
27
- /// Return a marker that we can release later.
28
- /// <p/>
29
- /// The specific marker value used for this class allows for some level of
30
- /// protection against misuse where {@code seek()} is called on a mark or
31
- /// {@code release()} is called in the wrong order.
32
- /// </summary>
33
- ssize_t mark() override;
34
-
35
- /// <summary>
36
- /// Decrement number of markers, resetting buffer if we hit 0. </summary>
37
- /// <param name="marker"> </param>
38
- void release(ssize_t marker) override;
39
- size_t index() override;
40
-
41
- /// <summary>
42
- /// Seek to absolute character index, which might not be in the current
43
- /// sliding window. Move {@code p} to {@code index-bufferStartIndex}.
44
- /// </summary>
45
- void seek(size_t index) override;
46
- size_t size() override;
47
- std::string getSourceName() const override;
48
- std::string getText(const misc::Interval &interval) override;
49
-
50
- std::string toString() const override;
51
-
52
- protected:
53
- /// A moving window buffer of the data being scanned. While there's a marker,
54
- /// we keep adding to buffer. Otherwise, <seealso cref="#consume consume()"/> resets so
55
- /// we start filling at index 0 again.
56
- // UTF-32 encoded.
57
- std::u32string _data;
58
- typedef char32_t storage_type;
59
-
60
- /// <summary>
61
- /// 0..n-1 index into <seealso cref="#data data"/> of next character.
62
- /// <p/>
63
- /// The {@code LA(1)} character is {@code data[p]}. If {@code p == n}, we are
64
- /// out of buffered characters.
65
- /// </summary>
66
- size_t _p;
67
-
68
- /// <summary>
69
- /// Count up with <seealso cref="#mark mark()"/> and down with
70
- /// <seealso cref="#release release()"/>. When we {@code release()} the last mark,
71
- /// {@code numMarkers} reaches 0 and we reset the buffer. Copy
72
- /// {@code data[p]..data[n-1]} to {@code data[0]..data[(n-1)-p]}.
73
- /// </summary>
74
- size_t _numMarkers;
75
-
76
- /// This is the {@code LA(-1)} character for the current position.
77
- size_t _lastChar; // UTF-32
78
-
79
- /// <summary>
80
- /// When {@code numMarkers > 0}, this is the {@code LA(-1)} character for the
81
- /// first character in <seealso cref="#data data"/>. Otherwise, this is unspecified.
82
- /// </summary>
83
- size_t _lastCharBufferStart; // UTF-32
84
-
85
- /// <summary>
86
- /// Absolute character index. It's the index of the character about to be
87
- /// read via {@code LA(1)}. Goes from 0 to the number of characters in the
88
- /// entire stream, although the stream size is unknown before the end is
89
- /// reached.
90
- /// </summary>
91
- size_t _currentCharIndex;
92
-
93
- std::wistream &_input;
94
-
95
- /// <summary>
96
- /// Make sure we have 'want' elements from current position <seealso cref="#p p"/>.
97
- /// Last valid {@code p} index is {@code data.length-1}. {@code p+need-1} is
98
- /// the char index 'need' elements ahead. If we need 1 element,
99
- /// {@code (p+1-1)==p} must be less than {@code data.length}.
100
- /// </summary>
101
- virtual void sync(size_t want);
102
-
103
- /// <summary>
104
- /// Add {@code n} characters to the buffer. Returns the number of characters
105
- /// actually added to the buffer. If the return value is less than {@code n},
106
- /// then EOF was reached before {@code n} characters could be added.
107
- /// </summary>
108
- virtual size_t fill(size_t n);
109
-
110
- /// Override to provide different source of characters than
111
- /// <seealso cref="#input input"/>.
112
- virtual char32_t nextChar();
113
- virtual void add(char32_t c);
114
- size_t getBufferStartIndex() const;
115
- };
116
-
117
- } // namespace antlr4