language
Click on the red underlined text to get to the source
...
The language is powerful enough to be useful but limited in order to
allow for a safe server-side filtering ...
... filters, along with facilitating
the use of GUIs for filter creation and manipulation. The language is
not Turing-complete: it provides no way to write a loop or a function
and variables are not provided.
...
... mailing lists. However, many others
did not make use of the Andrew system's FLAMES filtering language
[FLAMES] due to difficulty in setting it up.
...
... Because of the expectation that users will make use of filtering if
it is offered and easy to use, this language has been made simple
enough to allow many users to make use of it, but rich enough that it
can be used productively. However, it is expected that GUI ...
... Form of the Language ...
...
The language consists of a set of commands. Each command consists of
a set of tokens delimited by whitespace. The command identifier ...
... allows the user to specify which [ACAP] comparator will be used to
compare two strings, since different languages may impose different
orderings on UTF-8 [UTF-8 ...
... "\\*" in strings to match against themselves. The first backslash
escapes the second backslash; together, they escape the "*". This is
awkward, but it is commonplace in several programming languages that
use globs and regular expressions.
...
...
In order to allow for language-independent, case-independent matches,
the match type may be coupled with a comparator name. Comparators
are described for [ACAP ...
...
Note: The reason for this restriction is that prior experiences with
languages such as LISP and Tcl suggest that this is a workable
way of noting that a given script uses an extension.
...
...
In any programming language, there are compile-time and run-time
errors.
...
... The semantics are similar to those of any of the many other
programming languages these control commands appear in. When the
interpreter sees an "if", it evaluates the test associated with it.
If the test is true, it executes the block associated with it.
...
...
While an important part of this language, "discard" has the potential
to create serious problems for users: Students who leave themselves
...
...
New control structures, actions, and tests can be added to the
language. Sites must make these features known to their users; this
document does not define a way to discover the list of extensions
supported by the server ...
...
Any extensions to this language MUST define a capability string that
uniquely identifies that extension. If a new version of an extension
...
... In a situation where there is a submission protocol and an extension
advertisement mechanism aware of the details of this language,
scripts submitted can be checked against the mail server to prevent
use of an extension that the server does not support.
...
... The Sieve grammar is separated into tokens and a separate grammar as
most programming languages are.
...
...
Implementations SHOULD take measures to prevent languages from
looping.
...
... copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
...
