On Wed, Nov 30, 2005 at 11:04:43AM -0800, Chip Salzenberg wrote: : On Wed, Nov 30, 2005 at 12:49:13PM -0500, Joshua Juran wrote: : > On Nov 29, 2005, at 5:16 PM, Chip Salzenberg wrote: : > >Excellent. Now if only I knew a good language for text filters... : > : > How about sed or awk? : : Hm. If only we had a pir2xml, I could use XSLT.
Well, if you can come up with a PIR -> PIL, and Autrijus can come up with a PIL to Perl 5, then we're home free, because I can translate Perl 5 to XML. Here's "hello world", for instance: <op_leave seq="0 -> DONE" targ="1" flags="VOID,KIDS,PARENS" private="REFCOUNTED" refcnt="1"> <op_enter seq="1 -> 2" /> <op_null seq="0 -> (2)" flags="VOID"> <madprops> <mad_sv key="p" val=""/> <mad_sv key="_" val="#!./perl "/> </madprops> </op_null> <op_nextstate seq="2 -> 3" flags="VOID" line="3" package="main"> <madprops> <mad_sv key=";" val=";"/> <mad_sv key="#" val=" "/> </madprops> </op_nextstate> <op_print seq="5 -> 6" flags="SCALAR,KIDS"> <madprops> <mad_sv key="o" val="print"/> </madprops> <op_pushmark seq="3 -> 4" flags="SCALAR" /> <op_const seq="4 -> 5" flags="SCALAR" PV="Hello, world! "> <madprops> <mad_op key="F"> <op_stringify seq="0 -> DONE" targ="1" flags="SCALAR,KIDS"> <madprops> <mad_sv key="o" val=""Hello, world!\n""/> <mad_sv key="_" val=" "/> <mad_sv key="(" val=""/> <mad_sv key=")" val=""/> </madprops> <op_null seq="0 -> (7)" was="pushmark" flags="SCALAR" /> <op_const seq="7 -> 8" flags="SCALAR" PV="Hello, world! "> <madprops> <mad_sv key="X" val="Hello, world!\n"/> </madprops> </op_const> </op_stringify> </mad_op> </madprops> </op_const> </op_print> <op_null seq="0 -> (6)" flags="VOID" /> </op_leave> Hope this helps Larry