[v2] Implementation plan

4 views
Skip to first unread message

Josh Petrie

unread,
Nov 18, 2010, 9:49:20 PM11/18/10
to slimdx...@googlegroups.com
Washu bugged me about writing a "plan," so, here we go.

Mike is working on refactoring the parser to use, I believe, ANTLR. He's going to do this in such a fashion that the parse tree is kept in-memory and we will feed it directly to the code generator and the native thunk generator.

I'm currently working on making sure I completely understand how the native thunks operate and pulling that code out a little bit so it's clearly delineated from the rest of the generator code. I also believe I've found a way to alleviate the need for the native thunks to be generated at runtime.

I would like to be able to take the native thunk assemblies for each product assembly and merge them together -- I don't thing ilmerge is an option since we can't redist it, so we'd have to compile everything to modules and use al.exe. This sounds like Washu's sort of thing to me. Hint hint.

At some point we'll need to take a look at the generator itself, and how it produces code from Mike's in-memory AST. Also the templating engine. 

-- jmp

Richard

unread,
Nov 18, 2010, 11:25:46 PM11/18/10
to slimdx...@googlegroups.com

In article <AANLkTi=TJYiz5weeO2YLn1WzU...@mail.gmail.com>,
Josh Petrie <josh....@gmail.com> writes:

> Mike is working on refactoring the parser to use, I believe, ANTLR.

Any reason not to use Spirit from Boost? I've been exploring it quite
a bit lately and really like it. I looked at ANTLR at one point and
it felt really awkward. IIRC, it requires Java to generate the
parser.
--
"The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download
<http://legalizeadulthood.wordpress.com/the-direct3d-graphics-pipeline/>

Legalize Adulthood! <http://legalizeadulthood.wordpress.com>

Michael Popoloski

unread,
Nov 18, 2010, 11:27:47 PM11/18/10
to slimdx...@googlegroups.com
Yeah, I decided not to use ANTLR for that reason. I'm going with GOLD though because we want a C# target, and boost::spirit definitely doesn't have a managed entry point.


--
You received this message because you are subscribed to the Google Groups "slimdx-devel" group.
To post to this group, send email to slimdx...@googlegroups.com.
To unsubscribe from this group, send email to slimdx-devel...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/slimdx-devel?hl=en.


Richard

unread,
Nov 19, 2010, 12:54:21 PM11/19/10
to slimdx...@googlegroups.com

In article <AANLkTikZRY0Gv1fGnswA2...@mail.gmail.com>,
Michael Popoloski <mike.po...@gmail.com> writes:

> Yeah, I decided not to use ANTLR for that reason. I'm going with GOLD though
> because we want a C# target, and boost::spirit definitely doesn't have a
> managed entry point.

That makes sense.

Reply all
Reply to author
Forward
0 new messages