<?xml version='1.0'?>
<expr>
- <defun fname="temp">
- <args>
- <symbol>xx</symbol><variable vname="y"/>
- </args>
+ <defun fname="factorial">
+ <args><symbol>x</symbol></args>
<body>
- <add><eval><variable vname="xx"/></eval><variable vname="y"/></add>
+ <if><lt><variable vname="x"/><integer>2</integer></lt>
+ <variable vname="x"/>
+ <mul>
+ <funcall fname="factorial">
+ <sub><variable vname="x"/><integer>1</integer></sub>
+ </funcall>
+ <variable vname="x"/>
+ </mul>
+ </if>
</body>
</defun>
- <set>
- <symbol>x</symbol>
- <integer>10</integer>
- </set>
- <funcall fname="temp">
- <variable vname="x"/>
- <integer>1</integer>
- </funcall>
+ <set><symbol>x</symbol><integer>10</integer></set>
+ <funcall fname="factorial"><variable vname="x"/></funcall>
</expr>