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

index 610e055..714c61a 100644 (file)
@@ -212,7 +212,7 @@ namespace System.Xml.Expression
              if (! specialp)
                foreach (Xex a in args)
                  if (a.Eval (domain) == null)
-                   throw new Exception ("evaled to null");
+                   throw new Exception (a + ":evaled to null");
              result = builtin (args, domain);
              Console.WriteLine (result);
              return result;
@@ -243,7 +243,18 @@ namespace System.Xml.Expression
 
       public override string ToString ()
       {
-       return name;
+       string str;
+
+       if (builtin != null)
+         str = name;
+       else
+         {
+           str = "(" + name;
+           foreach (Xex a in lambda.args)
+             str += " " + a;
+           str += ")";
+         }
+       return str;
       }
     }
 
@@ -274,7 +285,7 @@ namespace System.Xml.Expression
 
       public abstract bool ValueP (object value);
 
-      public override string ToString () { return name + "(" + type + ")"; }
+      public override string ToString () { return name + "=" + val; }
     }
 
     internal class VarInt : Variable
diff --git a/xex.xml b/xex.xml
index 6f84e29..05425e6 100644 (file)
--- a/xex.xml
+++ b/xex.xml
@@ -2,7 +2,7 @@
 <expr>
   <defun fname="temp">
     <args>
-      <const type="symbol">x</const><const type="symbol">y</const>
+      <variable vname="x"/><variable vname="y"/>
     </args>
     <body>
       <add><variable vname="x"/><variable vname="y"/></add>