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


C++ TokenPtr::getLexeme方法代码示例

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


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

示例1: findSymbol

/**
 * find matching symbol
 */
TokenPtr SourceScope::findSymbol(TokenPtr token)
{
    // find symbol in current scope
    for (auto & sym : m_symbols) {
        if (sym->getLexeme() == token->getLexeme()) return sym;
    }
    
    // parent scope
    if (auto p = m_parent.lock()) return p->findSymbol(token);
    
    // didn't find
    return nullptr;
}
开发者ID:albeva,项目名称:fbide-test-ast,代码行数:16,代码来源:SourceScope.cpp

示例2: addSymbol

/**
 * Add new identifier.
 * return false if identifier with the given name already in the list
 */
bool SourceScope::addSymbol(TokenPtr token)
{
    // find existing
    auto iter = std::find_if(m_symbols.begin(), m_symbols.end(), [&](const TokenPtr & p) {
        return p->getLexeme() == token->getLexeme();
    });
    
    // foung means it contains symbol already
    if (iter != m_symbols.end()) return false;
    
    // add it
    m_symbols.push_back(token);
    
    // success
    return true;
}
开发者ID:albeva,项目名称:fbide-test-ast,代码行数:20,代码来源:SourceScope.cpp


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