summaryrefslogtreecommitdiffstats
path: root/doc/expression.html
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2008-02-19 10:30:42 +0000
committerRainer Gerhards <rgerhards@adiscon.com>2008-02-19 10:30:42 +0000
commitcd2b24dfc45c4b115ace6d17ab0237511fef3d66 (patch)
treede8436b5397e4248327bbddbb223d9dec6fef1ef /doc/expression.html
parent80b1798e2ddaf9ee4090321dba7465f233207682 (diff)
downloadrsyslog-cd2b24dfc45c4b115ace6d17ab0237511fef3d66.tar.gz
rsyslog-cd2b24dfc45c4b115ace6d17ab0237511fef3d66.tar.xz
rsyslog-cd2b24dfc45c4b115ace6d17ab0237511fef3d66.zip
- added doc on how expressions will work
- cleaned up the stringbuf Construct interface - did some cleanup on stringbuf calls - we now have much better interfaces and macros
Diffstat (limited to 'doc/expression.html')
-rw-r--r--doc/expression.html24
1 files changed, 24 insertions, 0 deletions
diff --git a/doc/expression.html b/doc/expression.html
new file mode 100644
index 00000000..51d99900
--- /dev/null
+++ b/doc/expression.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Language" content="en"><title>Expressions</title>
+
+</head>
+<body>
+<h1>Expressions</h1>
+<p>Rsyslog supports expressions at a growing number of places. So
+far, they are supported for filtering messages.</p>
+<p></p>
+<h2>Formal Definition</h2>
+
+<p>Below is the formal definition of expression format (in ABNF, RFC 2234):<br>
+</p><pre>expr := e_and *("or" e_and)<br>e_and := e_cmp *("and" e_cmp)<br>e_cmp := val 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<br>cmp_op := "==" / "!=" / "&lt;" / "&gt;" / "&lt;=" / "&gt;=" <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>]
+[<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>
+project.<br>
+Copyright © 2008 by <a href="http://www.gerhards.net/rainer">Rainer
+Gerhards</a> and
+<a href="http://www.adiscon.com/">Adiscon</a>.
+Released under the GNU GPL version 3 or higher.</font></p>
+</body></html> \ No newline at end of file