namespace NewLanguage { public struct ParseNode { NodeBase _node; public SymbolNode symbol { get { return (SymbolNode) _node; } set { _node = value; } } public string str; public ExprNode expr { get { return (ExprNode) _node; } set { _node = value; } } public TypeSpecNode typespec { get { return (TypeSpecNode) _node; } set { _node = value; } } public ExprListNode exprlist { get { return (ExprListNode) _node; } set { _node = value; } } public DeclarationNode declaration { get { return (DeclarationNode) _node; } set { _node = value; } } } }