-
Notifications
You must be signed in to change notification settings - Fork 55
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
ARCHITECTURE.md: Initial revision #202
base: master
Are you sure you want to change the base?
Conversation
Maybe you want to put this into a doc folder or something and add a link in the README ? Overall I think that this is a very nice effort. Make you don't go too much into details in part that are partially in flux, as wrong doc is worse than no doc usually. I'll be traveling over the weekend, so I won't be able to provide too much feedback before monday. |
Thanks for the suggestion. I'll do that. I think that the current topics are where I am going to stop. I'm intending to provide what each thing does; and where a contributor can find the entry point to that subsystem; and possibly some implementation details where it's relevant (e.g. how the visitor pattern works with the scheduler, etc.) |
Thank you very much for this documentation. I am looking at SDC again since a while and... man all those directories... A guide to the directory structure would be very nice too. |
Thanks for the feedback! That's my plan. I need to get back at this. I had
|
ARCHITECTURE.md
Outdated
@@ -38,6 +38,11 @@ Character Streams -> Lexer -> (Token Stream) -> Parser -> (AST) -> Semantic Pass | |||
+ May reduce some higher level Ast concepts into easier concepts to express in the IR. | |||
+ *** Need to cover visitors, and require, scheduler, etc. | |||
+ Cover how visitors work -- Equivalent to functional programming concept of parameter specialization | |||
+ Operates in multiple passes over the AST/IR (Ew that it modifies the IR/AST?) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The AST and the IR are separate.
Rather the AST is the basis for the IR.
The AST is not touched after parsing.
The IR is indeed subject to lowering and other transformations
575b9f1
to
0e151f4
Compare
9448061
to
ad47c1f
Compare
If anyone is interested, I've begun working on this again. |
20b3372
to
32cd75e
Compare
dc3ea09
to
1f71c2a
Compare
0fb9de0
to
208c449
Compare
f94baa8
to
87a9baf
Compare
cf07b66
to
39f39ba
Compare
4acd1ab
to
e854d3d
Compare
0896895
to
5a79292
Compare
7ce40a5
to
4dbe602
Compare
The intent of this PR is to introduce the
ARCHITECTURE.md
root file. This file will eventually include a high level overview of the SDC compiler and how it operates. New contributors should be able to read this file to make sense of the subsystems in the compiler, and which APIs they should be working with to obtain the information they need to process.