本文整理汇总了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);
}