Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create Pyi parser #22

Open
alexpantyukhin opened this issue Nov 1, 2021 · 6 comments
Open

Create Pyi parser #22

alexpantyukhin opened this issue Nov 1, 2021 · 6 comments

Comments

@alexpantyukhin
Copy link
Contributor

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
Copy link
Contributor Author

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

@dbrattli
Copy link
Collaborator

dbrattli commented Nov 2, 2021

Great effort! Keep up the good work!

@alexpantyukhin
Copy link
Contributor Author

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
Copy link
Collaborator

dbrattli commented Nov 8, 2021

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
Copy link
Contributor Author

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
Copy link
Collaborator

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants