1
0
mirror of synced 2026-01-13 15:37:16 +00:00
Mohamed Gaber 88be728353
pyosys: rewrite using pybind11
- Rewrite all Python features to use the pybind11 library instead of boost::python.
  Unlike boost::python, pybind11 is a header-only library that is just included by Pyosys code, saving a lot of compile time on wheels.
- Factor out as much "translation" code from the generator into proper C++ files
- Fix running the embedded interpreter not supporting "from pyosys import libyosys as ys" like wheels
- Move Python-related elements to `pyosys` directory at the root of the repo
- Slight shift in bridging semantics:
  - Containers are declared as "opaque types" and are passed by reference to Python - many methods have been implemented to make them feel right at home without the overhead/ambiguity of copying to Python and then copying back after mutation
  - Monitor/Pass use "trampoline" pattern to support virual methods overridable in Python: virtual methods no longer require `py_` prefix
- Create really short test set for pyosys that just exercises basic functionality
2025-10-03 11:54:44 +03:00
..
2025-09-16 03:17:23 +00:00
2025-09-16 03:17:23 +00:00
2024-12-18 15:09:25 +01:00
2025-09-16 03:17:23 +00:00
2025-10-03 11:54:44 +03:00
2025-09-16 03:17:23 +00:00
2025-09-16 03:17:23 +00:00
2024-09-05 11:17:12 +02:00
2025-09-16 03:17:23 +00:00
2025-05-12 12:48:01 +12:00
2025-03-19 13:43:44 +01:00
2025-09-01 23:34:42 +00:00
2025-08-06 13:52:12 +12:00
2025-09-16 03:17:23 +00:00
2025-09-16 03:17:23 +00:00
2025-09-16 03:17:23 +00:00
2025-08-06 21:34:37 +01:00
2025-10-01 02:49:03 +00:00
2024-02-06 18:01:26 +01:00
2025-09-15 17:18:42 +02:00
2025-09-15 17:22:15 +02:00
2025-10-03 11:54:44 +03:00
2025-10-03 11:54:44 +03:00
2025-09-16 03:17:23 +00:00
2025-01-14 12:39:15 +01:00