public GrammarActionArgument(object val)
 {
     _val = val;
     _key = "";
     Type = GrammarActionArgumentType.Literal;
 }
 public GrammarActionArgument(Func <Stack <ParserStackEntry>, object> func)
 {
     _val = func;
     _key = "";
     Type = GrammarActionArgumentType.Function;
 }
 public GrammarActionArgument(int val, string key)
 {
     _val = val;
     _key = key;
     Type = GrammarActionArgumentType.Stack;
 }