public GrammarDefinition(string name, GrammarExpression rule, ComputeResultDelegate createNode)
     : base(name)
 {
     Rule = rule;
     ComputeResult = createNode;
 }
 public GrammarDefinition(string name, GrammarExpression rule)
     : this(name, rule, node => node.HasChildren ? node.Children[0].Result : null)
 {
 }