Releases: sillydan1/expr
Releases · sillydan1/expr
v3.0.5
v3.0.4
What's Changed
- release v3.0.4 by @sillydan1 in #19
Full Changelog: v3.0.3...v3.0.4
Full Changelog: v3.0.3...v3.0.4
v3.0.3
What's Changed
- Fix compiler error when using newer gcc versions
- Update dependencies
Full Changelog: v3.0.0...v3.0.3
v3.0.0
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
v2.1.0 - 2022-12-11
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
v2.0.0 - 2022-09-19
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
v1.7.0
What's Changed
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
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
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
- Add compilation support
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
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")