RPA Toolkit
Fixed a bug in RPAVM where a non special character was treated as special
[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 S              ::= ( [#x20] | [#x9] | [#xD] | [#xA] )+        # Space characters
15 last_name      ::= [A-Za-z]+
16 first_name     ::= [A-Za-z]+
17 house_num      ::= [0-9]+
18 apt_num        ::= '#' <S>? [0-9]+
19 street_name    ::= ([A-Za-z0-9] | ' ' | '.')+
20 town_name      ::= ([A-Za-z] | ' ')+
21 ZIP_code       ::= [0-9][0-9][0-9][0-9][0-9]
22 state_code     ::= [A-Z][A-Z]
23 initial        ::= [A-Z]
24 name_part      ::= <first_name> <S> (<initial> "."? <S> )? <last_name> (<S> <jr>)?
25 street_address ::= <house_num> <S> <street_name> <apt_num>?
26 zip_part       ::= <town_name> <S>? "," <S>? <state_code> <S>? <ZIP_code>
27 jr             ::= "Sr." | "Jr."
28 postal_address ::= <name_part> <S> <street_address> <S> <zip_part>
29 @endcode
30
31
32
33
34 */