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&#10;&#10;"/>
        </madprops>
    </op_null>
    <op_nextstate seq="2 -> 3" flags="VOID"
            line="3"
            package="main">
        <madprops>
            <mad_sv key=";" val=";"/>
            <mad_sv key="#" val="&#10;"/>
        </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!&#10;">
            <madprops>
                <mad_op key="F">
                    <op_stringify seq="0 -> DONE" targ="1" flags="SCALAR,KIDS">
                        <madprops>
                            <mad_sv key="o" val="&#34;Hello, world!\n&#34;"/>
                            <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!&#10;">
                            <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

Reply via email to