Update of /cvsroot/boost/boost/libs/xpressive/proto/doc
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv7769

Modified Files:
        calculator.qbk grammars.qbk history.qbk installation.qbk 
        preface.qbk rationale.qbk transforms.qbk 
Log Message:
doc tweaks

Index: calculator.qbk
===================================================================
RCS file: /cvsroot/boost/boost/libs/xpressive/proto/doc/calculator.qbk,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- calculator.qbk      20 Jun 2007 06:30:39 -0000      1.12
+++ calculator.qbk      20 Jun 2007 18:53:00 -0000      1.13
@@ -16,7 +16,7 @@
 expression, such as `(_2 - _1) / _2 * 100`, where `_1` and `_2` are
 placeholders for values to be passed in when the expression is evaluated.
 
-[header Defining Terminals]
+[heading Defining Terminals]
 
 The first order of business is to define the placeholders `_1` and `_2`. For
 that, we'll use the _terminal_ expression generator.
@@ -37,7 +37,7 @@
 Initialization] section in the [link boost_proto.appendices.rationale 
Rationale]
 appendix for more information.
 
-[header Constructing Expression Trees]
+[heading Constructing Expression Trees]
 
 Now that we have terminals, we can use Proto's operator overloads to combine
 these terminals into larger expressions. So, for instance, we can immediately
@@ -49,7 +49,7 @@
 behavior. In particular, it is not yet a calculator. Below we'll see how
 to make it a calculator by defining an evaluation context.
 
-[header Defining an Evaluation Context]
+[heading Defining an Evaluation Context]
 
 No doubt you want your expression templates to actually /do/ something. One
 approach is to define an ['evaluation context]. The context is like a function
@@ -133,7 +133,7 @@
     // This prints "10"
     std::cout << d << std::endl;
 
-[header Default Expression Evaluation]
+[heading Default Expression Evaluation]
 
 You might notice that the `calculator_context` has a lot of boilerplate. It
 is fairly common for addition nodes to be handled by evaluating the left and

Index: grammars.qbk
===================================================================
RCS file: /cvsroot/boost/boost/libs/xpressive/proto/doc/grammars.qbk,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- grammars.qbk        18 Jun 2007 02:56:21 -0000      1.11
+++ grammars.qbk        20 Jun 2007 18:53:00 -0000      1.12
@@ -255,9 +255,9 @@
 
 [endsect]
 
-[/============================================================]
-[section Condition and Conjunction with [^if_<>] and [^and_<>]]
-[/============================================================]
+[/=======================================================================]
+[section:if_and_and Condition and Conjunction with [^if_<>] and [^and_<>]]
+[/=======================================================================]
 
 We've already seen how to use expression generators like `terminal<>` and
 `shift_right<>` as patterns. We've also seen _or_, which we can use to
@@ -287,6 +287,21 @@
 `mpl::_` should appear in your patterns is in an _if_, or in 
tranform::applyN<>,
 as we'll see later. Elsewhere in your patterns you should be using `proto::_`.]
 
+The _if_ template has a couple of variants. In additon to `if_<Condition>` you
+can also say `if_<Condition, ThenGrammar>` and
+`if_<Condition, ThenGrammar, ElseGrammar>`. These let you select one 
sub-grammar
+or another based on the `Condition`. They following table shows their
+equivalencies:
+
+[table If-Then-Else Equivalencies
+[[Short-Cut Grammar][Equivalent Grammar]]
+[[`if_<Condition, ThenGrammar>`][`and_<if_<Condition>, ThenGrammar>`]]
+[[`if_<Condition, ThenGrammar, ElseGrammar>`][``or_<
+    and_<if_<Condition>, ThenGrammar>
+  , and_<not_<if_<Condition> >, ElseGrammar>
+>``]]
+]
+
 [endsect]
 
 [/================================]

Index: history.qbk
===================================================================
RCS file: /cvsroot/boost/boost/libs/xpressive/proto/doc/history.qbk,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- history.qbk 18 Jun 2007 06:51:27 -0000      1.3
+++ history.qbk 20 Jun 2007 18:53:00 -0000      1.4
@@ -9,7 +9,12 @@
 
 [variablelist
 [
-    [April 4, 2006]
+    [April 15, 2007]
+    [Boost.Xpressive is ported from Proto compilers to Proto transforms.
+     Support for old Proto compilers is dropped.]
+]
+[
+    [April 4, 2007]
     [Preliminary submission of Proto to Boost.]
 ]
 [

Index: installation.qbk
===================================================================
RCS file: /cvsroot/boost/boost/libs/xpressive/proto/doc/installation.qbk,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- installation.qbk    18 Jun 2007 02:56:21 -0000      1.4
+++ installation.qbk    20 Jun 2007 18:53:00 -0000      1.5
@@ -7,13 +7,13 @@
 
 [section Installing Proto]
 
-[header Getting Proto]
+[heading Getting Proto]
 
 Currently the only way to get Proto is through CVS via the boost project on
 SourceForge.net. Just go to [EMAIL PROTECTED]://sf.net/projects/boost] and 
follow the
 instructions there for anonymous CVS access.
 
-[header Building with Proto]
+[heading Building with Proto]
 
 Proto is a header-only template library, which means you don't need to alter
 your build scripts or link to any separate lib file to use it. All you need
@@ -21,11 +21,11 @@
 core of Proto. If you want to use any transforms, you must include the
 appropriate header from the [^boost\/xpressive\/proto\/transform\/] directory.
 
-[header Requirements]
+[heading Requirements]
 
 Proto depends on Boost. You must use the version in CVS HEAD.
 
-[header Supported Compilers]
+[heading Supported Compilers]
 
 Currently, Boost.Proto is known to work on the following compilers:
 

Index: preface.qbk
===================================================================
RCS file: /cvsroot/boost/boost/libs/xpressive/proto/doc/preface.qbk,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- preface.qbk 18 Jun 2007 02:56:21 -0000      1.5
+++ preface.qbk 20 Jun 2007 18:53:00 -0000      1.6
@@ -10,7 +10,7 @@
 [:Something witty.]
 [:[*['-- Someone Famous]]]
 
-[header Description]
+[heading Description]
 
 Proto is a framework for building Domain Specific Embedded Languages
 in C++. It provides tools for constructing, type-checking, transforming and
@@ -25,7 +25,7 @@
 * An extensible set of tree transformations to apply to expression trees.
 * A mechanism for giving expressions additional behaviors and members.
 
-[header Motivation]
+[heading Motivation]
 
 Expression Templates are an advanced technique that C++ library developers use
 to define embedded mini-languages that target specific problem domains. The
@@ -45,7 +45,7 @@
 
 In short, Proto is a DSEL for defining DSELs.
 
-[header Influences and Related Work]
+[heading Influences and Related Work]
 
 Proto was initially developed as part of _xpressive_ to simplify the job of
 transforming an expression template into an executable finite state machine

Index: rationale.qbk
===================================================================
RCS file: /cvsroot/boost/boost/libs/xpressive/proto/doc/rationale.qbk,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- rationale.qbk       18 Jun 2007 02:56:21 -0000      1.1
+++ rationale.qbk       20 Jun 2007 18:53:00 -0000      1.2
@@ -20,7 +20,7 @@
 `_1` and `_2` from the Boost.Lambda library. Were these object to require
 run-time initialization, it might be possible to use these objects before they
 are initialized. That would be bad. Statically initialized objects cannot be
-misused that way.]
+misused that way.
 
 [endsect]
 

Index: transforms.qbk
===================================================================
RCS file: /cvsroot/boost/boost/libs/xpressive/proto/doc/transforms.qbk,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- transforms.qbk      18 Jun 2007 02:56:21 -0000      1.15
+++ transforms.qbk      20 Jun 2007 18:53:00 -0000      1.16
@@ -570,6 +570,7 @@
 
 [endsect]
 
+[/
 [section:conditional [^conditional<>]]
 
     namespace boost { namespace proto { namespace transform
@@ -608,6 +609,7 @@
     {};
 
 [endsect]
+]
 
 [section:list [^list<>]]
 


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Boost-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/boost-cvs

Reply via email to