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


C++ Lexer::addTest方法代码示例

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


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

示例1: addNumberTest

void addNumberTest(Lexer& lexr)
{
    // TODO: add support for decimal point and negative sign
    lexr.addTest(
        [] (Scanner& sc) {
            std::cout << "Running Number test...\n";
            
            char c = sc.getCurrentChar();
            if (NUMBER_CHARS.find(c) != std::string::npos) {
                int lineNumber = sc.getLineNumber();
                int columnNumber = sc.getColumnNumber();
                std::string tokenString(1, c);
                
                while (NUMBER_CHARS.find(sc.fetchNextChar()) != std::string::npos) {
                    tokenString += sc.moveToNextChar();
                }
                
                return Token(lineNumber, columnNumber, tokenString, TType::Values::Number);
            }
            
            return Token();
        }
    );
}
开发者ID:m3579,项目名称:Keyboard-Code-Lang,代码行数:24,代码来源:NumberTest.hpp


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