00001 using System; 00002 using System.Collections.Generic; 00003 using System.Linq; 00004 using System.Text; 00005 00006 namespace GEP.Core.Common 00007 { 00011 [Serializable] 00012 public abstract class Symbol 00013 { 00014 protected string _name; 00018 public string Name 00019 { 00020 get 00021 { 00022 return _name; 00023 } 00024 } 00025 00026 protected int _n_Parameters; 00031 public int N_Parameters 00032 { 00033 get 00034 { 00035 return _n_Parameters; 00036 } 00037 } 00038 00043 public Symbol(string name) 00044 : this(0, name) { } 00045 00051 public Symbol(int n_Parameters, string name) 00052 { 00053 _n_Parameters = n_Parameters; 00054 _name = name; 00055 } 00056 00057 public override string ToString() 00058 { 00059 return _name; 00060 } 00061 00066 public Symbol(Symbol symbol) 00067 { 00068 _name = symbol._name; 00069 _n_Parameters = symbol._n_Parameters; 00070 } 00071 00076 public abstract Symbol Clone(); 00077 } 00078 }