aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/antlr4_cpp_runtime/CHANGES.txt
diff options
context:
space:
mode:
authorasmyasnikov <asmyasnikov@ydb.tech>2024-06-26 17:09:51 +0300
committerasmyasnikov <asmyasnikov@ydb.tech>2024-06-26 17:27:07 +0300
commite25934f4bbe7b98daa362f04861972e8f83066ad (patch)
treeb350932f398fafa6740fe43a529edf700c747270 /contrib/libs/antlr4_cpp_runtime/CHANGES.txt
parente6190f5d36aef50e2fec0076c384ba0874f5564c (diff)
downloadydb-e25934f4bbe7b98daa362f04861972e8f83066ad.tar.gz
Added antlr4 to exported contribs into github.com/ydb-platform/ydb
4916444b182c044b7cd4c10f838a37a252ea36cf
Diffstat (limited to 'contrib/libs/antlr4_cpp_runtime/CHANGES.txt')
-rw-r--r--contrib/libs/antlr4_cpp_runtime/CHANGES.txt582
1 files changed, 582 insertions, 0 deletions
diff --git a/contrib/libs/antlr4_cpp_runtime/CHANGES.txt b/contrib/libs/antlr4_cpp_runtime/CHANGES.txt
new file mode 100644
index 0000000000..b2eef10540
--- /dev/null
+++ b/contrib/libs/antlr4_cpp_runtime/CHANGES.txt
@@ -0,0 +1,582 @@
+****************************************************************************
+As of ANTLR 4.2.1, March 25 2014, we are no longer updating this file. Instead,
+we are using the github release mechanism. For example, here is
+4.2.1 release notes:
+
+https://github.com/antlr/antlr4/releases/tag/4.2.1
+****************************************************************************
+
+ANTLR v4 Honey Badger
+
+January 15, 2014
+
+* Unit tests for lexer actions from yesterday.
+* Refactored TreeView so we can refresh tree externally w/o creating new one.
+ Needed for intellij plugin.
+
+January 14, 2014
+
+* Updated serialized ATN representation of lexer actions, allowing the lexer
+ interpreter to execute the majority of lexer commands (#408)
+
+January 12, 2014
+
+* Support executing precedence predicates during the SLL phase of
+ adaptivePredict (#401). The result is a massive performance boost for grammars
+ containing direct left-recursion (improvements of 5% to 1000+% have been
+ observed, depending on the grammar and input).
+
+December 29, 2013
+
+* Internal change: Tool.loadGrammar() -> parseGrammar(). Tool.load()->parse()
+
+* Added Tool.loadGrammar(fileName) that completely parses, extracts implicit lexer,
+ and processes into Grammar object. Does not geneate code. Use
+ Grammar.getImplicitLexer() to get the lexer created during processing of
+ combined grammar.
+
+* Added Grammar.load(fileName) that creates Tool object for you. loadGrammar()
+ lets you create your own Tool for setting error handlers etc...
+
+ final Grammar g = Grammar.load("/tmp/MyGrammar.g4");
+
+December 19, 2013
+
+* Sam:
+ Improved documentation for tree patterns classes
+ Refactored parts of the tree patterns API to simplify classes and improve encapsulation
+ Move ATN serializer to runtime
+ Use ATNDeserializer methods instead of ATNSimulator methods which are now deprecated
+
+* parrt: fix null pointer bug with rule "a : a;"
+
+November 24, 2013
+
+* Ter adds tree pattern matching. Preferred interface:
+
+ ParseTree t = parser.expr();
+ ParseTreePattern p = parser.compileParseTreePattern("<ID>+0", MyParser.RULE_expr);
+ ParseTreeMatch m = p.match(t);
+ String id = m.get("ID");
+
+ or
+
+ String xpath = "//blockStatement/*";
+ String treePattern = "int <Identifier> = <expression>;";
+ ParseTreePattern p =
+ parser.compileParseTreePattern(treePattern,
+ JavaParser.RULE_localVariableDeclarationStatement);
+ List<ParseTreeMatch> matches = p.findAll(tree, xpath);
+
+November 20, 2013
+
+* Sam added method stuff like expr() that calls expr(0). Makes it possible
+ to call expr rule from TestRig (grun).
+
+November 14, 2013
+
+* Added Sam's ParserInterpreter implementation that uses ATN after
+ deserialization.
+
+ LexerGrammar lg = new LexerGrammar(
+ "lexer grammar L;\n" +
+ "A : 'a' ;\n" +
+ "B : 'b' ;\n" +
+ "C : 'c' ;\n");
+ Grammar g = new Grammar(
+ "parser grammar T;\n" +
+ "s : (A{;}|B)* C ;\n",
+ lg);
+
+ LexerInterpreter lexEngine = lg.createLexerInterpreter(new ANTLRInputStream(input));
+ CommonTokenStream tokens = new CommonTokenStream(lexEngine);
+ ParserInterpreter parser = g.createParserInterpreter(tokens);
+ ParseTree t = parser.parse(g.rules.get(startRule).index);
+
+November 13, 2013
+
+* move getChildren() from Tree into Trees (to avoid breaking change)
+* Notation:
+ /prog/func, -> all funcs under prog at root
+ /prog/*, -> all children of prog at root
+ /*/func, -> all func kids of any root node
+ prog, -> prog must be root node
+ /prog, -> prog must be root node
+ /*, -> any root
+ *, -> any root
+ //ID, -> any ID in tree
+ //expr/primary/ID, -> any ID child of a primary under any expr
+ //body//ID, -> any ID under a body
+ //'return', -> any 'return' literal in tree
+ //primary/*, -> all kids of any primary
+ //func/*/stat, -> all stat nodes grandkids of any func node
+ /prog/func/'def', -> all def literal kids of func kid of prog
+ //stat/';', -> all ';' under any stat node
+ //expr/primary/!ID, -> anything but ID under primary under any expr node
+ //expr/!primary, -> anything but primary under any expr node
+ //!*, -> nothing anywhere
+ /!*, -> nothing at root
+
+September 16, 2013
+
+* Updated build.xml to support v4 grammars in v4 itself; compiles XPathLexer.g4
+* Add to XPath:
+ Collection<ParseTree> findAll(String xpath);
+
+September 11, 2013
+
+* Add ! operator to XPath
+* Use ANTLR v4 XPathLexer.g4 not regex
+* Copy lots of find node stuff from v3 GrammarAST to Trees class in runtime.
+
+September 10, 2013
+
+* Adding in XPath stuff.
+
+August 31, 2013
+
+* Lots of little fixes thanks to Coverity Scan
+
+August 7, 2013
+
+* [BREAKING CHANGE] Altered left-recursion elimination to be simpler. Now,
+ we use the following patterns:
+
+ * Binary expressions are expressions which contain a recursive invocation of
+ the rule as the first and last element of the alternative.
+
+ * Suffix expressions contain a recursive invocation of the rule as the first
+ element of the alternative, but not as the last element.
+
+ * Prefix expressions contain a recursive invocation of the rule as the last
+ element of the alternative, but not as the first element.
+
+There is no such thing as a "ternary" expression--they are just binary
+expressions in disguise.
+
+The right associativity specifiers no longer on the individual tokens because
+it's done on alternative basis anyway. The option is now on the individual
+alternative; e.g.,
+
+ e : e '*' e
+ | e '+' e
+ |<assoc=right> e '?' e ':' e
+ |<assoc=right> e '=' e
+ | INT
+ ;
+
+If your language uses a right-associative ternary operator, you will need
+to update your grammar to include <assoc=right> on the alternative operator.
+
+This also fixes #245 and fixes #268:
+
+https://github.com/antlr/antlr4/issues/245
+https://github.com/antlr/antlr4/issues/268
+
+To smooth the transition, <assoc=right> is still allowed on token references
+but it is ignored.
+
+June 30, 2013 -- 4.1 release
+
+June 24, 2013
+
+* Resize ANTLRInputStream.data after reading a file with fewer characters than
+ bytes
+* Fix ATN created for non-greedy optional block with multiple alternatives
+* Support Unicode escape sequences with indirection in JavaUnicodeInputStream
+ (fixes #287)
+* Remove the ParserRuleContext.altNum field (fixes #288)
+* PredictionContext no longer implements Iterable<SingletonPredictionContext>
+* PredictionContext no longer implements Comparable<PredictionContext>
+* Add the EPSILON_CLOSURE error and EPSILON_OPTIONAL warning
+* Optimized usage of closureBusy set (fixes #282)
+
+June 9, 2013
+
+* Add regression test for #239 (already passes)
+
+June 8, 2013
+
+* Support list labels on a set of tokens (fixes #270)
+* Fix associativity of XOR in Java LR grammar (fixes #280)
+
+June 1, 2013
+
+* DiagnosticErrorListener includes rule names for each decision in its reports
+* Document ANTLRErrorListener and DiagnosticErrorListener (fixes #265)
+* Support '\uFFFF' (fixes #267)
+* Optimize serialized ATN
+
+May 26, 2013
+
+* Report errors that occur while lexing a grammar (fixes #262)
+* Improved error message for unterminated string literals (fixes #243)
+
+May 24, 2013
+
+* Significantly improve performance of JavaUnicodeInputStream.LA(1)
+
+May 20, 2013
+
+* Generate Javadoc for generated visitor and listener interfaces and classes
+* Fix unit tests
+
+May 18, 2013
+
+* Group terminals in Java grammars so ATN can collapse sets
+* Improved Java 7 support in Java grammars (numeric literals)
+* Updated error listener interfaces
+* Support detailed statistics in TestPerformance
+
+May 17, 2013
+
+* Add JavaUnicodeInputStream to handle Unicode escapes in Java code
+* Proper Unicode identifier handling in Java grammars
+* Report file names with lexer errors in TestPerformance
+
+May 14, 2013
+
+* Use a called rule stack to prevent stack overflow in LL1Analyzer
+* Use 0-based indexing for several arrays in the tool
+* Code simplification, assertions, documentation
+
+May 13, 2013
+
+* Unit test updates to ensure exceptions are not hidden
+
+May 12, 2013
+
+* Updates to TestPerformance
+
+May 5, 2013
+
+* Updated several classes to use MurmurHash 3 hashing
+
+May 1, 2013
+
+* Added parse tree JTree to TreeViewer (Bart Kiers)
+
+April 30, 2013
+
+* Updated TestPerformance to support parallelization across passes
+
+April 24, 2013
+
+* Remove unused stub class ParserATNPathFinder
+* Remove ParserInterpreter.predictATN
+* Remove DFA.getATNStatesAlongPath
+* Encapsulate implementation methods in LexerATNSimulator and ParserATNSimulator
+* Updated documentation
+* Simplify creation of new DFA edges
+* Fix handling of previously cached error edges
+* Fix DFA created during forced-SLL parsing (PredictionMode.SLL)
+* Extract methods ParserATNSimulator.getExistingTargetState and
+ ParserATNSimulator.computeTargetState.
+
+April 22, 2013
+
+* Lazy initialization of ParserATNSimulator.mergeCache
+* Improved hash code for DFAState
+* Improved hash code with caching for ATNConfigSet
+* Add new configuration parameters to TestPerformance
+* Update Java LR and Java Std to support Java 7 syntax
+
+April 21, 2013
+
+* Add new configuration parameters to TestPerformance
+
+April 18, 2013
+
+* Must check rule transition follow states before eliminating states in
+ the ATN (fixes #224)
+* Simplify ParserATNSimulator and improve performance by combining execDFA and
+ execATN and using DFA edges even after edge computation is required
+
+April 15, 2013
+
+* Fix code in TestPerformance that clears the DFA
+
+April 12, 2013
+
+* Improved initialization and concurrency control in DFA updates
+* Fix EOF handling in edge case (fixes #218)
+
+April 4, 2013
+
+* Improved testing of error reporting
+* Fix NPE revealed by updated testing method
+* Strict handling of redefined rules - prevents code generation (fixes #210)
+* Updated documentation in Tool
+
+March 27, 2013
+
+* Avoid creating empty action methods in lexer (fixes #202)
+* Split serialized ATN when it exceeds Java's 65535 byte limit (fixes #76)
+* Fix incorrect reports of label type conflicts across separated labeled outer
+ alternatives (fixes #195)
+* Update Maven plugin site documentation
+
+March 26, 2013
+
+* Fix bugs with the closureBusy set in ParserATNSimulator.closure
+* Fix handling of empty options{} block (fixes #194)
+* Add error 149 INVALID_LEXER_COMMAND (fixes #190)
+* Add error 150 MISSING_LEXER_COMMAND_ARGUMENT
+* Add error 151 UNWANTED_LEXER_COMMAND_ARGUMENT
+* Updated documentation in the Parser and RecognitionException classes
+* Refactored and extensively documented the ANTLRErrorStrategy interface and
+ DefaultErrorStrategy default implementation
+* Track the number of syntax errors in Parser.notifyErrorListeners instead of in
+ the error strategy
+* Move primary implementation of getExpectedTokens to ATN, fixes #191
+* Updated ATN documentation
+* Use UUID instead of incremented integer for serialized ATN versioning
+
+March 7, 2013
+
+* Added export to PNG feature to the parse tree viewer
+
+March 6, 2013
+
+* Allow direct calls to left-recursive rules (fixes #161)
+* Change error type 146 (EPSILON_TOKEN) to a warning (fixes #180)
+* Specify locale for all format operations (fixes #158)
+* Fix generation of invalid Unicode escape sequences in Java code (fixes #164)
+* Do not require escape for $ in action when not followed by an ID start char
+ (fixes #176)
+
+February 23, 2013
+
+* Refactoring Target-related classes to improve support for additional language
+ targets
+
+February 22, 2013
+
+* Do not allow raw newline characters in literals
+* Pair and Triple are immutable; Triple is not a Pair
+
+February 5, 2013
+
+* Fix IntervalSet.add when multiple merges are required (fixes #153)
+
+January 29, 2013
+
+* don't call process() if args aren't specified (Dave Parfitt)
+
+January 21, 2013 -- Release 4.0
+
+* Updated PredictionContext Javadocs
+* Updated Maven site documentation
+* Minor tweaks in Java.stg
+
+January 15, 2013
+
+* Tweak error messages
+* (Tool) Make TokenVocabParser fields `protected final`
+* Fix generated escape sequences for literals containing backslashes
+
+January 14, 2013
+
+* Relax parser in favor of errors during semantic analysis
+* Add error 145: lexer mode must contain at least one non-fragment rule
+* Add error 146: non-fragment lexer rule can match the empty string
+
+January 11, 2013
+
+* Updated error 72, 76; added 73-74 and 136-143: detailed errors about name
+ conflicts
+* Report exact location for parameter/retval/local name conflicts
+* Add error 144: multi-character literals are not allowed in lexer sets
+* Error 134 now only applies to rule references in lexer sets
+* Updated error messages (cleanup)
+* Reduce size of _serializedATN by adding 2 to each element: new representation
+ avoids embedded values 0 and 0xFFFF which are common and have multi-byte
+ representations in Java's modified UTF-8
+
+January 10, 2013
+
+* Add error 135: cannot assign a value to list label: $label
+ (fixes antlr/antlr4#128)
+
+January 2, 2013
+
+* Fix EOF handling (antlr/antlr4#110)
+* Remove TREE_PARSER reference
+* Additional validation checks in ATN deserialization
+* Fix potential NPE in parser predicate evaluation
+* Fix termination condition detection in full-context parsing
+
+January 1, 2013
+
+* Updated documentation
+* Minor code cleanup
+* Added the `-XdbgSTWait` command line option for the Tool
+* Removed method override since bug was fixed in V3 runtime
+
+December 31, 2012
+
+* I altered Target.getTargetStringLiteralFromANTLRStringLiteral() so that
+ it converts \uXXXX in an ANTLR string to \\uXXXX, thus, avoiding Java's
+ conversion to a single character before compilation.
+
+December 16, 2012
+
+* Encapsulate some fields in ANTLRMessage
+* Remove ErrorType.INVALID
+* Update error/warning messages, show all v3 compatibility messages
+
+December 12, 2012
+
+* Use arrays instead of HashSet to save memory in SemanticContext.AND/OR
+* Use arrays instead of HashSet to save memory in cached DFA
+* Reduce single-operand SemanticContext.and/or operations
+
+December 11, 2012
+
+* Add -long-messages option; only show exceptions with errors when set
+* "warning treated as error" is a one-off error
+* Listen for issues reported by StringTemplate, report them as warnings
+* Fix template issues
+* GrammarASTWithOptions.getOptions never returns null
+* Use EnumSet instead of HashSet
+* Use new STGroup.GROUP_FILE_EXTENSION value
+
+December 2, 2012
+
+* Remove -Xverbose-dfa option
+* Create the ParseTreeVisitor interface for all visitors, rename previous base
+ visitor class to AbstractParseTreeVisitor
+
+December 1, 2012
+
+* escape [\n\r\t] in lexical error messages; e.g,:
+ line 2:3 token recognition error at: '\t'
+ line 2:4 token recognition error at: '\n'
+
+* added error for bad sets in lexer; e.g.:
+ lexer set element A is invalid (either rule ref or literal with > 1 char)
+ some tests in TestSets appeared to allow ~('a'|B) but it was randomly working.
+ ('a'|B) works, though doesn't collapse to a set.
+
+* label+='foo' wasn't generating good code. It was generating token type as
+ variable name. Now, I gen "s<ttype>" for implicit labels on string literals.
+
+* tokens now have token and char source to draw from.
+
+* remove -Xsave-lexer option; log file as implicit lexer AST.
+
+November 30, 2012
+
+* Maven updates (cleanup, unification, and specify Java 6 bootstrap classpath)
+
+November 28, 2012
+
+* Maven updates (uber-jar, manifest details)
+
+November 27, 2012
+
+* Maven updates (prepare for deploying to Sonatype OSS)
+* Use efficient bitset tests instead of long chains of operator ==
+
+November 26, 2012
+
+* Maven updates (include sources and javadocs, fix warnings)
+* Don't generate action methods for lexer rules not containing an action
+* Generated action and sempred methods are private
+* Remove unused / problematic methods:
+** (unused) TerminalNodeImpl.isErrorNode
+** (unused) RuleContext.conflictsWith, RuleContext.suffix.
+** (problematic) RuleContext.hashCode, RuleContext.equals.
+
+November 23, 2012
+
+* Updated Maven build (added master POM, cleaned up module POMs)
+
+November 22, 2012
+
+* make sure left-recur rule translation uses token stream from correct imported file.
+* actions like @after in imported rules caused inf loop.
+* This misidentified scope lexer/parser: @lexer::members { } @parser::members { }
+
+November 18, 2012
+
+* fixed: undefined rule refs caused exception
+* cleanup, rm dead etypes, add check for ids that cause code gen issues
+* added notion of one-off error
+* added check for v3 backward incompatibilities:
+** tree grammars
+** labels in lexer rules
+** tokens {A;B;} syntax
+** tokens {A='C';} syntax
+** {...}?=> gate semantic predicates
+** (...)=> syntactic predicates
+* Detect EOF in lexer rule
+
+November 17, 2012
+
+* .tokens files goes in output dir like parser file.
+* added check: action in lexer rules must be last element of outermost alt
+* properly check for grammar/filename difference
+* if labels, don't allow set collapse for
+ a : A # X | B ;
+* wasn't checking soon enough for rule redef; now it sets a dead flag in
+ AST so no more walking dup.
+ error(51): T.g:7:0: rule s redefinition (ignoring); previous at line 3
+
+November 11, 2012
+
+* Change version to 4.0b4 (btw, forgot to push 4.0b3 in build.properties when
+ I made git tag 4.0b3...ooops).
+
+November 4, 2012
+
+* Kill box in tree dialog box makes dialog dispose of itself
+
+October 29, 2012
+
+* Sam fixes nongreedy more.
+* -Werror added.
+* Sam made speed improvement re preds in lexer.
+
+October 20, 2012
+
+* Merged Sam's fix for nongreedy lexer/parser. lots of unit tests. A fix in
+ prediction ctx merge. https://github.com/parrt/antlr4/pull/99
+
+October 14, 2012
+
+* Rebuild how ANTLR detects SLL conflict and failover to full LL. LL is
+ a bit slower but correct now. Added ability to ask for exact ambiguity
+ detection.
+
+October 8, 2012
+
+* Fixed a bug where labeling the alternatives of the start rule caused
+ a null pointer exception.
+
+October 1, 2012 -- 4.0b2 release
+
+September 30, 2012
+
+* Fixed the unbuffered streams, which actually buffered everything
+ up by mistake. tweaked a few comments.
+
+* Added a getter to IntStream for the token factory
+
+* Added -depend cmd-line option.
+
+September 29, 2012
+
+* no nongreedy or wildcard in parser.
+
+September 28, 2012
+
+* empty "tokens {}" is ok now.
+
+September 22, 2012
+
+* Rule exception handlers weren't passed to the generated code
+* $ruleattribute.foo weren't handled properly
+* Added -package option
+
+September 18, 2012 -- 4.0b1 release