fable-compiler / Fable.Python

Python bindings for Fable
https://fable.io/docs/
MIT License
137 stars 10 forks source link

Create Pyi parser #22

Open alexpantyukhin opened 3 years ago

alexpantyukhin commented 3 years ago

There is parser in progress for parsing PYI ast: https://github.com/alexpantyukhin/PythonParser From tests it seems that now it's possible to parse some simple modules without 'IF's.

alexpantyukhin commented 3 years ago

There are still some problems with parsing type's. But going to fix that soon.

dbrattli commented 3 years ago

Great effort! Keep up the good work!

alexpantyukhin commented 2 years ago

Parser in progress. Tested it today on whole pyi files in https://github.com/python/typeshed/tree/master/stdlib . it raises error in 175 cases from 885 files. Keep working with this.

dbrattli commented 2 years ago

That is really great progress!! Sorry I haven't had much time to look at it yet since I have been busy with the compiler (and Jupyter).

alexpantyukhin commented 2 years ago

Now there are 12 files from whole typeshed raises error (some except situation for stdlib and left for protobuf from stubs). Now I'm thinking how it could be best way to generate the Fable AST and compile it to files. I guess It's the time where I can move forward with this.

dbrattli commented 2 years ago

@alexpantyukhin Not sure I understand what you mean about generate Fable AST? Why Fable AST? Did you mean F# AST to generate F#?

Btw please note the new [<NamedParams(fromIndex=1)>], e.g: https://github.com/fable-compiler/Fable.Python/blob/main/src/stdlib/Builtins.fs#L123 on how to handle e.g named only arguments and methods with optional arguments.