private TextualTable parseCreateTable() { // table string table = expectToken(TokenType.Identifier).Value; TextualCreateTableOperation createTable = new TextualCreateTableOperation(database, table); // WITH column1, column2, ... expectToken(TokenType.Identifier, "WITH"); TextualCreateColumnOperation createColumn = new TextualCreateColumnOperation(createTable.Result); foreach (var column in parseIdentifierList()) { createColumn.Execute(column); } return(createTable.Result); }
private TextualTable parseCreateColumn() { // column string column = expectToken(TokenType.Identifier).Value; expectToken(TokenType.Identifier, "IN"); // IN table string table = expectToken(TokenType.Identifier).Value; TextualCreateColumnOperation createColumn = new TextualCreateColumnOperation(database.GetTable(table)); // AT index if (acceptToken(TokenType.Identifier, "AT")) { int pos = Convert.ToInt32(expectToken(TokenType.Number).Value); createColumn.Execute(column, pos); } else { createColumn.Execute(column); } return(createColumn.Result); }