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

Refactoring the symbolic ASR pass #2263

Merged
merged 6 commits into from
Aug 11, 2023
Merged

Conversation

anutosh491
Copy link
Collaborator

No description provided.

@anutosh491
Copy link
Collaborator Author

I've added a first level of refactoring here where I've brought down the repetetive code involved in all binary and unary operators/functions. cc @Thirumalai-Shaktivel

The next step I see is unifying the switch case being used in all functions like visit_Assignment , visit_Print and visit_IntrinsicFunction. We could just have a single function with the switch case I think

@anutosh491
Copy link
Collaborator Author

I've refactored the switch case through my latest commit . I guess I could address your reviews now and then the macros based refactoring could be done through the next PR for convinience.

@anutosh491
Copy link
Collaborator Author

I think this is the almost all refactoring that could be achieved through functions . The functioncalls for basic_new_stack etc could be handled through macros like those used in intrinsic_registry.h

@certik
Copy link
Contributor

certik commented Aug 10, 2023

Very good, you chopped off 1000 lines. Thanks @Thirumalai-Shaktivel for the review!

@anutosh491
Copy link
Collaborator Author

I think this is ready now.

@certik certik merged commit 8c1665a into lcompilers:main Aug 11, 2023
9 checks passed
@certik
Copy link
Contributor

certik commented Aug 11, 2023

Great job @anutosh491 !

@anutosh491 anutosh491 deleted the GSoC_PR_13 branch August 11, 2023 05:57
@anutosh491 anutosh491 mentioned this pull request Aug 12, 2023
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants