Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for a snapshot of the develop branch, built from commit 0f79ae966a.
PrevUpHomeNext

Style Guide

At some point, especially when there are lots of semantic actions attached to various points, the grammar tends to be quite difficult to follow. In order to keep an easy-to-read, consistent and aesthetically pleasing look to the Spirit code, the following coding style guide is advised.

This coding style is adapted and extended from the ANTLR/PCCTS style and Boost Library Requirements and Guidelines and is the combined work of Joel de Guzman, Chris Uzdavinis, and Hartmut Kaiser.

program
    =   program_heading [heading_action]
        >> block [block_action]
        >> '.'
    |   another_sequence
        >> etc
    ;
program_heading
    =   no_case["program"]
        >> identifier
        >> '('
        >> file_identifier
        >> *( ',' >> file_identifier )
        >> ')'
        >> ';'
    ;
identifier
    =   no_case
        [
            lexeme
            [
                alpha >> *(alnum | '_') [id_action]
            ]
        ]
   ;
block
   =  *(   label_declaration_part
       |   constant_definition_part
       |   type_definition_part
       |   variable_declaration_part
       |   procedure_and_function_declaration_part
       )
       >> statement_part
   ;

PrevUpHomeNext