protected virtual PoolDefinitionNode ParsePoolDefinition()
        {
            // PARSE: <poolDefinition> ::= ’Pool’ ’named:’ <poolNameString> <elementSeparator>
            Token       token = this.GetNextTokenxx();
            StringToken name  = token as StringToken;

            if (name == null)
            {
                PoolDefinitionNode result = new PoolDefinitionNode();
                this.ReportParserError(result, "Missing pool name.", token);
                return(result);
            }
            name  = this.VerifyIdentifierString(name, "Pool name not an identifier.");
            token = this.GetNextTokenxx();
            if (!(token is EofToken))
            {
                PoolDefinitionNode result = new PoolDefinitionNode();
                this.ReportParserError(result, "Unexpected code found after pool name.", token);
                return(result);
            }
            return(new PoolDefinitionNode(name));
        }
 /// <summary>
 /// Visits the Pool Definition node.
 /// </summary>
 /// <param name="node">The node to visit.</param>
 public override bool VisitPoolDefinition(PoolDefinitionNode node)
 {
     if (node.PoolName == null)
         return false;
     return true;
 }
 /// <summary>
 /// Visits the Pool Definition node.
 /// </summary>
 /// <param name="node">The node to visit.</param>
 public virtual TResult VisitPoolDefinition(PoolDefinitionNode node)
 {
     return(default(TResult)); // The default naive implementation
 }