/// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="identifier">the value of the identifier</param>
 /// <param name="position">the position of the node</param>
 public IdentifierNode(string identifier, Position position)
     : base(position)
 {
     _identifier = identifier;
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="literal">the literal value of the node</param>
 /// <param name="position">the position of the node</param>
 public StringNode(string literal, Position position)
     : base(position)
 {
     _literal = literal;
 }
 /// <summary>
 /// Custom constructor using position.
 /// </summary>
 /// <param name="position"></param>
 protected ExpressionNode(Position position)
     : base(position)
 {
 }
 /// <summary>
 /// Default constructor.
 /// </summary>
 /// <param name="position">the position of the node</param>
 protected LateBindingNode(Position position)
 {
     _position = position;
 }