📄 lex.h
字号:
#ifndef _LEX_H_
#define _LEX_H_
typedef struct{
int code; // 单词代码
int addr; // 地址
} token; // 单词
typedef struct{
char name[33]; // 组成关键字的字符串,最长32个字符
int code; // 关键字代码
} keyword;
typedef struct{
int number;
char name[30];//组成标识符或常数的字符串
} symbol;
// 定义一些常量
enum TVAL { $AUTO=1,$BREAK,$CASE,$CHAR,$CONST,$CONTINUE,$DEFAULT,$DO,$DOUBLE,
$ELSE,$ENUM,$EXTERN,$FLOAT,$FOR,$GOTO,$IF,$INT,$LONG,$REGISTER,
$RETURN,$SHORT,$SIGNED,$SIZEOF,$STATIC,$STRUCT,$SWITCH,$TYPEDEF,
$UNION,$UNSIGNED,$VOID,$VOLATILE,$WHILE,$NULL,
$ADD,$SUB,$MUL,$DIV,$MOD,$ASSIGN,$EQUAL,$LT,$LE,$GT,$GE,$NE,
// + - * / % = == < <= < > >= !=
$INC,$DEC,$ADDA,$SUBA,$MULA,$DIVA,$MODA,$LSHIFTA,$RSHIFTA,$BITANDA,$BITXORA,$BITORA,
// ++ -- += -= *= /= %= <<= >>= &= ^= |=
$LOGICNOT,$LOGICAND,$LOGICOR,$LSHIFT,$RSHIFT,$BITNOT,$BITOR,$BITXOR,$BITAND,$ARROWOP,
// ! && || | << >> ~ | ^ & ->
$LRBRACKET,$RRBRACKET,$LBRACE,$RBRACE,$LSBRACKET,$RSBRACKET,$SEMICOLON,$COMMA,$COLON,$QUES,
// ( ) { } [ ] ; , : ?
$ID,$INTNUM,$FLOATNUM,$CHARTYPE,$STRINGTYPE,$COMMENT, $ERROR, $END};
// 标识符, 整型常量,浮点常量,字符常量, 字符串常量,注释
#endif // #ifndef _LEX_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -