📄 cb.h
字号:
#define IF 1#define ELSE 2#define CASE 3#define TYPE 4#define DO 5#define STRUCT 6#define OTHER 7#define ALWAYS 01#define NEVER 02#define SOMETIMES 04#define YES 1#define NO 0#define KEYWORD 1#define DATADEF 2#define SINIT 3#define CLEVEL 200#define IFLEVEL 100#define DOLEVEL 100#define OPLENGTH 100#define LINE 2048#define LINELENG 2048#define MAXTABS 8#define TABLENG 8#define TEMP 20480#define OUT outs(clev->tabs); Bputc(output, '\n');opflag = lbegin = 1; count = 0#define OUTK OUT; keyflag = 0;#define BUMP clev->tabs++; clev->pdepth++#define UNBUMP clev->tabs -= clev->pdepth; clev->pdepth = 0#define eatspace() while((cc=getch()) == ' ' || cc == '\t'); unget(cc)#define eatallsp() while((cc=getch()) == ' ' || cc == '\t' || cc == '\n'); unget(cc)struct indent { /* one for each level of { } */ int tabs; int pdepth; int iflev; int ifc[IFLEVEL]; int spdepth[IFLEVEL];} ind[CLEVEL];struct indent *clev = ind;struct keyw { char *name; char punc; char type;} key[] = { "switch", ' ', OTHER, "do", ' ', DO, "while", ' ', OTHER, "if", ' ', IF, "for", ' ', OTHER, "else", ' ', ELSE, "case", ' ', CASE, "default", ' ', CASE, "char", '\t', TYPE, "int", '\t', TYPE, "short", '\t', TYPE, "long", '\t', TYPE, "unsigned", '\t', TYPE, "float", '\t', TYPE, "double", '\t', TYPE, "struct", ' ', STRUCT, "union", ' ', STRUCT, "enum", ' ', STRUCT, "extern", ' ', TYPE, "register", ' ', TYPE, "static", ' ', TYPE, "typedef", ' ', TYPE, 0, 0, 0};struct op { char *name; char blanks; char setop;} op[] = { "+=", ALWAYS, YES, "-=", ALWAYS, YES, "*=", ALWAYS, YES, "/=", ALWAYS, YES, "%=", ALWAYS, YES, ">>=", ALWAYS, YES, "<<=", ALWAYS, YES, "&=", ALWAYS, YES, "^=", ALWAYS, YES, "|=", ALWAYS, YES, ">>", ALWAYS, YES, "<<", ALWAYS, YES, "<=", ALWAYS, YES, ">=", ALWAYS, YES, "==", ALWAYS, YES, "!=", ALWAYS, YES, "=", ALWAYS, YES, "&&", ALWAYS, YES, "||", ALWAYS, YES, "++", NEVER, NO, "--", NEVER, NO, "->", NEVER, NO, "<", ALWAYS, YES, ">", ALWAYS, YES, "+", ALWAYS, YES, "/", ALWAYS, YES, "%", ALWAYS, YES, "^", ALWAYS, YES, "|", ALWAYS, YES, "!", NEVER, YES, "~", NEVER, YES, "*", SOMETIMES, YES, "&", SOMETIMES, YES, "-", SOMETIMES, YES, "?", ALWAYS,YES, ":", ALWAYS,YES, 0, 0,0};Biobuf *input;Biobuf *output;int strict = 0;int join = 0;int opflag = 1;int keyflag = 0;int paren = 0;int split = 0;int folded = 0;int dolevel =0;int dotabs[DOLEVEL];int docurly[DOLEVEL];int dopdepth[DOLEVEL];int structlev = 0;int question = 0;char string[LINE];char *lastlook;char *p = string;char temp[TEMP];char *tp;int err = 0;char *lastplace = temp;char *tptr = temp;int maxleng = LINELENG;int maxtabs = MAXTABS;int count = 0;char next = '\0';int inswitch =0;int lbegin = 1;int lineno = 0;void work(void);void gotif(void);void gotelse(void);int checkif(char *);void gotdo(void);void resetdo(void);void gottype(struct keyw *lptr);void gotstruct(void);void gotop(int);void keep(struct op *);int getnl(void);void ptabs(int);void outs(int);void putch(char, int);struct keyw *lookup(char *, char *);int comment(int);void putspace(char, int);int getch(void);void unget(char);char *getnext(int);void copy(char *);void clearif(struct indent *);char puttmp(char, int);void error(char *);int cpp_comment(int);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -