コード例 #1
0
        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);
        }
コード例 #2
0
 // name is first element so that __VA_ARGS__ always has one element
 //#define NET_REGISTER_DEVEXT(type, ...)                                   \
 //        setup.register_dev(# type, { PSTRINGIFY_VA(__VA_ARGS__) });
 public static void NET_REGISTER_DEVEXT(nlparse_t setup, string type, params string [] args)
 {
     setup.register_dev(type, args);
 }
コード例 #3
0
 // to be used to reference new library truthtable devices
 //#define NET_REGISTER_DEV(type, name)                                            \
 //        setup.register_dev(# type, # name);
 public static void NET_REGISTER_DEV(nlparse_t setup, string type, string name)
 {
     setup.register_dev(type, name);
 }