summaryrefslogtreecommitdiffstats
path: root/conf
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 /conf
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 `}'.
Diffstat (limited to 'conf')
-rw-r--r--conf/cf-lex.l4
-rw-r--r--conf/confbase.Y6
2 files changed, 4 insertions, 6 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;