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 + -
显示快捷键?