当前位置: 首页>>代码示例>>C++>>正文


C++ token::text方法代码示例

本文整理汇总了C++中token::text方法的典型用法代码示例。如果您正苦于以下问题:C++ token::text方法的具体用法?C++ token::text怎么用?C++ token::text使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在token的用法示例。


在下文中一共展示了token::text方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: new_const

string symbol_table::new_const(token tkconst)
{
    string type = type_of(tkconst);
    auto ent = consts_.find(type+tkconst.text());
    if (ent != consts_.end()) {
        return ent->second.place();
    }
    
    const_desc desc(tkconst);
    consts_[type+tkconst.text()] = desc;
    return desc.place();
}
开发者ID:Aetf,项目名称:ACCompiler,代码行数:12,代码来源:symbol_table.cpp

示例2: format_node

 void dotfile_visitor::format_node(abstract_node *node, const char *name, const token &tok)
 {
   if (!m_connectTo)
   {
     if (tok.type() == token_types::STRING_LITERAL)
       fprintf(m_file, "\tptr%p [label=\"[%s]\\n[%s]\\n\\\"%.*s\\\"\"];\n", node, name, token_types::names[tok.type()], tok.length() - 2, tok.text() + 1);
     else if (tok.text())
       fprintf(m_file, "\tptr%p [label=\"[%s]\\n[%s]\\n%.*s\"];\n", node, name, token_types::names[tok.type()], tok.length(), tok.text());
     else
       format_node(node, name);
   }
 }
开发者ID:ImOnALampshade,项目名称:brandy,代码行数:12,代码来源:dotfilevisitor.cpp

示例3: insert_to_object

bool json_tree_builder::insert_to_object(const token &token_)
{
    auto obj = std::static_pointer_cast< json_object >(_current);

    switch (token_.type())
    {
    case T_STR:
        if (_accept_name)
        {
            if (obj->contains(token_.text()))
                throw std::logic_error("duplicit key: " + token_.text()); // duplicit key name

            obj->insert(token_.text());
            _accept_colon = true;
            _accept_comma = false;
            _accept_name = false;
            _accept_value = false;
            _accept_end = false;

            return true;
        }
        else if (_accept_value)
        {
            auto str = to_value(token_);
            obj->insert(str);

            _accept_colon = false;
            _accept_comma = true;
            _accept_name = false;
            _accept_value = false;
            _accept_end = true;

            return true;
        }
        else
        { // unexpected token
            return false;
        }
        break;
    case T_COLON:
        if (_accept_colon)
        {
            _accept_colon = false;
            _accept_comma = false;
            _accept_end = false;
            _accept_name = false;
            _accept_value = true;

            return true;
        }
        else
        {
            return false;
        }
        break;
    case T_LBRACE: // new object
        if (_accept_value)
        {
            auto new_obj = to_value(token_);
            _parents.push(_current);
            _current = new_obj;
            obj->insert(new_obj);

            _accept_colon = false;
            _accept_comma = false;
            _accept_end = true;
            _accept_name = true;
            _accept_value = false;

            return true;
        }
        else
        {
            return false;
        }
        break;
    case T_COMMA:
        if (_accept_comma)
        {
            _accept_colon = false;
            _accept_comma = false;
            _accept_end = true; // not valid JSON
            _accept_name = true;
            _accept_value = false;

            return true;
        }
        else
        {
            return false;
        }
        break;
    case T_LBRACKET: // new array
        if (_accept_value)
        {
            auto new_arr = to_value(token_);
            _parents.push(_current);
            _current = new_arr;
            obj->insert(new_arr);

//.........这里部分代码省略.........
开发者ID:Afforix,项目名称:PA193-Project,代码行数:101,代码来源:json_tree_builder.cpp


注:本文中的token::text方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。