summaryrefslogtreecommitdiffstats
path: root/src/kash/generated/nodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/kash/generated/nodes.h')
-rw-r--r--src/kash/generated/nodes.h207
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 *);