-
Notifications
You must be signed in to change notification settings - Fork 6
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
Primitive port and node construction #45
Primitive port and node construction #45
Conversation
Conflicts: build.gradle src/main/java/org/manifold/compiler/front/ExpressionGraph.java src/main/java/org/manifold/compiler/front/FrontendValueVisitor.java
(removes most of ExpressionGraph, so WIP.)
tuple type value expr (WIP)
|
||
public class PrimitivePortDefinitionExpression extends Expression { | ||
|
||
// TODO(murphy) figure out where the name of the port type value comes from |
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.
🐶
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.
Leaving it since this is going away soon
Done my first review. Sorry about the zoo. |
|
||
public class ExpressionGraphBuilder implements ExpressionVisitor { | ||
|
||
private static Logger log = LogManager.getLogger("ExpressionGraph"); |
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.
nit: ExpressionGraphBuilder.class?
Logic looks good (AFAIK anyways, still a bit fuzzy on the whole thing), just a few minor nit picky things 🚲. |
Fantastic first round of review, everyone! Thanks again. New commits are available. |
Primitive port and node construction
I would like to submit this pull request for review, knowing that I am not done with it yet. There is a lot of code here, but finishing all of the features I have marked as TODO in the code would result in a PR of several thousand lines, and this is bad enough already.
ExpressionGraph
, which made horrible assumptions about the structure of the schematic that was being compiled and wouldn't work for anything except digital circuits.TypeChecker
is completely gone. All typing can be done dynamically through the expression graph, which has all the benefits of a static system while providing dynamic typing only where it is actually used.