summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1999-03-29 21:04:14 +0200
committerMartin Mares <mj@ucw.cz>1999-03-29 21:04:14 +0200
commit7f400d1c620e80461e61384c7d0b8893edb92695 (patch)
tree5bc6e2f1433f747c0cc4d1925ad4782123ae35ad
parent1127ac6ec7eff52d4ccbc4d836a63fa6513f6d48 (diff)
downloadbird-7f400d1c620e80461e61384c7d0b8893edb92695.tar
bird-7f400d1c620e80461e61384c7d0b8893edb92695.zip
After today's lengthy discussions about filter syntax, let's clean up
whitespace/semicolon rules for whole config file: o All non-zero amounts of whitespace are equivalent to single space (aka `all the whitespace has been born equal' ;-)). o Comments count as whitespace. o Whitespace has no syntactic signifance (it can only separate lexical elements). o Consequence: line ends are no longer treated as `;'s. o Every declaration must be terminated by an explicit `;' unless or by a group enclosed in `{' and `}'.
-rw-r--r--conf/cf-lex.l4
-rw-r--r--conf/confbase.Y6
-rw-r--r--doc/bird.conf.example44
-rw-r--r--nest/config.Y2
4 files changed, 27 insertions, 29 deletions
diff --git a/conf/cf-lex.l b/conf/cf-lex.l
index d000f97..b6b0df7 100644
--- a/conf/cf-lex.l
+++ b/conf/cf-lex.l
@@ -119,8 +119,7 @@ WHITE [ \t]
{WHITE}+
-\\\n conf_lino++;
-\n { conf_lino++; return ';'; }
+\n conf_lino++;
# BEGIN(COMMENT);
@@ -131,7 +130,6 @@ WHITE [ \t]
<COMMENT>\n {
conf_lino++;
BEGIN(INITIAL);
- return ';';
}
<COMMENT>.
diff --git a/conf/confbase.Y b/conf/confbase.Y
index 7b5caf5..880b0df 100644
--- a/conf/confbase.Y
+++ b/conf/confbase.Y
@@ -54,10 +54,10 @@ config: conf_entries END {
conf_entries:
/* EMPTY */
- | conf_entries conf ';'
+ | conf_entries conf
;
-CF_ADDTO(conf, /* EMPTY */)
+CF_ADDTO(conf, ';')
/* Constant expressions */
@@ -74,7 +74,7 @@ expr:
CF_ADDTO(conf, definition)
definition:
- DEFINE SYM '=' expr {
+ DEFINE SYM '=' expr ';' {
if ($2->class != SYM_VOID) cf_error("Symbol already defined");
$2->class = SYM_NUMBER;
$2->aux = $4;
diff --git a/doc/bird.conf.example b/doc/bird.conf.example
index d91a792..f700f2f 100644
--- a/doc/bird.conf.example
+++ b/doc/bird.conf.example
@@ -4,44 +4,44 @@
# Yet another comment
-#router id 62.168.0.1
+#router id 62.168.0.1;
-#define xyzzy = 120+10
+#define xyzzy = 120+10;
#filter sink { reject; }
#filter okay { accept; }
#protocol rip MyRIP_test {
-# preference xyzzy
-# debug all
+# preference xyzzy;
+# debug all;
#}
protocol direct {
-# disabled
-# interface "-eth*", "*"
+# disabled;
+# interface "-eth*", "*";
}
protocol kernel {
-# disabled
-# learn # Learn all routes from the kernel
- persist # Don't remove routes on bird shutdown
- scan time 20 # Scan kernel routing table every 20 seconds
-# async off # Netlink: Disable asynchronous events
-# input filter sink
-# output filter okay
+# disabled;
+# learn; # Learn all routes from the kernel
+ persist; # Don't remove routes on bird shutdown
+ scan time 20; # Scan kernel routing table every 20 seconds
+# async off; # Netlink: Disable asynchronous events
+# input filter sink;
+# output filter okay;
}
protocol device {
- scan time 10 # Scan interfaces every 10 seconds
+ scan time 10; # Scan interfaces every 10 seconds
}
protocol static {
-# disabled
-# route 0.0.0.0/0 via 62.168.0.13
-# route 62.168.0.0/25 reject
-# route 10.0.0.0/8 reject
-# route 10.1.1.0:255.255.255.0 via 62.168.0.3
-# route 10.1.2.0:255.255.255.0 via 62.168.0.3
-# route 10.1.3.0:255.255.255.0 via 62.168.0.4
-# route 10.2.0.0/24 via "arc0"
+# disabled;
+# route 0.0.0.0/0 via 62.168.0.13;
+# route 62.168.0.0/25 reject;
+# route 10.0.0.0/8 reject;
+# route 10.1.1.0:255.255.255.0 via 62.168.0.3;
+# route 10.1.2.0:255.255.255.0 via 62.168.0.3;
+# route 10.1.3.0:255.255.255.0 via 62.168.0.4;
+# route 10.2.0.0/24 via "arc0";
}
diff --git a/nest/config.Y b/nest/config.Y
index 61a12ca..c855f09 100644
--- a/nest/config.Y
+++ b/nest/config.Y
@@ -26,7 +26,7 @@ CF_GRAMMAR
/* Setting of router ID */
CF_ADDTO(conf, rtrid)
-rtrid: ROUTER ID idval {
+rtrid: ROUTER ID idval ';' {
new_config->router_id = $3;
}
;