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