📄 token.c
字号:
#include "awk.h"struct tok{ char *tnm; int yval;} tok[] = {"FIRSTTOKEN", 257,"FINAL", 258,"FATAL", 259,"LT", 260,"LE", 261,"GT", 262,"GE", 263,"EQ", 264,"NE", 265,"MATCH", 266,"NOTMATCH", 267,"APPEND", 268,"ADD", 269,"MINUS", 270,"MULT", 271,"DIVIDE", 272,"MOD", 273,"UMINUS", 274,"ASSIGN", 275,"ADDEQ", 276,"SUBEQ", 277,"MULTEQ", 278,"DIVEQ", 279,"MODEQ", 280,"JUMP", 281,"XBEGIN", 282,"XEND", 283,"NL", 284,"PRINT", 285,"PRINTF", 286,"SPRINTF", 287,"SPLIT", 288,"IF", 289,"ELSE", 290,"WHILE", 291,"FOR", 292,"IN", 293,"NEXT", 294,"EXIT", 295,"BREAK", 296,"CONTINUE", 297,"PROGRAM", 298,"PASTAT", 299,"PASTAT2", 300,"ASGNOP", 301,"BOR", 302,"AND", 303,"NOT", 304,"NUMBER", 305,"VAR", 306,"ARRAY", 307,"FNCN", 308,"SUBSTR", 309,"LSUBSTR", 310,"INDEX", 311,"RELOP", 312,"MATCHOP", 313,"OR", 314,"STRING", 315,"DOT", 316,"CCL", 317,"NCCL", 318,"CHAR", 319,"CAT", 320,"STAR", 321,"PLUS", 322,"QUEST", 323,"POSTINCR", 324,"PREINCR", 325,"POSTDECR", 326,"PREDECR", 327,"INCR", 328,"DECR", 329,"FIELD", 330,"INDIRECT", 331,"LASTTOKEN", 332,};ptoken(n){ if(n<128) printf("lex: %c\n",n); else if(n<=256) printf("lex:? %o\n",n); else if(n<LASTTOKEN) printf("lex: %s\n",tok[n-257].tnm); else printf("lex:? %o\n",n); return;}char *tokname(n){ if (n<=256 || n >= LASTTOKEN) n = 257; return(tok[n-257].tnm);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -