void device(string dev_type) { std.vector <string> params_ = new std.vector <string>(); require_token(m_tok_paren_left); string devname = get_identifier(); m_setup.log().debug.op("Parser: IC: {0}\n", devname); var tok = get_token(); while (tok.is_(m_tok_comma)) { tok = get_token(); if (/*tok.is_type(token_type::IDENTIFIER) ||*/ tok.is_type(parser_t_token_type.STRING)) { params_.push_back(tok.str()); tok = get_token(); } else { var value = stringify_expression(ref tok); params_.push_back(value); } } require_token(tok, m_tok_paren_right); std.vector <string> params_temp = new std.vector <string>(); params_temp.Add(devname); params_temp.AddRange(params_); m_setup.register_dev(dev_type, params_temp.ToArray()); //m_setup.register_dev(dev_type, devname, params); }