<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>