Skip to content
This repository has been archived by the owner on Aug 22, 2019. It is now read-only.

Releases: ben-marshall/verilog-parser

v0.2.31

06 Aug 10:31
Compare
Choose a tag to compare
v0.2.31 Pre-release
Pre-release

Changes to the internal syntax tree which will break compatibility with programs accessing the ast_module_declaration object's always_blocks and initial_blocks members.

  • Refactored always and initial block representation to reduce indirection in finding event triggers and statement bodies.
  • Removed an awfully annoying print statement which slipped through the net.
  • Fixed the ast_list_concat function
  • Allowed "parent" build systems to disable the verilog-parser tests.

v0.2.2

31 Jul 14:12
Compare
Choose a tag to compare
v0.2.2 Pre-release
Pre-release

Some new features and cleanup

  • Added some useful functions:
    • ast_expression_tostring
    • ast_primary_tostring
    • ast_number_tostring
  • Fixed some bugs which became apparent while implementing these.
    • Added relevant test files too.
  • Fixed all compiler warnings (gcc -Wall)
    • Only remaining ones come from inside the flex generated code. Nothing to be done about that.

v0.2.1

30 Jul 10:48
Compare
Choose a tag to compare
v0.2.1 Pre-release
Pre-release

Lots of changes, features and fixes here!

  • Re-written the project workspace script to have separate release, debug and coverage build areas.
    • Automatic coverage reporting with travis and coveralls re-instated.
    • Top level makefile for running common tasks like documentation, building and testing.
  • Added resolution of all module instantiations to their declarations.
  • Fixed almost all memory leaks.
    • Remaining leaks are inside flex / bison, and need fixing still
    • Future work will allow objects to be released individually, rather than having to do it all at once.
    • Added a script for quickly getting a valgrind report.
    • Completely re-organised the ast_memory management functions and structures.
  • All objects in the AST are now tagged by their source file name and their line number in the meta member.
  • Relaxed the required FLEX version from 2.6 to 2.5.35

v0.2.0

15 Jul 12:24
Compare
Choose a tag to compare
v0.2.0 Pre-release
Pre-release

Big changes to the internal AST data structure, but no changes to the API functions.

Changes

  • The ast_module_declaration data structure has been redesigned to be much simpler to access.
    • All module items are grouped into lists of their own type.
  • Added a helper function to print the full name of an identifier.
  • All syntactic constructs how have their source line number recorded by default.
    • Added a "meta" member to all ast_* constructs, making it easier to store all sorts of bits of info.

Bugfixes

  • Fixed problem with trireg declarations where accessing their associated list of identifiers caused a segfault.
  • Fixed bad copying of some identifier names into the AST from the parser.
  • Fixed the ast_list_concat function

v0.1.1

13 Jul 16:39
Compare
Choose a tag to compare
v0.1.1 Pre-release
Pre-release

This contains a bunch of bug fixes for problems found after using the parser and syntax tree "in anger" for the first time. It also make some big changes to the build system.

  • The build system is now all CMake, with documentation, coverage and testing all integrated.
  • Fixed bug where identifier names were not correctly copied out of the lexer and into the AST
  • Fixed bug where module port names were not returned as the correct data type.
  • Fixed a dumb buffer overflow which caused travis to error our, rather than cause a fail message.

v0.1.0

11 Jul 14:53
Compare
Choose a tag to compare
v0.1.0 Pre-release
Pre-release

First Usable Release

At this point, I feel comfortable saying that the parser is "ready to play with". That is, API stuff might change a little before v1.0.0, but that is very unlikely, and certainly not in a non-backward compatible way. Only new "helper" functions will be added.

Main Points:

  • Very clear parser / lexer / pre-processor / syntax tree source files and code separation.
  • Full workflow, with CI, coverage checking and documentation publishing is setup.
  • Over 800 tests, many from the OpenSPARCT1 Microprocessor are included and are passing.
    • These test almost all of the syntatic features of the language.
  • All of the code is documented using Doxygen.