Releases: phorward/unicc
Releases · phorward/unicc
v1.8.0
What's Changed
- Fix segfault that occurs when trying to add precedence to a productio… by @mingodad in #24
- Proposal for "noisy" keywords by @phorward in #28
- Integrate more ECMA6 features to JavaScript target by @phorward in #29
- Removing several warnings by @phorward in #30
New Contributors
Full Changelog: v1.7.0...v1.8.0
1.6.2
1.6.0
Released on: May 27, 2019
- Renamed top-level directive
#!mode
options toscannerless
(default)
andscanner
. !language
-directive allows for identifier as language parameter.- Removed deprecated directives
#parser
,#description
,#copyright
and#version
. - Removed old-style
!model
top-level directive. - Several internal code revisions.
- Compiled and linked against libphorward 0.24.
1.5.0
- New targets for JavaScript and JSON.
- Targets C and C++ improved to avoid memory leaking and handle malloc/realloc
calls more securely. - All targets now supporting the
UNICC_SUCCESS
andUNICC_ERROR
flags that
can be set as currentact
(action) to stop parsing. - Started a grammar and templates test suite for better continous integration.
- Compiled and linked against libphorward 0.23.
- Removed outdated syntax-tree feature from C target.
1.4.0
- Compiled and linked against libphorward 0.22
- C++ target forked from the C target startet
- action_prefix value can be defined in target language templates to
redefine the@
-prefix for action code variables by any other desired
prefix. This change has been done to make target language processing easier
for languages where the@
-sign is part of the target language syntax.
1.3.0
Released on: December 21, 2017
- Code generator does not emit action code when the action is empty.
- New command-line parameter "-l" or "--language" to specify a target language
via command-line. This is useful when a grammar only contains AST definitions,
which allows to render and run it in any target. - Abstract syntax tree generation support:
- Drafting an abstract syntax tree definition syntax for the grammar language,
by using the operators "=" and ":=". See examples/expr.ast.par for an
example working under both C and Python without any modifications. - C and Python parser targets extended to construct abstract syntax tree
data structures dynamically. - These are first changes for an upcoming UniCC v2, where the targets shall
be re-used with only few improvements.
- Drafting an abstract syntax tree definition syntax for the grammar language,
- Fixed several bugs in the Python target on insensitive mode.
- Additionally allow ":" in case of "->" in grammar definitions.
- Internal code revisions started, but interrupted for now.
- Renamed folder "templates/" into "targets/".
1.2.0
- Started an (yet incomplete) new standard template to provide parser generation
support for the Python programming language (templates/python.tlt). - Imported the source code of the C standard template into the UniCC repository
for further developments, the previous repository gets closed.
(tempates/c.tlt) - Fixed bug in the lexical analyzer generation by linking against
libphorward 0.20 that caused a massive overhead of deterministic finite
automation states in context-sensitive mode due an arbitrary character
set order. This bug did not produce invalid parsers, but horribly huge tables. - Imported the source code of min_lalr1 into the unicc repository, because it
is the only place where it is used. - Several internal revisions
- Changed internal names for files, functions and variables.
- Replaced old-style function headers by more convenient ones.
- Removed unused code.
- Renewed manpage
- New README.md and updated CHANGELOG.md