<xpp>
<!-- define a class called XObj -->
<class name="XObj" inherit="">
<construct/>
<scope type="public">
<!-- define a member array called Arr -->
<arr type="int" name="Arr[3]">{5,6,7}</arr>
<func type="void" name="constructor">
<body>
<arr type="string" name="Names[3]">Jack,Jimmie,John</arr>
<var type="int" name="x"/>
<!-- loop through the elements of the Names[] array -->
<for>
<init>
<eval object="x">
<eval>
<expr>0</expr>
</eval>
</eval>
</init>
<cond>
<eval>
<parm type="int" name="Parm0">
<eval object="x"/>
</parm>
<expr>Parm0 <= 2</expr>
</eval>
</cond>
<step>
<eval object="x">
<eval>
<parm type="int" name="Parm0">
<eval object="x"/>
</parm>
<expr>Parm0 + 1</expr>
</eval>
</eval>
</step>
<!-- Write some text to the output stream -->
<xout processcode="true">
<eval>
<parm type="int" name="Parm0">
<eval object="x"/>
</parm>
<parm type="int" name="Parm1">
<eval object="this" member="Arr">
<index>
<eval object="x"/>
</index>
</eval>
</parm>
<expr>"\r\nIn constructor this.Arr[" + Parm0 + "] = " + Parm1</expr>
</eval>
</xout>
<xout processcode="true">
<eval>
<parm type="int" name="Parm0">
<eval object="x"/>
</parm>
<parm type="string" name="Parm1">
<eval object="Names">
<index>
<eval object="x"/>
</index>
</eval>
</parm>
<expr>"\r\nIn constructor Names[" + Parm0 + "] = " + Parm1</expr>
</eval>
</xout>
</for>
</body>
</func>
</scope>
</class>
<!-- define an array called a -->
<arr type="int" name="a[3]">10,20,30</arr>
<var type="int" name="x"/>
<!-- loop through the elements of a -->
<for>
<init>
<eval object="x">
<eval>
<expr>0</expr>
</eval>
</eval>
</init>
<cond>
<eval>
<parm type="int" name="Parm0">
<eval object="x"/>
</parm>
<expr>Parm0 <= 2</expr>
</eval>
</cond>
<step>
<eval object="x">
<eval>
<parm type="int" name="Parm0">
<eval object="x"/>
</parm>
<expr>Parm0 + 1</expr>
</eval>
</eval>
</step>
<xout processcode="true">
<eval>
<parm type="int" name="Parm0">
<eval object="x"/>
</parm>
<parm type="int" name="Parm1">
<eval object="a">
<index>
<eval object="x"/>
</index>
</eval>
</parm>
<expr>"\r\na[" + Parm0 + "] = " + Parm1</expr>
</eval>
</xout>
</for>
<!-- instantiate an object MyObj of class XObj -->
<node name="MyObj" class="XObj" />
<!-- loop through the elements of the Arr array of the MyObj object -->
<for>
<init>
<eval object="x">
<eval>
<expr>0</expr>
</eval>
</eval>
</init>
<cond>
<eval>
<parm type="int" name="Parm0">
<eval object="x"/>
</parm>
<expr>Parm0 <= 2</expr>
</eval>
</cond>
<step>
<eval object="x">
<eval>
<parm type="int" name="Parm0">
<eval object="x"/>
</parm>
<expr>Parm0 + 1</expr>
</eval>
</eval>
</step>
<xout processcode="true">
<eval>
<parm type="int" name="Parm0">
<eval object="x"/>
</parm>
<parm type="int" name="Parm1">
<eval object="MyObj" member="Arr">
<index>
<eval object="x"/>
</index>
</eval>
</parm>
<expr>"\r\nMyObj.Arr[" + Parm0 + "] = " + Parm1</expr>
</eval>
</xout>
</for>
</xpp>