token.h
来自「由一个古老的BASIC解释器改进而成, 保留了ANSI C固有的艺术美感.」· C头文件 代码 · 共 42 行
H
42 行
// token.h
#ifndef TOKEN_H_
#define TOKEN_H_
#include <string>
#include "blassic.h"
class Tokenizer {
public:
enum Type { Empty, Plain, Literal, Integer };
Tokenizer (const std::string & source);
class Token {
public:
Token () :
type (Empty)
{ }
Token (Type t, const std::string & str) :
type (t), str (str)
{ }
Token (BlInteger n) :
type (Integer), n (n)
{ }
bool empty () { return type == Plain && str.empty (); }
Type type;
std::string str;
BlInteger n;
};
Token get ();
char peek ();
private:
char nextchar ();
void ungetchar ();
std::string str;
size_t pos, limit;
};
#endif
// Fin de token.h
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?