On Fri, Jul 28, 2006 at 08:43:27AM -0700, Kevin Tew wrote:
> 
> What bullet items will the TGE refactor consist of?

Keeping in mind that the "TGE refactor" really also includes refactoring
PAST and POST, we have...

> * better command-line arg processor, like getopts, but returning a capture

Yes.

> * optimization levels based on level, group related optimizations which 
> may occur during different transform steps

Eventually this will happen, but I don't know if it'll be in the first
round of refactoring.

> * support for languages other than PIR
> * generic PAST/POST nodes for short-circut ands and ors
> * basic conditional and case constructs, there exists a common semantic 
> for if/else, it should be represented in a common way in PAST
> * for and while loop generation

Yes, yes, yes, and yes.

> * label management.
> * scope management.

Scope management definitely in this first refactor; label management may
wait slightly (or I'll just invite someone else to do it :-).

> *38761 <http://rt.perl.org/rt3/Ticket/Display.html?id=38761>*         *[TODO] 
> TGE, precompile more <http://rt.perl.org/rt3/Ticket/Display.html?id=38761>*

I'll wait and see on this one.

>       [EMAIL PROTECTED]
> *39831 <http://rt.perl.org/rt3/Ticket/Display.html?id=39831>*         *TGE - 
> Needs more diagnostics on failure. 
> <http://rt.perl.org/rt3/Ticket/Display.html?id=39831>*

Definitely.

>       [EMAIL PROTECTED]
> *39854 <http://rt.perl.org/rt3/Ticket/Display.html?id=39854>*         
> *[PATCH] 
> adds preamble section to tge grammar to allow for includes and global 
> defines <http://rt.perl.org/rt3/Ticket/Display.html?id=39854>*

I'm working this one out.  There *will* be a way to set pragmas (e.g.,
so that the :language(...) modifier isn't specified on every transform).

>       [EMAIL PROTECTED]
> *39897 <http://rt.perl.org/rt3/Ticket/Display.html?id=39897>*         
> *[PATCH] 
> TGE - add basic syntax error 
> <http://rt.perl.org/rt3/Ticket/Display.html?id=39897>*
>       [EMAIL PROTECTED]
> *39905 <http://rt.perl.org/rt3/Ticket/Display.html?id=39905>*         *[TODO] 
> TGE - line number reporting. 
> <http://rt.perl.org/rt3/Ticket/Display.html?id=39905>*

We'll definitely add better line number reporting.

>       [EMAIL PROTECTED]
> *39913 <http://rt.perl.org/rt3/Ticket/Display.html?id=39913>*         *[BUG] 
> TGE - Can't use } in the transform definitions. 
> <http://rt.perl.org/rt3/Ticket/Display.html?id=39913>*

In discussions with Allison at OSCON, I noted that we needed to reconsider
the syntax slightly.  We don't want TGE to have to know how to parse every
language, and it may not be reasonable to expect every compiler to expose
a parser.  So, if we're going to allow other languages in the transform
bodies, we may want a "hereis" or podly {{...}}, {{{...}}} syntax to
delimit the transform bodies.  At the moment I'm leaning towards the {{...}}
form, if only because PGE is already using it.

Pm

Reply via email to