summaryrefslogtreecommitdiff
path: root/conf/confbase.Y
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1998-11-27 19:36:06 +0000
committerMartin Mares <mj@ucw.cz>1998-11-27 19:36:06 +0000
commitf142750d3420d482d7e9344c71777fdd37754114 (patch)
tree215a4decbbe12b6c720a2ddbd56df89619b5ac26 /conf/confbase.Y
parent82fc7be7bbb9af40d0abf8477f7af25e1423da1a (diff)
Base of the parser.
Diffstat (limited to 'conf/confbase.Y')
-rw-r--r--conf/confbase.Y45
1 files changed, 45 insertions, 0 deletions
diff --git a/conf/confbase.Y b/conf/confbase.Y
new file mode 100644
index 00000000..3eb104d0
--- /dev/null
+++ b/conf/confbase.Y
@@ -0,0 +1,45 @@
+/*
+ * BIRD -- Configuration Parser Top
+ *
+ * (c) 1998 Martin Mares <mj@ucw.cz>
+ *
+ * Can be freely distributed and used under the terms of the GNU GPL.
+ */
+
+CF_HDR
+
+#include "nest/bird.h"
+#include "conf/conf.h"
+
+CF_DECLS
+
+%union {
+ int i;
+ ip_addr a;
+ struct symbol *s;
+ char *t;
+}
+
+%token END
+%token <i> NUM
+%token <a> IPA
+%token <s> SYM
+%token <t> TEXT
+
+CF_GRAMMAR
+
+config: conf_entries END {
+ return 0;
+ }
+ ;
+
+conf_entries:
+ /* EMPTY */
+ | conf_entries conf ';'
+ ;
+
+CF_ADDTO(conf, /* EMPTY */)
+
+CF_CODE
+
+CF_END