void Parser::value_list() { match("NUM"); if (lookahead == ",") { match(","); value_list(); } }
TEST_F( ValueList_TEST , ITechConstructorCalled__ValueListCreated ) { std::shared_ptr< ITech > itech; ValueList value_list( String( "Test Model" ) , mock_method__ , list_size__ , signal__ , itech ); }
static std::string name() { std::string value_list("one of ["); for (unsigned i = 0; i < Enum::MAX; ++i) { value_list += Enum::get_string( i ); if ( i + 1 < Enum::MAX ) value_list += ", "; } value_list += "]"; return value_list; }
void Parser::insert_stmt() { match("INSERT"); match("INTO"); match("ID"); match("("); column_list(); match(")"); match("VALUES"); match("("); value_list(); match(")"); match(";"); }
const Insert &insert_stmt() { if (lookahead == INSERT) { // insert_stmt -> INSERT INTO id L_PAREN column_list R_PAREN // VALUES L_PAREN value_list R_PAREN SEMICOLON match(INSERT); match(INTO); string table_id = id(); match(L_PAREN); vector<string> columns; column_list(columns); match(R_PAREN); vector<int> values; value_list(values); match(R_PAREN); match(SEMICOLON); return Insert(table_id, columns, values); } else { throw ParseError("Syntax error"); } }
int main(int argc, char* argv[]) { clock_t tick = clock(); std::list<std::string> names_list({"jcheng", "empty", "hello"}); names_list.push_back("push_back"); std::list<std::string>::iterator iter = names_list.begin(); for (; iter != names_list.end(); ++iter){ std::cout << *iter << " "; } std::cout << std::endl; std::list<std::string> value_list(10, "abc"); for (auto itr: value_list){ std::cout << itr << " "; } std::cout << std::endl; int sequeue_nums[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; std::list<int> num_list(sequeue_nums, sequeue_nums + 10); for (auto itr = num_list.begin(); itr != num_list.end(); ++itr){ std::cout << *itr << " "; } std::cout << std::endl; std::list<char> alph_list; for (char ch = 'a'; ch <= 'z'; ++ch){ alph_list.push_back(ch); } std::list<char> ralph_list(alph_list); ralph_list.reverse(); auto itr = ralph_list.rbegin(); for (; itr != ralph_list.rend(); ++itr){ std::cout << *itr << " "; } std::cout << std::endl; for (auto& itr: ralph_list){ itr = toupper(itr); } for (auto itr: ralph_list){ std::cout << itr << " "; } std::cout << std::endl; /* while(!alph_list.empty()){ std::cout << alph_list.front() << " "; alph_list.pop_front(); } std::cout << std::endl; */ alph_list.remove('a'); alph_list.pop_front(); //alph_list.erase('c'); alph_list.remove_if([](const char value){ if (value > 'c' && value < 'h') return true; return false; }); std::list<char> seq_list(alph_list.begin(), alph_list.end()); seq_list.insert(seq_list.end(), 3, 'A'); seq_list.insert(seq_list.end(), alph_list.begin(), alph_list.end()); for (auto itr: seq_list){ std::cout << itr << " "; } std::cout << std::endl; std::cout << "ticks: " << clock() - tick << std::endl; return 0; }