/// <summary>
 /// Visits the Pool Variable Definition node.
 /// </summary>
 /// <param name="node">The node to visit.</param>
 public override bool VisitPoolVariableDefinition(PoolVariableDefinitionNode node)
 {
     if (node.PoolName == null)
         return false;
     if (node.PoolVariableName == null)
         return false;
     return true;
 }
        protected virtual PoolVariableDefinitionNode ParsePoolVariableDefinition(IdentifierToken poolName)
        {
            // PARSE: <poolVariableDefinition> ::= <poolName> ’variable:’ <poolVariableNameString> <elementSeparator>
            PoolVariableDefinitionNode result = this.CreatePoolVariableDefinitionNode(poolName);
            Token       token = this.GetNextTokenxx();
            StringToken name  = token as StringToken;

            if (name == null)
            {
                this.ReportParserError(result, "Missing pool variable name.", token);
                return(result);
            }
            name = this.VerifyIdentifierString(name, "Pool variable name not an identifier.");
            result.PoolVariableName = name;
            token = this.GetNextTokenxx();
            if (!(token is EofToken))
            {
                this.ReportParserError(result, "Unexpected code found after pool variable name.", token);
            }
            return(result);
        }
 /// <summary>
 /// Visits the Pool Variable Definition node.
 /// </summary>
 /// <param name="node">The node to visit.</param>
 public virtual TResult VisitPoolVariableDefinition(PoolVariableDefinitionNode node)
 {
     return(default(TResult)); // The default naive implementation
 }