From 7f400d1c620e80461e61384c7d0b8893edb92695 Mon Sep 17 00:00:00 2001 From: Martin Mares Date: Mon, 29 Mar 1999 19:04:14 +0000 Subject: [PATCH] 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 `}'. --- conf/cf-lex.l | 4 +--- conf/confbase.Y | 6 +++--- doc/bird.conf.example | 44 +++++++++++++++++++++---------------------- nest/config.Y | 2 +- 4 files changed, 27 insertions(+), 29 deletions(-) diff --git a/conf/cf-lex.l b/conf/cf-lex.l index d000f972..b6b0df70 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] \n { conf_lino++; BEGIN(INITIAL); - return ';'; } . diff --git a/conf/confbase.Y b/conf/confbase.Y index 7b5caf5f..880b0df5 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 d91a792a..f700f2fb 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 61a12cab..c855f093 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; } ;