<xpp>
<!--
A sample program
written by Kimmie using text representation of Superx++ code.
-->
<xout processcode="true">
<eval>
<expr>"Hello" + "Man"</expr>
</eval>
</xout>
<class name="XObject" inherit="">
<construct>
<scope type="public">
<MyObjectNode>200</MyObjectNode>
</scope>
</construct>
</class>
<class name="XPlant" inherit="XObject">
<construct>
<scope type="public">
<MyNode>10</MyNode>
</scope>
<scope type="protected">
<MyProt/>
</scope>
</construct>
<scope type="public">
<var type="string" name="sName">Kimmie</var>
<var type="int" name="iAge">5</var>
<arr type="int" name="iArr[3]">{3, 4, 5}</arr>
<func type="int" name="GetNum">
<parm type="int" name="iVal" pass="val"/>
<body>
<return>
<eval>
<parm type="int" name="Parm0">
<eval object="this" member="iAge"/>
</parm>
<parm type="int" name="Parm1">
<eval object="iVal"/>
</parm>
<expr>Parm0 + Parm1</expr>
</eval>
</return>
</body>
</func>
<func type="void" name="constructor">
<body>
<xout
processcode="true">\r\nIn constructor plain</xout>
</body>
</func>
<func type="void" name="constructor">
<parm type="int" name="i" pass="val"/>
<body>
<eval object="this" member="iAge">
<eval>
<parm type="int" name="Parm0">
<eval object="this" method="GetNum">
<parm name="iVal">
<eval object="i"/>
</parm>
</eval>
</parm>
<expr>Parm0</expr>
</eval>
</eval>
<eval object="this" member="iAge">
<eval>
<parm type="int" name="Parm0">
<eval object="i"/>
</parm>
<expr>Parm0</expr>
</eval>
</eval>
<xout
processcode="true">\r\nIn constructor\r\ni = </xout>
<xout
processcode="true">
<eval object="i"/>
</xout>
</body>
</func>
<func type="int" name="GetAge">
<parm type="int" name="iID" pass="ref"/>
<parm type="int" name="x" pass="val"/>
<body>
<return>
<eval object="this" member="iAge"/>
</return>
</body>
</func>
<var type="int" name="iVar"/>
<var type="string" name="sVar">Sahondra</var>
</scope>
</class>
<!-- The MySimpleNode
object is an object based on two different classes -->
<node class="XPlant,
XObject" name="MySimpleNode" processcode="true" construct="true">
<parm name="i">
<eval object="MySimpleNode" method="GetNum">
<parm name="iVal">78</parm>
</eval>
</parm>
<cats>5</cats>
</node>
</xpp>