ietf-mta-filters
[Top] [All Lists]

Sieve - definition of comments

1998-11-23 04:11:03
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

<Prev in Thread] Current Thread [Next in Thread>