summaryrefslogtreecommitdiffstats
path: root/doc/expression.html
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2008-02-24 17:53:16 +0000
committerRainer Gerhards <rgerhards@adiscon.com>2008-02-24 17:53:16 +0000
commit965c09147c8f87e4ed6ece46b9d54e612e35cf11 (patch)
treefb8a7f782c0d2b07c6413a13aa9cc70b7f3404fa /doc/expression.html
parent79ca6100e64b3fff6f52444f121ee1f7642a7b04 (diff)
downloadrsyslog-965c09147c8f87e4ed6ece46b9d54e612e35cf11.tar.gz
rsyslog-965c09147c8f87e4ed6ece46b9d54e612e35cf11.tar.xz
rsyslog-965c09147c8f87e4ed6ece46b9d54e612e35cf11.zip
- added some thoughts on RainerScript
- worked a bit on conversion functions
Diffstat (limited to 'doc/expression.html')
-rw-r--r--doc/expression.html8
1 files changed, 1 insertions, 7 deletions
diff --git a/doc/expression.html b/doc/expression.html
index 6d187413..e7eb7842 100644
--- a/doc/expression.html
+++ b/doc/expression.html
@@ -4,13 +4,7 @@
<body>
<h1>Expressions</h1>
<p>Rsyslog supports expressions at a growing number of places. So
-far, they are supported for filtering messages.</p><p>C-like comments (/* some comment */) are supported <span style="font-weight: bold;">inside</span> the expression, but not yet in the rest of the configuration file.</p>
-<p></p>
-<h2>Formal Definition</h2>
-
-<p>Below is the formal definition of expression format (in ABNF, RFC 2234):<br>
-</p><pre>; The stuff immediately below here is a quick shot at how the config<br>; file ABNF *at whole* may look like. That is not really related to<br>; expressions, but for the time being I put it here. It will later be<br>; moved to a more appropriate place. -- rgerhards, 2008-02-22<br>?line? := cfsysline / cfli<br>cfsysline:= BOL "$" *char EOL ; how to handle the first line? (no EOL in front!)<br>BOL := ; Begin of Line - implicitely set on file beginning and after each EOL<br>EOL := 0x0a ;LF<br>if_stmt := "if" expr "then"<br>old_filter:= BOL facility "." severity ; no whitespace allowed between BOL and facility!<br>facility := "*" / "auth" / "authpriv" / "cron" / "daemon" / "kern" / "lpr" / <br> "mail" / "mark" / "news" / "security" / "syslog" / "user" / "uucp" / <br> "local0" .. "local7" / "mark"<br> ; The keyword security should not be used anymore<br> ; mark is just internal<br>severity := TBD ; not really relevant in this context<br><br>; and now the actual expression<br>expr := e_and *("or" e_and)<br>e_and := e_cmp *("and" e_cmp)<br>e_cmp := val 0*1(cmp_op val)<br>val := term *(("+" / "-") term)<br>term := factor *(("*" / "/" / "%") factor)<br>factor := ["not"] ["-"] terminal<br>terminal := var / constant / function / ( "(" expr ")" )<br>function := name "(" *("," expr) ")"<br>var := "$" varname<br>varname := msgvar / sysvar<br>msgvar := name<br>sysvar := "$" name<br>name := alpha *(alnum)<br>constant := string / number<br>string := simpstr / tplstr ; tplstr will be implemented in next phase<br>simpstr := "'" *char "'" ; use your imagination for char ;)<br>tplstr := '"' template '"' ; not initially implemented<br>number := ["-"] 1*digit ; 0nn = octal, 0xnn = hex, nn = decimal<br>cmp_op := "==" / "!=" / "&lt;&gt;" / "&lt;" / "&gt;" / "&lt;=" / "&gt;=" / "contains" / "startswith"<br>digit := %x30-39<br>alpha := "a" ... "z" # all letters<br>alnum :* alpha / digit / "_"<br></pre>
-<p>[<a href="rsyslog_conf.html">rsyslog.conf overview</a>]
+far, they are supported for filtering messages.</p><p>Expression support is provided by RainerScript. For now, please see the formal expression definition in <a href="rainerscript.html">RainerScript ABNF</a>. It is the "expr" node.</p><p>C-like comments (/* some comment */) are supported <span style="font-weight: bold;">inside</span> the expression, but not yet in the rest of the configuration file.</p><p>[<a href="rsyslog_conf.html">rsyslog.conf overview</a>]
[<a href="manual.html">manual index</a>] [<a href="http://www.rsyslog.com/">rsyslog site</a>]</p>
<p><font size="2">This documentation is part of the
<a href="http://www.rsyslog.com/">rsyslog</a>