📄 comp.h
字号:
/******************************************************************************* * * C O M P . H * ----------- * * Description: * Headerfile for compiler. * * Revision: * Ver Date By Reason * --- ---- -- ------ * 1.00 900619 Lars Berntzon Created * ******************************************************************************/#ifndef _COMP_H#define _COMP_H#ifndef lintstatic volatile char sccs_comp_h[] = "@(#) comp.h,v 1.12 1993/07/20 23:58:12 lasse Exp";#endif#include "cforms.h"#define offsetof(type, item) (((int) &( ((type *)2)->item )) - 2)#define NEXT_VIEWPORT(ptr) ((struct viewport *)ptr->link.next)#define NEXT_PICTURE(ptr) ((struct picture *)ptr->link.next)#define NEXT_FIELD(ptr) ((struct field *)ptr->link.next)#define NEXT_EVENT(ptr) ((struct event *)ptr->link.next)#define NEXT_LITERAL(ptr) ((struct literal *)ptr->link.next)#define NEXT_CCODE(ptr) ((struct ccode *)ptr->link.next)#define TYPE_VIEWPORT 1#define TYPE_PICTURE 2#define TYPE_FIELD 3#define TYPE_EVENT 4#define TYPE_LITERAL 5#define TYPE_CCODE 6#define memalloc(size) _memalloc(__FILE__, __LINE__, (size))#define strduplicate(str) _strduplicate(__FILE__, __LINE__, (str))#define reallocmem(ptr, size) _reallocmem(__FILE__, __LINE__, (ptr), (size))#define N_KEYS (sizeof keys / sizeof keys[0])#define N_CMDS (sizeof lookup / sizeof lookup[0])#define CF_CENTER 2000#define CF_MIDDLE 3000#define CF_MAX 4000#define ISCENTER(pos) (((pos) > CF_CENTER / 2) && ((pos) < CF_MIDDLE))#define ISMAX(pos) (((pos) > CF_MIDDLE) && ((pos) <= CF_MAX))#define MAXPOS 128 /* Maximum number of chars in one statement block*//* Common used struct for command parsing */struct lookup_s { char *cmd; int (*func)();};struct keys_s { char *key; char *code;};struct stmt { struct stmt *next; /* Next statement block in list */ int pos; /* Current storage position */ int line; /* Line number to this statement */ char txt[MAXPOS]; /* Actual text */};struct link { struct link *next; int type; char *name;};struct literal { struct link link; struct xy pos; unsigned long flags;};struct viewport { struct link link; struct xy pos; struct xy size;};struct ccode { struct link link; struct stmt *stmt;};struct event { struct link link; char *type; char *code; int global; struct stmt *stmt;};struct field { struct link link; struct xy pos; struct event *event; char *lvalue; char *rvalue; char *type; char *value; int len; unsigned long flags;};struct picture { struct link link; struct viewport *viewport; struct field *field; struct literal *literal; struct event *event; unsigned long flags;};struct list { struct viewport *viewport; struct picture *picture; struct event *event; struct ccode *ccode;};extern int strequ(char *s1, char *s2); /* Case insensitive strcmp */extern void fatal(char *str); /* Give message and abort */extern void usage(void); /* Give usage message and abort */extern void error(char *); /* Give error message + lineno */ /* malloc with memory check */extern void *_memalloc(char *file, int line, int size);extern char *_strduplicate(char *file, int line, const char *str);extern void *_reallocmem(char *file, int line, void *ptr, int size);extern struct picture *get_picture(), *unget_picture();extern struct event *get_event(), *unget_event();extern struct viewport *get_viewport(), *unget_viewport();extern struct field *get_field(), *unget_field();extern struct stmt *get_stmt();void unget_stmt();extern struct literal *get_literal(), *unget_literal();extern struct ccode *get_ccode(), *unget_ccode();extern struct link *find_name(struct link *first, char *name);extern void output(void);extern int GetPos(int *x, int *y);extern int skip_stmt(void);extern char *strip_quotes(char *str);extern char *strtoupper(char *str);extern void stmt_write(struct stmt *stmt, FILE *fp);void stmt_add(struct stmt **stmt, char *str, char *space);void debug(char *fmt, ...);#ifdef SIGNAL_INTextern int cleanup(int sig);#elseextern void cleanup(int sig);#endifextern struct list list; /* The list of everything */extern char *filename; /* Name of input file */#endif _/* COMP_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -