add LCC - a better C-Compiler for WEGA
This commit is contained in:
parent
f1e9e43d53
commit
38cfa4bc74
|
|
@ -0,0 +1,6 @@
|
||||||
|
#ifdef NDEBUG
|
||||||
|
#define assert(EX)
|
||||||
|
#else
|
||||||
|
extern void _assert();
|
||||||
|
#define assert(EX) if (EX) ; else _assert("EX", __FILE__, __LINE__)
|
||||||
|
#endif
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
#include "setjmp.h"
|
||||||
|
extern int Fflags;
|
||||||
|
extern char *Ffile;
|
||||||
|
extern int Fvalue;
|
||||||
|
extern int (*Ffunc)();
|
||||||
|
extern jmp_buf Fjmp;
|
||||||
|
|
||||||
|
# define FTLMSG 0100000
|
||||||
|
# define FTLCLN 040000
|
||||||
|
# define FTLFUNC 020000
|
||||||
|
# define FTLACT 077
|
||||||
|
# define FTLJMP 02
|
||||||
|
# define FTLEXIT 01
|
||||||
|
# define FTLRET 0
|
||||||
|
|
||||||
|
# define FSAVE(val) SAVE(Fflags,old_Fflags); Fflags = val;
|
||||||
|
# define FRSTR() RSTR(Fflags,old_Fflags);
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
/*
|
||||||
|
* Codes for the third argument to the user-supplied function
|
||||||
|
* which is passed as the second argument to ftw
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define FTW_F 0 /* file */
|
||||||
|
#define FTW_D 1 /* directory */
|
||||||
|
#define FTW_DNR 2 /* directory without read permission */
|
||||||
|
#define FTW_NS 3 /* unknown type, stat failed */
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
extern char
|
||||||
|
*memccpy(),
|
||||||
|
*memchr(),
|
||||||
|
*memcpy(),
|
||||||
|
*memset();
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
/* HSEARCH(3C) */
|
||||||
|
typedef struct entry { char *key, *data; } ENTRY;
|
||||||
|
typedef enum { FIND, ENTER } ACTION;
|
||||||
|
|
||||||
|
/* TSEARCH(3C) */
|
||||||
|
typedef enum { preorder, postorder, endorder, leaf } VISIT;
|
||||||
|
|
@ -0,0 +1,38 @@
|
||||||
|
/*
|
||||||
|
* STORAGE CLASSES
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define C_EFCN -1 /* physical end of function */
|
||||||
|
#define C_NULL 0
|
||||||
|
#define C_AUTO 1 /* automatic variable */
|
||||||
|
#define C_EXT 2 /* external symbol */
|
||||||
|
#define C_STAT 3 /* static */
|
||||||
|
#define C_REG 4 /* register variable */
|
||||||
|
#define C_EXTDEF 5 /* external definition */
|
||||||
|
#define C_LABEL 6 /* label */
|
||||||
|
#define C_ULABEL 7 /* undefined label */
|
||||||
|
#define C_MOS 8 /* member of structure */
|
||||||
|
#define C_ARG 9 /* function argument */
|
||||||
|
#define C_STRTAG 10 /* structure tag */
|
||||||
|
#define C_MOU 11 /* member of union */
|
||||||
|
#define C_UNTAG 12 /* union tag */
|
||||||
|
#define C_TPDEF 13 /* type definition */
|
||||||
|
#define C_USTATIC 14 /* undefined static */
|
||||||
|
#define C_ENTAG 15 /* enumeration tag */
|
||||||
|
#define C_MOE 16 /* member of enumeration */
|
||||||
|
#define C_REGPARM 17 /* register parameter */
|
||||||
|
#define C_FIELD 18 /* bit field */
|
||||||
|
#define C_BLOCK 100 /* ".bb" or ".eb" */
|
||||||
|
#define C_FCN 101 /* ".bf" or ".ef" */
|
||||||
|
#define C_EOS 102 /* end of structure */
|
||||||
|
#define C_FILE 103 /* file name */
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The following storage class is a "dummy" used only by STS
|
||||||
|
* for line number entries reformatted as symbol table entries
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define C_LINE 104
|
||||||
|
#define C_ALIAS 105 /* duplicate tag */
|
||||||
|
#define C_HIDDEN 106 /* special storage class for external */
|
||||||
|
/* symbols in dmert public libraries */
|
||||||
|
|
@ -0,0 +1,11 @@
|
||||||
|
extern char
|
||||||
|
*strcpy(),
|
||||||
|
*strncpy(),
|
||||||
|
*strcat(),
|
||||||
|
*strncat(),
|
||||||
|
*strchr(),
|
||||||
|
*strrchr(),
|
||||||
|
*strpbrk(),
|
||||||
|
*strtok();
|
||||||
|
extern long
|
||||||
|
strtol();
|
||||||
Loading…
Reference in New Issue