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


C++ CScanner::generate_token_list方法代码示例

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


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

示例1: main

int main() {

    std::list<std::string>  program_list;
    std::list<std::string>::const_iterator itrTest;
    CScanner                scanner;
    Parser		    parsing;
    
    program_list.push_back(std::string("a=b+3.14156 - 7.8182;$"));
    program_list.push_back(std::string("a=c*b-d;$"));
    program_list.push_back(std::string("a=c+b$"));
    program_list.push_back(std::string("if (a>6) then a=c*(b-d); else b=10; fi;$"));
    program_list.push_back(std::string("a=c+b*d;$"));
    program_list.push_back(std::string("a=(c+b)*d;$ "));
    program_list.push_back(std::string("if (a>6) then a=c*(b-d); fi;$"));
    program_list.push_back(std::string("if (a>6) then if (b < a) then a=c*(b-d); else b=10; fi;$"));
    program_list.push_back(std::string("if (a>6) then if (b < a) then a=c*(b-d); fi; else b=10; fi;$"));
    program_list.push_back(std::string("a=(c+b)*d;$"));
    program_list.push_back(std::string("if (a>6) then if (b < a) then a=c*(b-d); else b=10; fi; else c=b*2; fi;$"));
    program_list.push_back(std::string("a=(c+b)*d ; b=a-e*t;$"));
    program_list.push_back(std::string("a=1+b$"));
    program_list.push_back(std::string("b=[1.0,2.1;3.5,4.6];$"));
    
    program_list.push_back(std::string("b =[1.0e-1,4.2e-1;1.0e+2,1.0e-0];$"));
    program_list.push_back(std::string("y=[1,2,3];$"));  
    program_list.push_back(std::string("x1=[1;2;3;4];$"));
    program_list.push_back(std::string("1=[1;2;3;4];$"));
    program_list.push_back(std::string("h=]1;2;3;4];$"));
    program_list.push_back(std::string("h=[1,2;3,4]+[4,3;2,1];$"));
    program_list.push_back(std::string("h=[1,2;3,4]-[6,5,4;3,2,1];$"));
    program_list.push_back(std::string("h=[1,2;3,4]*[6,5,4;3,2,1];$"));
    program_list.push_back(std::string("o=[1;2;3;4]; $"));
    program_list.push_back(std::string("z=[1,2,3,4,5,6,7,8;1,2,3,4,5,6,7,8];$"));  
    program_list.push_back(std::string("t=[1,2,Abc;3,4,5];$"));
    program_list.push_back(std::string("xy=[1,2,3;1,2];$"));
    program_list.push_back(std::string("d=[];$"));
    program_list.push_back(std::string("e=[1.e2,.2];$"));
    program_list.push_back(std::string("=$[2.0]"));
    program_list.push_back(std::string("z=[1,,2];$"));
    program_list.push_back(std::string("u=[1;;2];$"));
    
    itrTest = program_list.begin();
    while(itrTest != program_list.end())
    {
       try
       { 
          cout << *itrTest << endl;
          scanner.generate_token_list(*itrTest);

       // now scanner should contain a list of lexemes ready for parsing
       
	  parsing.parse(scanner.get_token_list());
	  cout << "\nA New Program\n\n";
       }
       catch (CSignal e)
       {
	   cout << e.get_message() << endl;  // Get the message
       }
       itrTest++;
     }
    
    return (SUCCESSFUL);
}
开发者ID:,项目名称:,代码行数:62,代码来源:


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