static void Main(string[] args) { //работаем с аргументами в интерпретаторе var context = new Context(args); var list = new List <AbstractExpression>(); TerminalExpression ob1 = new TerminalExpression(); NonterminalExpression ob2 = new NonterminalExpression(); list.Add(ob1); list.Add(ob2); foreach (AbstractExpression exp in list) { exp.Interpret(context); }//terminal exp. have key for collection with objects commands //Nonterminal expression have arguments for processing data in this command FuncCreateDB createDB = new FuncCreateDB();//make object CreateTable createT = new CreateTable(); FuncSelect select = new FuncSelect(); Update Upd = new Update(); Dictionary <string, ICommand> ListCommand = new Dictionary <string, ICommand>();//make collection ListCommand.Add("helpme", new OutInfo()); ListCommand.Add("CreateDB", new FuncCreateDBCommand(createDB, ob2));//distribution him in collection and add key for him ListCommand.Add("CreateTable", new CreateTableCommand(createT, ob2)); ListCommand.Add("Select", new FuncSelectCommand(select, ob2)); ListCommand.Add("Update", new UpdateCommand(Upd, ob2)); Set set = new Set(); set.SetCommand(ListCommand[ob1.TerInfo]); set.Processing(); ClearExcel.Clear_all(); Console.ReadKey(); }
public FuncSelectCommand(FuncSelect m, NonterminalExpression arg) { argOb = arg; select = m; }