> Yep, PPI worked
Not sure if you got my point.
PPI is a static parser, this (should?) mean if it sees at "compile" time something like ...
- use Try::Tiny;
- it won't try to search @INC
- to require the first .../Try/Tiny.pm
- run Try::Tiny->import()
- "export" try (&) {...} (among others)
- with an accurate prototype
to keep on parsing correctly if it encounters a try {...}
I haven't tested this, but I bet you will need to patch PPI to handle this.°
At least if you want to construct a decent Perl dialect and not just some interesting demos.
I say dialect because it's very hard to achieve full compatibility.
OTOH once your parser and compiler really work, you can try to transpile it into your target languages to bootstrap a stand-alone dialect which is consistent in all those languages.
At least in theory...
updates
°) There is a whole bunch of more things happening at compile-time...
|