scanner.h

来自「a little DFA compiler.」· C头文件 代码 · 共 76 行

H
76
字号
/* $Id: scanner.h 710 2007-04-26 23:14:07Z helly $ */#ifndef _scanner_h#define	_scanner_h#include <iosfwd>#include <string>#include "token.h"#include "re.h"#include "globals.h"namespace re2c{class Scanner:	public line_number{private:	std::istream&	in;	std::ostream&   out;	char	*bot, *tok, *ptr, *cur, *pos, *lim, *top, *eof;	uint	tchar, tline, cline, iscfg;private:	char *fill(char*);	Scanner(const Scanner&); //unimplemented	Scanner& operator=(const Scanner&); //unimplementedpublic:	Scanner(std::istream&, std::ostream&);	~Scanner();	int echo();	int scan();		void fatal(const char*) const;	void fatal(uint, const char*) const;	void config(const Str&, int);	void config(const Str&, const Str&);	SubStr token() const;	virtual uint get_line() const;		uint xlat(uint c) const;	uint unescape(SubStr &s) const;	std::string& unescape(SubStr& str_in, std::string& str_out) const;	Range * getRange(SubStr &s) const;	RegExp * matchChar(uint c) const;	RegExp * strToName(SubStr s) const;	RegExp * strToRE(SubStr s) const;	RegExp * strToCaseInsensitiveRE(SubStr s) const;	RegExp * ranToRE(SubStr s) const;	RegExp * invToRE(SubStr s) const;	RegExp * mkDot() const;};inline void Scanner::fatal(const char *msg) const{	fatal(0, msg);}inline SubStr Scanner::token() const{	return SubStr(tok, cur - tok);}inline uint Scanner::xlat(uint c) const{	return re2c::wFlag ? c : re2c::xlat[c & 0xFF];}} // end namespace re2c#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?