RPA Toolkit
doc changes
[rpatk.git] / rpa / doc / rpa_bnf.txt
1 /** \page rpa_bnf BNF Syntax.
2
3 @section intro Introduction
4 A BNF specification or schema is a set of derivation rules, written as:
5
6 @code
7 rulename ::= __expression__
8 @endcode
9
10 where rulename is a nonterminal, and the __expression__ consists of one or more sequences of rulenames or terminals.
11 This is an example BNF specification of a postal address:
12
13 @code
14 name_part      ::= <personal_part> <last_name> <opt_jr_part> | <personal_part> <name_part>
15 personal_part  ::= <first_name> | <initial> "." 
16 street_address ::= <house_num> <street_name> <opt_apt_num>
17 zip_part       ::= <town_name> "," <state_code> <ZIP_code>
18 opt_jr_part    ::= "Sr." | "Jr." | <roman_numeral> | ""
19 postal_address ::= <name_part> <street_address> <zip_part>
20 @endcode
21
22 This example is not complete, because there still some nonterminals that are not specified. It should just give you an idea
23 how to create a sequence of rulenames to build a full BNF specification.
24
25 */