*** 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><varref vname="x"/></fixed></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="looptest">
17     <args><fixed><varref vname="l"/></fixed></args>
18     <loop><loop>
19       <foreach vname="term"><varref vname="l"/>
20         <eval><varref vname="term"/></eval>
21       </foreach>
22     </loop></loop>
23     <symbol>looptest-finished</symbol>
24   </defun>
25
26   <defmacro fname="temp">
27     <args><fixed><varref vname="x"/></fixed></args>
28     <if>
29       <lt><eval><varref vname="x"/></eval><integer>10</integer></lt>
30       <varref vname="x"/>
31     </if>
32   </defmacro>
33
34   <set vname="x"><integer>10</integer></set>
35   <set vname="str"><string>ABC</string></set>
36   <append>
37     <catch><symbol>tag</symbol>
38       <funcall fname="looptest">
39         <list>
40           <set vname="i"><integer>0</integer></set>
41           <throw><symbol>tag</symbol><symbol>returned</symbol></throw>
42           <add vname="i"><integer>1</integer></add>
43           <varref vname="i"/>
44         </list>
45       </funcall>
46     </catch>
47     <funcall fname="factorial"><varref vname="x"/></funcall>
48     <ins vname="str"><integer>1</integer><string>123</string></ins>
49     <del vname="str"><integer>2</integer><integer>4</integer></del>
50     <cond>
51       <list><gt><integer>0</integer><integer>1</integer></gt>
52         <string>1st</string></list>
53       <list><integer>1</integer>
54         <string>2nd</string></list>
55     </cond>
56     <foreach vname="a">
57       <list><integer>10</integer><integer>11</integer></list>
58       <funcall fname="add" vname="x"><varref vname="a"/></funcall>
59     </foreach>
60     <varref vname="x"/>
61     <eval><varref vname="x"/></eval>
62     <eval>
63       <eval>
64         <quote><add><varref vname="x"/><integer>1</integer></add></quote>
65       </eval>
66     </eval>
67     <concat><integer>?a</integer><integer>?b</integer></concat>
68     <quote><add><varref vname="x"/><integer>1</integer></add></quote>
69     <integer>100</integer>
70     <temp><add vname="y"><integer>5</integer></add></temp>
71   </append>
72 </expr>