manifold-lang / manifold-frontend

Frontend compiler for Manifold high-level language
GNU General Public License v3.0
6 stars 6 forks source link

Primitive port and node construction #45

Closed mtrberzi closed 9 years ago

mtrberzi commented 9 years ago

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.

coveralls commented 9 years ago

Coverage Status

Coverage decreased (-20.45%) when pulling 65efbb136d2a895a680251e14b99d0ee59c7bcef on mtrberzi:primitive-definitions into 3d9b44aacf7930623630fcccd7d50a5be8ae75b9 on manifold-lang:master.

maxqchen commented 9 years ago

Is it possible to get a rough high level view of the structure, something like pseudo UML? Would make it easier to understand the relations between everything.

mtrberzi commented 9 years ago

As something visual that I had laying around, here's the expression graph for the following code:

xIn = primitive port Bool;
xOut = primitive port Bool;
xNot = primitive node (x : xIn) -> (xbar : xOut);

test

This includes all the major ExpressionVertex types that ExpressionGraphBuilder deals with. Hopefully seeing it work is a little easier to visualize than UML, but let me know if there's something else I can prepare to help you wrap your head around this one (I know that this is some difficult code to review so I'm ready to assist).

coveralls commented 9 years ago

Coverage Status

Coverage decreased (-20.43%) when pulling 6f106fb17d1ef12dcec76eca4a77436a2196a72a on mtrberzi:primitive-definitions into 3d9b44aacf7930623630fcccd7d50a5be8ae75b9 on manifold-lang:master.

mtrberzi commented 9 years ago

Oh, by the way, fixes #31.

mtrberzi commented 9 years ago

Also fixes #16.

mtrberzi commented 9 years ago

Also fixes #17.

coveralls commented 9 years ago

Coverage Status

Coverage decreased (-20.43%) when pulling ed5d01b27a38e1fd6243137c1fc64a658cf0ba41 on mtrberzi:primitive-definitions into 3d9b44aacf7930623630fcccd7d50a5be8ae75b9 on manifold-lang:master.

coveralls commented 9 years ago

Coverage Status

Coverage decreased (-20.36%) when pulling eef2ea4de18aee9928e006bb7baea8427048636d on mtrberzi:primitive-definitions into 3d9b44aacf7930623630fcccd7d50a5be8ae75b9 on manifold-lang:master.

lucaswoj commented 9 years ago

As a high level point, I really hope we can push for removing the concept of an abstract syntax tree and generate a semantic tree directly.

lucaswoj commented 9 years ago

Done my first review. Sorry about the zoo.

maxqchen commented 9 years ago

Logic looks good (AFAIK anyways, still a bit fuzzy on the whole thing), just a few minor nit picky things :bike:.

mtrberzi commented 9 years ago

Fantastic first round of review, everyone! Thanks again. New commits are available.

coveralls commented 9 years ago

Coverage Status

Coverage decreased (-20.15%) when pulling 8786e671a3df40aa900adca2059bc1943f013b7b on mtrberzi:primitive-definitions into 3d9b44aacf7930623630fcccd7d50a5be8ae75b9 on manifold-lang:master.