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


C++ Toker::getTok方法代码示例

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


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

示例1: main

int main()
{
  Helper::Title("Testing Tokenizer");

  //std::string fileSpec = "../Tokenizer/Tokenizer.cpp";
  //std::string fileSpec = "../Tokenizer/Tokenizer.h";
  std::string fileSpec = "../Tokenizer/Test.txt";//from here

  try
  {
    std::ifstream in(fileSpec);
    if (!in.good())
    {
      std::cout << "\n  can't open " << fileSpec << "\n\n";
      return 1;
    }

    {
      Toker toker;
      toker.returnComments();
      toker.attach(&in);
      std::cout << "\n  current line count = " << toker.currentLineCount();
      do
      {
        std::string tok = toker.getTok();
        if (tok == "\n")
          tok = "newline";
        std::cout << "\n -- " << tok;
      } while (in.good());
      std::cout << "\n  current line count = " << toker.currentLineCount();
    }
 
    putline();
    Helper::title("Testing change of special characters");
    std::string newSpecialChars = "., :, +, +=, \n { }";

    Toker toker;
    toker.returnComments();
    toker.setSpecialTokens(newSpecialChars);
    in.clear();

    in.seekg(std::ios::beg);
    toker.attach(&in);
    std::cout << "\n  new special tokens: " << newSpecialChars;
    do
    {
      std::string tok = toker.getTok();
      if (tok == "\n")
        tok = "newline";
      std::cout << "\n -- " << tok;//check if tok is in type table
    } while (in.good());// if there , get filename and say this file is dependent on this file
    std::cout << "\n  current line count = " << toker.currentLineCount();
  }
  catch (std::logic_error& ex)
  {
    std::cout << "\n  " << ex.what();
  }
  std::cout << "\n\n";//here
  return 0;
}
开发者ID:sguvvala,项目名称:ParallelDependancyAnalyser,代码行数:60,代码来源:Tokenizer.cpp

示例2: AnalyzeFileDepedency

void CodeAnalyzer::AnalyzeFileDepedency(std::string file) {
	Toker toker;
	std::fstream in(file);
	// Check if the filename is valid
	if (!in.good())
	{
		std::cout << "\n can't open file " << file << "\n\n";
		return;
	}

	toker.attach(&in);
	do
	{
		std::string tok = toker.getTok();
		ProcessTok(file, tok);										// Check for match in Final Type Table and perform corresponding action
	} while (in.good());
}
开发者ID:bharanikrishna7,项目名称:code_analyzer,代码行数:17,代码来源:CodeAnalyzer.cpp

示例3: dealTokenizer

int dealTokenizer(Toker& toker)
{
	std::cout << "Input for Tokenizer" << std::endl;
	std::string fileSpec = "../Tokenizer/test_tokenizer.txt";
	std::ifstream file("../Tokenizer/test_tokenizer.txt");

	std::string str;
	while (std::getline(file, str))
	{
		std::cout << str << std::endl;
	}

	std::cout << "-----------------------------------------------------------------------------------------\n";

	std::ifstream in(fileSpec);
	if (!in.good())
	{
		std::cout << "\n  can't open " << fileSpec << "\n\n";
		return 1;
	}
	
	toker.attach(&in);
	toker.setComments(true);
	toker.set("<,>,[,],(,),{,},:,=,+,-,*,\n", "<,<,>,>,:,:,+,+,-,-,=,=,+,=,-,=,*,=,/,=,-,>");
	std::cout << "OUPUT \n";
	do
	{
		std::string tok = toker.getTok();
		if (tok == "\n")
		{
			tok = "newline";
		
		}
		std::cout << "\n -- " << tok;
	 
	} while (in.good());
	std::cout << "\n";
	
	return 0;
}
开发者ID:sidmarkjoseph,项目名称:C--piggybank,代码行数:40,代码来源:TestExecutive.cpp

示例4: main

int main()
{
  //std::string fileSpec = "../Tokenizer/Tokenizer.cpp";
  //std::string fileSpec = "../Tokenizer/Tokenizer.h";
  std::string fileSpec = "../Tokenizer/Test.txt";

  std::ifstream in(fileSpec);
  if (!in.good())
  {
    std::cout << "\n  can't open " << fileSpec << "\n\n";
    return 1;
  }
  Toker toker;
  toker.attach(&in);
  while (in.good())
  {
    std::string tok = toker.getTok();
    if (tok == "\n")
      tok = "newline";
    std::cout << "\n -- " << tok;
  }
  std::cout << "\n\n";
  return 0;
}
开发者ID:alarya,项目名称:LexicalScannerCPP,代码行数:24,代码来源:Tokenizer.cpp

示例5: main

int main()
{
	/*std::fstream fIn;
	fIn.open("C:\\Users\thzha_000\Desktop\finaltest.txt", std::ios::in);*/

	//Tokenizer testing
	std::string fileSpec = "../Tokenizer/test_R4.txt";

	std::cout << "---------------------------------------" << "\n";
	std::cout << "---------  Testing Tokenizer ----------" << "\n";
	std::cout << "---------------------------------------" << "\n";
	std::cout << "--------Operating authentic code-------" << "\n";
	std::cout << "Requirements 5 is well shown in this process" << "\n\n";

	std::ifstream in(fileSpec);
	if (!in.good())
	{
		std::cout << "\n  can't open " << fileSpec << "\n\n";
		return 1;
	}
	else
		std::cout << "\n Read file successfull!" << "\n";
	Toker toker;
	toker.attach(&in);
	do
	{
		std::string tok = toker.getTok();
		if (tok == "\n")
			tok = "newline";
		std::cout << "\n -- " << tok;
	} while (in.good());
	std::cout << "\n\n";

	toker.reset();


	// SemiExp testing
	Toker toker2;
	std::cout << "---------------------------------------" << "\n";
	std::cout << "------- Testing SemiExpression --------" << "\n";
	std::cout << "---------------------------------------" << "\n";
	std::cout << "--------Operating authentic code-------" << "\n\n";
	std::cout << "Requirements 6-8 is well shown in this process" << "\n\n";

	std::fstream in2(fileSpec);
	if (!in2.good())
	{
		std::cout << "\n  can't open file " << fileSpec << "\n\n";
		return 1;
	}
	else
		std::cout << "\n Read file successfull!" << "\n";
	toker2.attach(&in2);
	SemiExp semi(&toker2);
	while (semi.get())
	{
		std::cout << "\n  -------------- semiExpression --------------";
		semi.show();
	}

	/*
	May have collected tokens, but reached end of stream
	before finding SemiExp terminator.
	*/
	if (semi.length() > 0)
	{
		std::cout << "\n  -------------- semiExpression --------------";
		semi.show();
		std::cout << "\n\n";
	}

	toker2.reset();

	// Test Requirement 4 

	std::string fileSpec_R4 = "../Tokenizer/test_R4.txt";

	std::vector<std::string> alter_setSpecialSingleChar = { "=", "+" };
	std::vector<std::string> alter_setSpecialDoubleChar = { "++" , "--" };

	std::cout << "------------------- Requiement 4 ------------------" << "\n";
	std::cout << "---------------------------------------------------" << "\n";
	std::cout << "------Using a small piece of text for testing------" << "\n\n";
	Toker toker1;
	std::ifstream in1(fileSpec_R4);
	if (!in1.good())
	{
		std::cout << "\n  can't open " << fileSpec << "\n\n";
		return 1;
	}
	else
		std::cout << "\n Read file successfull!" << "\n";
	toker.attach(&in1);
	do
	{
		std::string tok = toker1.getTok();
		if (tok == "\n")
			tok = "newline";
		std::cout << "\n -- " << tok;
	} while (in1.good());
//.........这里部分代码省略.........
开发者ID:WillZzzz,项目名称:Code-Tokenizer,代码行数:101,代码来源:TestPackage.cpp

示例6: main

int main(int argc, char* argv[])
{
	std::cout << "\n  Testing Tokenizer class\n "
		<< std::string(25, '=') << std::endl;
	std::cout
		<< "\n  Note that comments and quotes are returned as single tokens\n\n";

	// collecting tokens from a string

	Toker t_fromStr("tokens from a string: -> int x; /* a comment */", false);
	std::string tok;
	do
	{
		tok = t_fromStr.getTok();
		std::cout << "  " << tok;
	} while (tok != "");
	std::cout << "\n\n";

	// collecting tokens from files, named on the command line

	if (argc < 2)
	{
		std::cout
			<< "\n  please enter name of file to process on command line\n\n";
		return 1;
	}

	for (int i = 1; i<argc; ++i)
	{
		std::cout << "\n  Processing file " << argv[i];
		std::cout << "\n  " << std::string(16 + strlen(argv[i]), '-') << "\n";

		try
		{
			Toker t;
			t.setMode(Toker::xml);        // comment out to show tokenizing for code
			//    t.setSingleCharTokens("<>");  // will return same results as above for XML

			if (!t.attach(argv[i]))
			{
				std::cout << "\n    can't open file " << argv[i] << "\n\n";
				continue;
			}
			t.returnComments();  // remove this statement to discard comment tokens
			std::string temp;
			do
			{
				temp = t.getTok();
				std::cout << "  ln: " << t.lines() << ", br lev: "
					<< t.braceLevel() << ", tok size: " << std::setw(3) << temp.length() << " -- ";
				if (temp != "\n")
					std::cout << temp << std::endl;
				else
					std::cout << "newline\n";
			} while (temp != "");
		}
		catch (std::exception& ex)
		{
			std::cout << "  " << ex.what() << "\n\n";
		}
	}
}
开发者ID:karantech9,项目名称:XML-Document-Object-Model,代码行数:62,代码来源:Tokenizer.cpp


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