Skip to content

Releases: phorward/unicc

v1.8.0

28 Oct 09:45
Compare
Choose a tag to compare

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

01 Aug 12:22
Compare
Choose a tag to compare
  • v1.6.2: Provide ERRSTYLE_IMPORTANT-flag to show up important warnings

Download UniCC LALR(1) Parser Generator

1.6.0

27 May 18:45
Compare
Choose a tag to compare

Released on: May 27, 2019

  • Renamed top-level directive #!mode options to scannerless (default)
    and scanner.
  • !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.

Download UniCC LALR(1) Parser Generator

1.5.0

20 Nov 12:01
Compare
Choose a tag to compare
  • 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 and UNICC_ERROR flags that
    can be set as current act (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

17 Apr 19:47
Compare
Choose a tag to compare
  • 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.

Download UniCC Parser Generator

1.3.0

21 Dec 21:42
Compare
Choose a tag to compare

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.
  • 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

08 Nov 12:17
Compare
Choose a tag to compare
  • 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