Sorry about point 2) - I overlooked that 'comment' was part of the WSP
definition.
- Wilbert
----------
From: Wilbert de Graaf[SMTP:w(_dot_)degraaf(_at_)hetnet(_dot_)nl]
Sent: maandag 23 november 1998 12:13
To: ietf-mta-filters(_at_)imc(_dot_)org
Subject: Sieve - definition of comments
Sieve.all,
I have a little problem with the comments in the sieve language as
specified in draft 05.
1) firts of all, comments cannot have white spaces according to the rule
comment = "#" *VCHAR CRLF
since VCHAR is defined in ABNF as
VCHAR = %x21-7e ; visible (printing) characters
and it is not overruled in the sieve spec. This does not include spaces
and \t. Until now, I defined it to be
comment = "#" *(SP / HTAB / VCHAR) CRLF
(btw. WSP in the ABNF doc is defined to be (SP / HTAB) while in the sieve
draft it is (SP / HTAB / CRLF) but this is not really a problem)
2) As I read it, a sieve script cannot start with a comment according to
the definition:
start = commands
commands = *([WSP] command [WSP])
command = identifier *(WSP argument) [WSP] (";" / block)
This tells that every script should start with an identifier. Maybe start
could be more like
start = *(commands / comments)
This is actually not correct but I do not understand where comments can be
put. Especially the example script at 2.3
if size :over 100K { # this is a comment
discard;
}
Comment is embedded in command in this specific example:
command = identifier *(WSP argument) [WSP] ( ";" / block )
block = "{" commands "}"
commands = *([WSP] command [WSP])
argument = string / string-list / number / tag / test
I cannot think about the best way to insert 'comments' somewhere right now
but before I try to think of something, I will wait if these issues made
sense.
Also, I think almost every [WSP} should be replaced with *[WSP], or even
better, with LWSP.
- Wilbert