*** empty log message ***
[m17n/m17n-lib-cs.git] / xex.xml
1 <?xml version='1.0'?>
2 <expr xmlns="http://www.m17n.org/MIM">
3   <defun fname="factorial">
4     <args><fixed vname="x"/></args>
5     <if><lt><varref vname="x"/><integer>2</integer></lt>
6       <varref vname="x"/>
7       <mul>
8         <varref vname="x"/>
9         <funcall fname="factorial">
10           <sub vname="x"><integer>1</integer></sub>
11         </funcall>
12       </mul>
13     </if>
14   </defun>
15
16   <defun fname="temp">
17     <args-unevalled>
18       <fixed vname="x"/>
19       <optional vname="y"/>
20       <rest vname="rest"/>
21     </args-unevalled>
22     <eval><varref vname="x"/></eval>
23   </defun>
24
25   <defun fname="looptest">
26     <args-unevalled><fixed vname="l"/></args-unevalled>
27     <loop><loop>
28       <foreach vname="term"><varref vname="l"/>
29         <eval><varref vname="term"/></eval>
30       </foreach>
31     </loop></loop>
32     <symbol>looptest-finished</symbol>
33   </defun>
34
35   <set vname="x"><integer>10</integer></set>
36   <set vname="str"><string>ABC</string></set>
37   <append>
38     <catch><symbol>tag</symbol>
39       <funcall fname="looptest">
40         <list>
41           <set vname="i"><integer>0</integer></set>
42           <throw><symbol>tag</symbol><symbol>returned</symbol></throw>
43           <add vname="i"><integer>1</integer></add>
44           <varref vname="i"/>
45         </list>
46       </funcall>
47     </catch>
48     <funcall fname="factorial"><varref vname="x"/></funcall>
49     <ins vname="str"><integer>1</integer><string>123</string></ins>
50     <del vname="str"><integer>2</integer><integer>4</integer></del>
51     <cond>
52       <list><gt><integer>0</integer><integer>1</integer></gt>
53         <string>1st</string></list>
54       <list><integer>1</integer>
55         <string>2nd</string></list>
56     </cond>
57     <foreach vname="a">
58       <list><integer>10</integer><integer>11</integer></list>
59       <funcall fname="add" vname="x"><varref vname="a"/></funcall>
60     </foreach>
61     <varref vname="x"/>
62     <eval><varref vname="x"/></eval>
63     <eval>
64       <eval>
65         <quote><add><varref vname="x"/><integer>1</integer></add></quote>
66       </eval>
67     </eval>
68     <concat><integer>?a</integer><integer>?b</integer></concat>
69     <quote><add><varref vname="x"/><integer>1</integer></add></quote>
70   </append>
71 </expr>