You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A new codegen system that's code-based instead of text-based.
It should first produce something like an AST file as an intermediate representation.
Then Cython source and stubs are generated from the intermediate file.
The intermediate representation doesn't need to be an actual AST like that used in the Python compiler. It can be of a higher level.
For example, a + b + c + d may be represented as Sum("a", "b", "c", "d").
This makes optimization attempts easier.
With this reworked system, codegen won't get progressively messier with each new functionality.
For example, stub generation can be done directly based on the intermediate representation instead of parsing the generated source once again (which is how it is done right now).
It also (potentially) enables generating code for multiple platforms (eg. MicroPython).
The text was updated successfully, but these errors were encountered:
A new codegen system that's code-based instead of text-based.
It should first produce something like an AST file as an intermediate representation.
Then Cython source and stubs are generated from the intermediate file.
The intermediate representation doesn't need to be an actual AST like that used in the Python compiler. It can be of a higher level.
For example,
a + b + c + d
may be represented asSum("a", "b", "c", "d")
.This makes optimization attempts easier.
With this reworked system, codegen won't get progressively messier with each new functionality.
For example, stub generation can be done directly based on the intermediate representation instead of parsing the generated source once again (which is how it is done right now).
It also (potentially) enables generating code for multiple platforms (eg. MicroPython).
The text was updated successfully, but these errors were encountered: