代码拉取完成,页面将自动刷新
#pragma once
#include <iostream>
#include <fstream>
#include "DFA.h"
class Scanner
{
public:
Scanner(std::string srcFileName, std::string grammar);
string getToken();
string getFileName();
string getTokenType();
bool isEnd();
long getLine();
long getColumn();
private:
void getNextChar();
char peekChar();
void preprocess();
vector<tuple<string, string, string> > getGrammar(string grammerFile);
char transform(char ch);
public:
//enum class State
//{
// NONE,
// UNKNOW,
// END_OF_FILE,
// ACCEPT
//};
private:
std::string fileName;
std::string grammarFile;
std::ifstream input;
long line;
long bLine;
long column;
long bColumn;
char currentChar;
std::string buffer;
int state;
bool errorFlag;
int nearestAccept;
int nearestState;
string nextRead;
DFA dfa;
set<string> limiters;
set<string> keywords;
set<string> operat;
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。