*** empty log message ***
authorhanda <handa>
Tue, 15 Sep 2009 13:08:46 +0000 (13:08 +0000)
committerhanda <handa>
Tue, 15 Sep 2009 13:08:46 +0000 (13:08 +0000)
XmlExpr.cs
xex.xml

index f72a72e..5a696ae 100644 (file)
@@ -231,7 +231,7 @@ namespace System.Xml.Expression
                Variable var = domain.GetVar (name);
 
                if (isdirect)
-                 domain.Bind (var, args[i].val);
+                 domain.Bind (var, args[i]);
                else
                  domain.Bind (var, args[i].Eval (domain));
              }
@@ -505,11 +505,11 @@ namespace System.Xml.Expression
       internal Function Defun (XmlNode node)
       {
        Name name = node.Attributes[Nfname].Value;
-       Function.Lambda lambda;
+       Function func;
 
-       if (! functions.TryGetValue (name, out lambda))
-         lambda = RegisterFunction (node);
-       lambda.Setup (node, this);
+       if (! functions.TryGetValue (name, out func))
+         func = RegisterFunction (node);
+       ((Function.Lambda) func).Setup (node, this);
        return func;
       }
 
@@ -522,7 +522,6 @@ namespace System.Xml.Expression
        if (node != null)
          {
            Name type = node.Name;
-           string val = node.Value;
            XmlNodeList range_list = null;
            int nranges = 0;
 
@@ -980,7 +979,7 @@ namespace System.Xml.Expression
 
     private static object eval_clause (Xex[] args, Domain domain)
     {
-      return args[0].Eval (domain);
+      return ((Xex) args[0].val).Eval (domain);
     }
 
     private static object progn_clause (Xex[] args, Domain domain)
diff --git a/xex.xml b/xex.xml
index 5d1c839..eac6b92 100644 (file)
--- a/xex.xml
+++ b/xex.xml
@@ -9,10 +9,14 @@
     </body>
   </defun>
 
-  <set>
-    <symbol>x</symbol>
+  <defvar vname="x">
     <integer>10</integer>
-  </set>
+    <possible-value>
+      <integer>10</integer>
+      <range><integer>1</integer><integer>4</integer></range>
+    </possible-value>
+  </defvar>
+
   <temp>
     <variable vname="x"/>
     <integer>1</integer>