From dc329e56fa5e38bef903bf47b0ee91a04a17acd2 Mon Sep 17 00:00:00 2001 From: helly Date: Sun, 13 Jan 2008 18:08:23 +0000 Subject: [PATCH] - Update docu --- re2c/CHANGELOG | 1 + re2c/htdocs/index.html | 1 + re2c/htdocs/manual.html | 10 ++++++++-- re2c/re2c.1.in | 11 +++++++++-- 4 files changed, 19 insertions(+), 4 deletions(-) diff --git a/re2c/CHANGELOG b/re2c/CHANGELOG index 8a27789c..91cfefee 100644 --- a/re2c/CHANGELOG +++ b/re2c/CHANGELOG @@ -1,5 +1,6 @@ Version 0.13.2 (2007-??-??) --------------------------- +- Add support for ':=' style rules Version 0.13.1 (2007-08-24) --------------------------- diff --git a/re2c/htdocs/index.html b/re2c/htdocs/index.html index 2395678a..2df5a546 100755 --- a/re2c/htdocs/index.html +++ b/re2c/htdocs/index.html @@ -81,6 +81,7 @@ fixes which were incorporated.

Changelog

2007-??-??: 0.13.2

+
  • Added support for ':=' style rules.
  • 2007-08-24: 0.13.1

    diff --git a/re2c/htdocs/manual.html b/re2c/htdocs/manual.html index c71f1eb8..720d2af1 100755 --- a/re2c/htdocs/manual.html +++ b/re2c/htdocs/manual.html @@ -292,9 +292,14 @@ no other special code is generated. definitions and configurations.

    Rules consist of a regular expression along with a block of C/C++ code that is to be executed when the associated regular expression is -matched.

    +matched. You can either +start the code with an opening curly brace or the sequence ':='. When +the code with a curly brace then re2c counts the brace depth and stops looking +for code automatically. Otherwise curly braces are not allowed and re2c stops +looking for code at the first line that does not begin with whitespace.

    regular-expression { C/C++ code }
    +
    regular-expression := C/C++ code

    If -c is active then each regular expression is preceeded by a list of @@ -302,7 +307,8 @@ comma separated condition names. Besides normal naming rules there are two special cases. A rule may contain the single condition name '*' and no contition name at all. In the latter case the rule cannot have a regular expression. Non empty rules may further more specify the new condition. In that case re2c will -generated the necessary code to chnage the condition automatically. +generated the necessary code to chnage the condition automatically. Just as above +code can be started with a curly brace of the sequence ':='.

    <condition-list> regular-expression => condition { C/C++ code }
    diff --git a/re2c/re2c.1.in b/re2c/re2c.1.in index 657e6a24..9d6eb031 100644 --- a/re2c/re2c.1.in +++ b/re2c/re2c.1.in @@ -332,10 +332,16 @@ Each scanner specification consists of a set of \fIrules\fP, \fInamed definitions\fP and \fIconfigurations\fP. .LP \fIRules\fP consist of a \*(rx along with a block of C/C++ code that -is to be executed when the associated \fI\*(rx\fP is matched. +is to be executed when the associated \fI\*(rx\fP is matched. You can either +start the code with an opening curly brace or the sequence '\fB:=\fP'. When +the code with a curly brace then \*(re counts the brace depth and stops looking +for code automatically. Otherwise curly braces are not allowed and \*(re stops +looking for code at the first line that does not begin with whitespace. .P .RS \fI\*(rx\fP \fC{\fP \fIC/C++ code\fP \fC}\fP +.P +\fI\*(rx\fP \fC:=\fP \fIC/C++ code\fP .RE .P If \fB-c\fP is active then each \*(rx is preceeded by a list of @@ -343,7 +349,8 @@ comma separated condition names. Besides normal naming rules there are two special cases. A rule may contain the single condition name '*' and no contition name at all. In the latter case the rule cannot have a \*(rx. Non empty rules may further more specify the new condition. In that case \*(re will -generated the necessary code to chnage the condition automatically. +generated the necessary code to chnage the condition automatically. Just as above +code can be started with a curly brace of the sequence '\fB:=\fP'. .P .RS \fC<\fP\fIcondition-list\fP\fC>\fP \fI\*(rx\fP \fC=>\fP \fP\fIcondition\fP \fC{\fP \fIC/C++ code\fP \fC}\fP -- 2.50.0