diff options
Diffstat (limited to '')
-rw-r--r-- | src/kash/generated/nodes.h | 207 |
1 files changed, 207 insertions, 0 deletions
diff --git a/src/kash/generated/nodes.h b/src/kash/generated/nodes.h new file mode 100644 index 0000000..324fcbe --- /dev/null +++ b/src/kash/generated/nodes.h @@ -0,0 +1,207 @@ +/* + * This file was generated by mknodes.sh + */ + +#define NSEMI 0 +#define NCMD 1 +#define NPIPE 2 +#define NREDIR 3 +#define NBACKGND 4 +#define NSUBSHELL 5 +#define NAND 6 +#define NOR 7 +#define NIF 8 +#define NWHILE 9 +#define NUNTIL 10 +#define NFOR 11 +#define NCASE 12 +#define NCLIST 13 +#define NDEFUN 14 +#define NARG 15 +#define NTO 16 +#define NCLOBBER 17 +#define NFROM 18 +#define NFROMTO 19 +#define NAPPEND 20 +#define NTOFD 21 +#define NFROMFD 22 +#define NHERE 23 +#define NXHERE 24 +#define NNOT 25 + + + +struct nbinary { +#ifdef KASH_SEPARATE_PARSER_ALLOCATOR + struct pstack_block *pblock; +#endif + int type; + union node *ch1; + union node *ch2; +}; + + +struct ncmd { +#ifdef KASH_SEPARATE_PARSER_ALLOCATOR + struct pstack_block *pblock; +#endif + int type; + int backgnd; + union node *args; + union node *redirect; +}; + + +struct npipe { +#ifdef KASH_SEPARATE_PARSER_ALLOCATOR + struct pstack_block *pblock; +#endif + int type; + int backgnd; + struct nodelist *cmdlist; +}; + + +struct nredir { +#ifdef KASH_SEPARATE_PARSER_ALLOCATOR + struct pstack_block *pblock; +#endif + int type; + union node *n; + union node *redirect; +}; + + +struct nif { +#ifdef KASH_SEPARATE_PARSER_ALLOCATOR + struct pstack_block *pblock; +#endif + int type; + union node *test; + union node *ifpart; + union node *elsepart; +}; + + +struct nfor { +#ifdef KASH_SEPARATE_PARSER_ALLOCATOR + struct pstack_block *pblock; +#endif + int type; + union node *args; + union node *body; + char *var; +}; + + +struct ncase { +#ifdef KASH_SEPARATE_PARSER_ALLOCATOR + struct pstack_block *pblock; +#endif + int type; + union node *expr; + union node *cases; +}; + + +struct nclist { +#ifdef KASH_SEPARATE_PARSER_ALLOCATOR + struct pstack_block *pblock; +#endif + int type; + union node *next; + union node *pattern; + union node *body; +}; + + +struct narg { +#ifdef KASH_SEPARATE_PARSER_ALLOCATOR + struct pstack_block *pblock; +#endif + int type; + union node *next; + char *text; + struct nodelist *backquote; +}; + + +struct nfile { +#ifdef KASH_SEPARATE_PARSER_ALLOCATOR + struct pstack_block *pblock; +#endif + int type; + int fd; + union node *next; + union node *fname; +}; + + +struct ndup { +#ifdef KASH_SEPARATE_PARSER_ALLOCATOR + struct pstack_block *pblock; +#endif + int type; + int fd; + union node *next; + int dupfd; + union node *vname; +}; + + +struct nhere { +#ifdef KASH_SEPARATE_PARSER_ALLOCATOR + struct pstack_block *pblock; +#endif + int type; + int fd; + union node *next; + union node *doc; +}; + + +struct nnot { +#ifdef KASH_SEPARATE_PARSER_ALLOCATOR + struct pstack_block *pblock; +#endif + int type; + union node *com; +}; + + +union node { +#ifdef KASH_SEPARATE_PARSER_ALLOCATOR +# ifdef __GNUC__ + __extension__ +# endif + struct { + struct pstack_block *pblock; + int type; + }; +#else + int type; +#endif + struct nbinary nbinary; + struct ncmd ncmd; + struct npipe npipe; + struct nredir nredir; + struct nif nif; + struct nfor nfor; + struct ncase ncase; + struct nclist nclist; + struct narg narg; + struct nfile nfile; + struct ndup ndup; + struct nhere nhere; + struct nnot nnot; +}; + + +struct nodelist { + struct nodelist *next; + union node *n; +}; + + +union node *copyfunc(struct shinstance *, union node *); +void freefunc(struct shinstance *, union node *); |