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

Bootstrap a pythOwO compiler in pythOwO #16

Open
Swiddis opened this issue Jun 27, 2022 · 3 comments
Open

Bootstrap a pythOwO compiler in pythOwO #16

Swiddis opened this issue Jun 27, 2022 · 3 comments
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@Swiddis
Copy link
Contributor

Swiddis commented Jun 27, 2022

This is a bit of a tall order but I reckon it will be doable. We need to go deeper. Writing the compiler to output Python will probably be most natural, but since the feature set is small (I don't see classes implemented) any language could work. Maybe C so we can actually do a full compilation process and get a working Compiwer binary. Some action steps:

  1. Write a working interpreter in a lower-level target language that is restricted to the implemented feature-set of PythOwO
  2. Test the compiler thoroughly enough that we can be sure it will translate PythOwO faithfully
  3. Finally, translate the compiler to PythOwO
  4. Build and ship the Compiwer

For reference, I would recommend looking a little into LoxLox, which is a Lox implementation of the simple language Lox. The only real barrier to implementing it directly is the use of classes. In addition there's the C implementation in Crafting Interpreters, which does fairly well without classes.

@virejdasani virejdasani added help wanted Extra attention is needed good first issue Good for newcomers labels Jun 28, 2022
@Swiddis Swiddis changed the title Boostrap a pythOwO compiler in pythOwO Bootstrap a pythOwO compiler in pythOwO Jul 14, 2022
@UFifty50
Copy link

On it :)

@UFifty50
Copy link

UFifty50 commented Aug 25, 2022

if you want to track my progress on it, here is it's repo and here is the project tracking it.

@Almas-Ali
Copy link

Hey, you can tryout this project https://github.com/radon-project/radon because this projects are not maintaining. We will move a language together. It's very exciting. We have implement class feature in our project. Also standard library and third party imports.

See you there.

@UFifty50 @Swiddis

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants