This document describes the changes made to the Parsetools application.
Minor documentation fixes
Own Id: OTP-14276 Aux Id: PR-1357
Miscellaneous updates due to atoms containing arbitrary Unicode characters.
Own Id: OTP-14285
Correct counting of newlines when rules with newlines are used in Leex.
Own Id: OTP-13916 Aux Id: ERL-263
Correct handling of Unicode in Leex.
Own Id: OTP-13919
Yecc generates Dialyzer suppressions to avoid warnings when operator precedence declarations are used.
Own Id: OTP-13681
Internal changes
Own Id: OTP-13551
Correct the documentation of the error tuple returned by Yecc and Leex.
Own Id: OTP-13031
The new
Own Id: OTP-12271
The line counter becomes invalid when rules with linewrap are used. This issue appears because the parsing FSM does not roll back the line counter after attempting such a rule.
Own Id: OTP-12238
Application upgrade (appup) files are corrected for the following applications:
A new test utility for testing appup files is added to test_server. This is now used by most applications in OTP.
(Thanks to Tobias Schlager)
Own Id: OTP-11744
A Yecc example has been updated in the documentation (Thanks to Pierre Fenoll.)
Own Id: OTP-11749
A bug causing Yecc to generate badly formed parsers when encountering very simple recursive rules has been fixed. (Thanks to Eric Pailleau.)
Own Id: OTP-11269
A bug where Unicode filenames combined with Latin-1 encoding could crash Yecc and Leex has been fixed.
Own Id: OTP-11286
Fix leex module`s inability to build unicode-aware lexers. Thanks to Pierre Fenoll.
Own Id: OTP-11313
Miscellaneous updates due to Unicode support.
Own Id: OTP-10820
Support for Unicode has been implemented.
Own Id: OTP-10302
The file
Own Id: OTP-10660
Tuple funs (a two-element tuple with a module name and a
function) are now officially deprecated and will be
removed in R16. Use '
Own Id: OTP-9649
Dialyzer warnings have been removed.
Own Id: OTP-8318
yecc: add warnings_as_errors option(Thanks to Tuncer ayaz)
Own Id: OTP-9376
Fix incorrect order of pseudo variables in yecc example
The example is for converting from infix to prefix. This change uses to correct ordering of the triplet. (Thanks to Garret Smith)
Own Id: OTP-9484
Implement or fix -Werror option
If -Werror is enabled and there are warnings no output file is written. Also make sure that error/warning reporting is consistent. (Thanks to Tuncer Ayaz)
Own Id: OTP-9536
XML files have been corrected.
Own Id: OTP-9550 Aux Id: OTP-9541
The formating of Yecc's error messages has been improved. (Thanks to Joe Armstrong.)
Own Id: OTP-8919
Running HiPE-compiled Yecc parsers no longer results
in a
Own Id: OTP-8771
Yecc failed to report reduce/reduce conflicts where one of the reductions involved the root symbol. This bug has been fixed. (Thanks to Manolis Papadakis.)
Own Id: OTP-8483
A bug introduced in Parsetools 1.4.4 (R12B-2) has been fixed. (Thanks to Manolis Papadakis.)
Own Id: OTP-8486
Cleanups suggested by tidier and modernization of types and specs.
Own Id: OTP-8455
Leex no longer uses the deprecated
Own Id: OTP-8231
A minor bug in
Own Id: OTP-8197
Leex, a lexical analyzer generator for Erlang, has been added to Parsetools. This initial version should be considered experimental; it is known that there will be changes and additions. (Thanks to Robert Virding.).
Own Id: OTP-8013
The parsers generated by Yecc now report correct error lines when possible.
Own Id: OTP-7969
A bug in yeccpre.hrl introduced in R13A has been fixed.
Own Id: OTP-7945
Updated file headers.
Own Id: OTP-7798
The
Own Id: OTP-7292
The size of the code generated by Yecc has been reduced. The code is also faster.
Macros can now be used in actions.
Own Id: OTP-7224
Own Id: OTP-7009
The size of the code generated by yecc has been reduced.
A note regarding the
Own Id: OTP-6851
Minor Makefile changes.
Own Id: OTP-6689
A bug concerning precedence declarations of non-terminals "one level up" has been fixed in yecc.
Own Id: OTP-6362
Several modifications of Yecc have been made:
The new functions
More checks of the grammar file have been implemented. Examples are warnings for unused non-terminals and duplicated declarations.
Invalid pseudo variables are no longer
replaced by
Reserved words no longer need to be quoted when used as terminals or non-terminals.
When compiling the generated parser file errors and warnings concerning user code refer to the grammar file, not the parser file.
Yecc emits a warning if there are conflicts
in the grammar. The new declaration
The new operator precedence declaration
Precedence can be given to more than one operator with one single operator precedence declaration.
The function
The functions
See yecc(3) for further details.
Own Id: OTP-5366
A bug in
Own Id: OTP-5461
A bug in the file
Own Id: OTP-5369