Skip to content

Releases: sillydan1/expr

v3.0.5

07 Jul 10:22
Compare
Choose a tag to compare

Minor patch release

  • expr will now prefer to use the system-installed z3 library if available
  • Updates to dependencies

Full Changelog: v3.0.4...v3.0.5

v3.0.4

10 Jun 16:15
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.0.3...v3.0.4

Full Changelog: v3.0.3...v3.0.4

v3.0.3

23 Apr 17:18
64e4e37
Compare
Choose a tag to compare

What's Changed

  • Fix compiler error when using newer gcc versions
  • Update dependencies

Full Changelog: v3.0.0...v3.0.3

v3.0.0

19 Mar 08:39
Compare
Choose a tag to compare

What's Changed

  • Feature/cpp parsers by @sillydan1 in #17
    • This changes the abi completely. Check the readme and main.cpp file for reference on how the new abi should be used.

Full Changelog: v2.2.0...v3.0.0

v2.1.0

11 Dec 13:23
c1beaf0
Compare
Choose a tag to compare

v2.1.0 - 2022-12-11

Compare with v2.0.0

Bug Fixes

  • Add a lookup function to symbol table (797cdee by Asger Gitz-Johansen).
  • Removed tree_interpreter functionality in the demo (1563f5f by Asger Gitz-Johansen).

Features

  • Add as_string function (b1bf12a by Asger Gitz-Johansen).
  • Add tree_compiler class (feba171 by Asger Gitz-Johansen).
  • Extend the driver interface be aware of the access modifier (418ce71 by Asger Gitz-Johansen).
  • Add variables scopes in the form of trees of symboltables (8f5ec2b by Asger Gitz-Johansen).

v2.0.0

19 Sep 20:08
Compare
Choose a tag to compare

v2.0.0 - 2022-09-19

Compare with v1.7.0

Bug Fixes

  • Warning about not returning at the end of a non-void function (4e6ea47 by Asger Gitz-Johansen).
  • Mingw pipeline (de346ee by Asger Gitz-Johansen).
  • Fixing gcc-related compilation issues (859f8f3 by Asger Gitz-Johansen).
  • Symbol_table_t now contains delay information (6ef9e08 by Asger Gitz-Johansen).
  • Z3 bug where known variables were interpreted as "known" (f3430b0 by Asger Gitz-Johansen).
  • Move driver.h into include directory (43ecd13 by Asger Gitz-Johansen).
  • Fixed identifier bug in the z3_driver (f2e6fbd by Asger Gitz-Johansen).

Code Refactoring

  • Identifiers are now stored as a string instead of a iterator (c6dae37 by Asger Gitz-Johansen).

Features

  • Add special case in z3_driver for clocks (92806fa by Asger Gitz-Johansen).
  • Add c++ comparator operators for symbol_value_t (29cbe74 by Asger Gitz-Johansen).
  • Add support for delayable clock types (a6aae17 by Asger Gitz-Johansen).

v1.7.0

11 Sep 10:45
ead430a
Compare
Choose a tag to compare

What's Changed

Compare with v1.6.0

Bug Fixes

  • Cleanup interpreter::evaluate function (137fdad by Asger Gitz-Johansen).
  • Interpreter now does an environment lookup for all identifier references (e3250f5 by Asger Gitz-Johansen).
  • Add space between the macro and parentheses (0a7b2a2 by Asger Gitz-Johansen).
  • Add m4_define_default parser_ns for namespace overwritability (8b896b1 by Asger Gitz-Johansen).

Features

  • Add interpret_declarations and interpret_expression functions to interpreter (2ccc3e6 by Asger Gitz-Johansen).

Full Changelog: v1.6.0...v1.7.0

v1.6.0

23 Aug 19:14
3cb3e53
Compare
Choose a tag to compare

What's Changed

  • Z3 patches by @sillydan1 in #9
  • Symbol table extensions by @sillydan1 in #10
  • Add the possibility to extend the grammar directly via the m4 preprocessor

Full Changelog: v1.5.0...v1.6.0

v1.5.0

20 Jul 17:55
6a5f79f
Compare
Choose a tag to compare

What's Changed

  • Add implication (=>) operator by @sillydan1 in #8
  • Add modulo (%) operator by @sillydan1 in #6
  • Add default symbol initialization in declarations by @sillydan1 in #4
  • Compilation and z3 integration by @sillydan1 in #7
    • Add compilation support
      • you can now compile to tree structures with the expr::compiler driver
      • These tree structures can be interpreted via the expr::interpreter driver
    • Add z3 integration via the expr::z3_driver driver
    • Moved all header files relating to operators back into src directory. They are not supposed to be used by clients
    • Put all elements of the library into the expr:: namespace

Bug Fixes

  • Fix shift-reduce and operator precedence problems in the grammar by @sillydan1 in #5

Full Changelog: v1.2.0...v1.5.0

v1.2.0

20 Mar 08:53
2dfd3df
Compare
Choose a tag to compare

EXPR Release v1.2.0

Values can now be compared with each other. e.g. 32 <= 50 && "foo" == "foo"

latest tag points to the latest stable release

If you want to use the project in your own cmake project, simply include expr as a subdirectory and link
with the libexpr library. The project is also tagged with release versions to be compatible with cpm,
so if your project uses that, simply include the project like so:

CPMAddPackage("gh:sillydan1/expr#latest")