📄 linetok.h
字号:
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ +
+ linetok.h - facilities to break a line of text into a +
+ series of tokens. +
+ +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
#ifndef _LINETOK_H
#define _LINETOK_H
#include "linux.h"
#include "lnscan.h"
#define TOK_IDENTIFIER 0
#define TOK_INT_REG 1
#define TOK_FLT_REG 2
#define TOK_DBL_REG 3
#define TOK_CHAR_CONST 4
#define TOK_INT_CONST 5
#define TOK_FLT_CONST 6
#define TOK_COMMA 7
#define TOK_NO_MORE 8
#define TOK_BAD 9
#define ID_SIZE 256 /* max. chars in identifier */
#define EOL '\0'
//#define LINE_TOK_DEBUG 1
#ifdef LINE_TOK_DEBUG
#define LINE_TOK_DEBUG0(arg); printf(arg);
#define LINE_TOK_DEBUG1(arg1,arg2); printf(arg1,arg2);
#define LINE_TOK_DEBUG2(arg1,arg2,arg3); printf(arg1,arg2,arg3);
#else
#define LINE_TOK_DEBUG0(arg);
#define LINE_TOK_DEBUG1(arg1,arg2);
#define LINE_TOK_DEBUG2(arg1,arg2,arg3);
#endif
struct Token
{
char text[ID_SIZE];
char * fName; /*file reading assembly code from*/
U4 line; /* line number in source file */
U1 type; /* type of token */
S8 val; /* register bytecode val, char val, integer const */
F8 fval; /* floating-pt val */
};
extern char * TokStr[];
void LineTokenizer_init(struct Line *ln);
struct Token getNextLineToken();
U1 match(struct Token *tptr, int ttype); /* big one */
void printToken(struct Token *tptr);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -