<?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>
- <defvar vname="x">
- <integer>10</integer>
- <possible-value>
- <integer>10</integer>
- <range><integer>1</integer><integer>4</integer></range>
- </possible-value>
- </defvar>
-
- <temp>
- <variable vname="x"/>
- <integer>1</integer>
- </temp>
+ <set><symbol>x</symbol><integer>10</integer></set>
+ <funcall fname="factorial"><variable vname="x"/></funcall>
</expr>