summaryrefslogtreecommitdiffstats
path: root/doc/expression.html
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2008-02-21 17:15:44 +0000
committerRainer Gerhards <rgerhards@adiscon.com>2008-02-21 17:15:44 +0000
commitabd0b45c447caa628bde2ceb6406c56bd7b56003 (patch)
treecf6774a3da495206ba345f39224bc9c63efc7f97 /doc/expression.html
parent2d5d05e7c5d3c2c3e1575ae7e240492f7df34256 (diff)
downloadrsyslog-abd0b45c447caa628bde2ceb6406c56bd7b56003.tar.gz
rsyslog-abd0b45c447caa628bde2ceb6406c56bd7b56003.tar.xz
rsyslog-abd0b45c447caa628bde2ceb6406c56bd7b56003.zip
modified ABNF to meet practical needs
Diffstat (limited to 'doc/expression.html')
-rw-r--r--doc/expression.html6
1 files changed, 2 insertions, 4 deletions
diff --git a/doc/expression.html b/doc/expression.html
index 2b601e86..b2ed7a06 100644
--- a/doc/expression.html
+++ b/doc/expression.html
@@ -1,8 +1,6 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
-<meta http-equiv="Content-Language" content="en"><title>Expressions</title>
-
-</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
@@ -11,7 +9,7 @@ far, they are supported for filtering messages.</p><p>C-like comments (/* some c
<h2>Formal Definition</h2>
<p>Below is the formal definition of expression format (in ABNF, RFC 2234):<br>
-</p><pre>if_stmt := "if" expr "then" # an aid, not part of expression itself<br><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><pre>if_stmt := "if" expr "then" # an aid, not part of expression itself<br><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>]
[<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