projects
/
m17n
/
m17n-lib-cs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
*** empty log message ***
[m17n/m17n-lib-cs.git]
/
XmlExpr.cs
diff --git
a/XmlExpr.cs
b/XmlExpr.cs
index
4646dec
..
2b4481d
100644
(file)
--- a/
XmlExpr.cs
+++ b/
XmlExpr.cs
@@
-633,6
+633,7
@@
namespace System.Xml.Expression
public Domain (Domain parent, object context)
{
public Domain (Domain parent, object context)
{
+ termtypes = new Dictionary<Symbol, TermType> (parent.termtypes);
functions = new Dictionary<Symbol, Function> (parent.functions);
variables = new Dictionary<Symbol, Variable> (parent.variables);
this.context = context;
functions = new Dictionary<Symbol, Function> (parent.functions);
variables = new Dictionary<Symbol, Variable> (parent.variables);
this.context = context;
@@
-693,9
+694,9
@@
namespace System.Xml.Expression
}
}
}
}
- public void DefType (Symbol name, NewObject new_object)
+ public void DefTerm (Symbol name, TermParser parser)
{
{
- termtypes[name] = new TermType (name, new_object);
+ termtypes[name] = new TermType (name, parser);
}
public void DefSubr (Builtin builtin, string str, bool setvar,
}
public void DefSubr (Builtin builtin, string str, bool setvar,
@@
-992,7
+993,7
@@
namespace System.Xml.Expression
static Xexpression ()
{
static Xexpression ()
{
- basic.DefType ("funcall", Funcall.New);
+ basic.DefTerm ("funcall", Funcall.parser);
basic.DefSubr (Fset, "set", true, 1, 1, "=");
basic.DefSubr (Fnot, "not", false, 1, 1, "!");
basic.DefSubr (Fset, "set", true, 1, 1, "=");
basic.DefSubr (Fnot, "not", false, 1, 1, "!");
@@
-1539,17
+1540,17
@@
namespace System.Xml.Expression
return (args.Length == 1 ? Zero : args[1]);
}
return (args.Length == 1 ? Zero : args[1]);
}
- public delegate TermValue NewObject (Domain domain, XmlNode node);
+ public delegate TermValue TermParser (Domain domain, XmlNode node);
public class TermType
{
public readonly Symbol type;
public class TermType
{
public readonly Symbol type;
- internal readonly NewObject New;
+ internal readonly TermParser parser;
- public TermType (Symbol type, NewObject new_object)
+ public TermType (Symbol type, TermParser parser)
{
this.type = type;
{
this.type = type;
- New = new_object;
+ this.parser = parser;
}
}
}
}
@@
-1591,7
+1592,7
@@
namespace System.Xml.Expression
vari = domain.GetVar (vname, true);
}
vari = domain.GetVar (vname, true);
}
- internal static TermValue New (Domain domain, XmlNode node)
+ internal static TermValue parser (Domain domain, XmlNode node)
{
Symbol fname = node.Name;
Symbol vname = Nnull;
{
Symbol fname = node.Name;
Symbol vname = Nnull;
@@
-1684,9
+1685,9
@@
namespace System.Xml.Expression
TermType term_type;
if (domain.termtypes.TryGetValue (name, out term_type))
TermType term_type;
if (domain.termtypes.TryGetValue (name, out term_type))
- objval = term_type.New (domain, node);
+ objval = term_type.parser (domain, node);
else
else
- objval = Funcall.New (domain, node);
+ objval = Funcall.parser (domain, node);
}
}
}
}
}
}