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


C++ Macro_Parser::seekp方法代码示例

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


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

示例1: LoadTxt

void TreeScorerQuantification::LoadTxt(lem::Iridium::Macro_Parser & txtfile)
{
    if (txtfile.probe(B_OSPAREN))
    {
        lem::Iridium::BethToken t1 = txtfile.read();

        int n1 = 0;
        int n2 = MAX_COUNT;

        if (t1.GetToken() == B_NOT)
        {
            // Ветка [not] представляет собой требования отсутствия и хранится через
            // пару -1,-1
            min_count = max_count = -1;
        }
        else
        {
            if (lem::is_int(t1.string()))
            {
                n1 = lem::to_int(t1.string());
            }
            else
            {
                txtfile.seekp(t1); // [,1] эквивалентно [0,1]
            }

            if (txtfile.probe(B_COMMA))
            {
                lem::Iridium::BethToken t2 = txtfile.read();
                if (lem::is_int(t2.string()))
                    n2 = lem::to_int(t2.string());
                else
                    txtfile.seekp(t2);
            }
            else
            {
                n2 = n1; // [1] эквивалентно [1,1]
            }

            min_count = n1;
            max_count = n2;
        }

        txtfile.read_it(B_CSPAREN);
    }

    return;
}
开发者ID:Koziev,项目名称:GrammarEngine,代码行数:48,代码来源:TreeScorerQuantification.cpp

示例2: LoadNGram

void LEMM_Compiler::LoadNGram( lem::Iridium::Macro_Parser & txtfile, Dictionary & dict, lem::MCollect<int> & terms, int order ) const
{
 lem::Iridium::BSourceState beg = txtfile.tellp();

 while( !txtfile.eof() )
 {
  lem::Iridium::BethToken t = txtfile.read();
  if( lem::is_int(t.string()) )
   terms.push_back( lem::to_int(t.string()) );
  else
   {
    txtfile.seekp(t);
    break;
   }
 }

 if( terms.size() != order+1 )
  {
   dict.GetIO().merr().printf( "%vfDInvalid ngram%vn\n" );
   lem::Iridium::Print_Error( beg, txtfile );
   throw lem::E_ParserError();
  }

 return;
}
开发者ID:Koziev,项目名称:GrammarEngine,代码行数:25,代码来源:LEMM_Compiler.cpp


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