Skip to content

Releases: Tolc-Software/frontend.py

v0.7.0

19 May 19:56
a5bede9
Compare
Choose a tag to compare

News

  • Update to Parser v0.6.0
  • Update to pybind v2.9.2
  • Now supports Visual Studio 2022 and LLVM 14
  • Better handling of forward declarations

v0.6.1

11 May 17:14
Compare
Choose a tag to compare

News

Bindings

  • Update to Parser v0.5.6 and IR v0.15.1

v0.6.0

29 Mar 10:44
e4ea167
Compare
Choose a tag to compare

News

Bindings

  • Add support for transferring documentation from C++ namespace to corresponding pybind11 module

Operators

Add support for the following operators:

C++ operator Python operator
operator+ __add__
operator- __sub__
operator* __mul__
operator/ __truediv__
operator% __mod__
operator+= __iadd__
operator-= __isub__
operator*= __imul__
operator/= __itruediv__
operator%= __imod__
operator== __eq__
operator!= __ne__
operator> __gt__
operator>= __ge__
operator< __lt__
operator<= __ge__
operator[] __getitem__
operator() __call__

Overloading is also supported. There are more extensive documentation in the examples section.

Inheritence

  • Added support for polymorphic classes
    • Inherit from virtual C++ classes in python
    • Override virtual C++ member functions in python
    • Call functions via C++ base class on derived class from python

Minor

Improve readability of output. There were some edge cases where ; ended up on a newline. That is now fixed.

v0.5.0

20 Mar 15:48
f45e0ed
Compare
Choose a tag to compare

News

Bindings

  • Add support for transferring documentation from the C++ to pybind11
    • Add tests for all officially supported documentation styles
    • Supported for:
      • Classes
      • Member variables
      • Enums
      • Functions

Example of documentation string styles:

// One line comment
class OneLiner {};

/** Single multi line comment */
class SingleMulti {};

/**
* Multi
* line
* comment
*/
class Multi {};

/**
Bare multi
Another line
*/
class BareMulti {};

/*!
* Qt style
*/
class QtStyle {};

/*******************************************************************************
* JavaDoc Style
* is
* boxy
******************************************************************************/
class JavaDoc {};

///
/// Triplets is a commitment
///
class Triplets {};

//!
//! This is one of the doxy styles
//!
class DoxyBang {};

v0.4.1

18 Mar 15:04
Compare
Choose a tag to compare

Internal

  • Use versioned release of IR

v0.4.0

08 Mar 10:20
Compare
Choose a tag to compare

News

Bindings

  • Renamed the bindings file to "{library_name}_python.cpp" instead of "{library_name}.cpp"
    • Ex: MyCppLibrary.cpp -> MyCppLibrary_python.cpp
    • Note that this has little impact as this is handled internally by the CMake wrapper for Tolc

v0.3.0

28 Feb 15:08
Compare
Choose a tag to compare

News

Documentation

  • Improved the introduction documentation to include a full download and setup.

Internal

  • Move namespaces around so it doesn't cause linker errors when linking to other frontends
    • Functionality concerning pybind is now under the Pybind namespace
    • Middle layer objects, previously under PybindProxy, are now Pybind::Proxy

v0.2.0

23 Feb 14:10
e49d5b4
Compare
Choose a tag to compare

News

Initial versioned release!

Features

  • Support for most C++ constructs to python

More details in docs:
See docs/public/examples.md for examples on how to use all of the above
See docs/public/conversions.md for references

Latest release from main

23 Feb 14:10
e49d5b4
Compare
Choose a tag to compare

This release gets updated with each commit to main

Head release

03 Jan 17:37
b676ed7
Compare
Choose a tag to compare

This release gets updated with each commit to main