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


C++ Word::Compile方法代码示例

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


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

示例1: printf

// ------------------------------------------------------------------------
bool S4::Interpreter::Step() {
    Lexeme l;
    if (!NextWord(&l)) {
        printf(".step:\tthinking it is end of input\n\t-->%s\n", programCounter);
        return false;
    }

    Word *word;

    switch (l.kind) {
    case Lexeme::endOfInput:
        printf(".step:\tendOfInput\n");
        return false;
    case Lexeme::integer:
        if (IsCompileMode()) {
            return true;
        }
        printf(".push:\tinteger %d\n", l.data.integer);
        dataStack.push(CellFromInteger(l.data.integer));
        return true;
    case Lexeme::number:
        if (IsCompileMode()) {
            return true;
        }
        printf(".push:\tnumber  %g\n", l.data.number);
        dataStack.push(CellFromNumber(l.data.number));
        return true;
    case Lexeme::symbol:
        printf(".eval:\tsymbol  %s\n", l.data.symbol);
        word = dictionary->Lookup(l.data.symbol);
        if (!word) {
            printf("error:\tundefined word '%s'\n", l.data.symbol);
            return false;
        }
        if (IsCompileMode()) {
            return word->Compile(this);
        }
        return word->Execute(this);
    case Lexeme::text:
        if (IsCompileMode()) {
            return true;
        }
        printf(".push:\ttext    %s\n", l.data.text);
        dataStack.push(CellFromText(l.data.text));
        return true;
    }

    printf("panic:\tunknown lexeme %d\n", l.kind);
    exit(2);

    // NOT REACHED
    return false;
}
开发者ID:quoha,项目名称:StringForth,代码行数:54,代码来源:Interpreter.cpp


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