adzapper Home | About Adzapper | Installing | Zaplets | Zaplet File Format

Zaplet file format

Extended BNF for Zaplet file format

Version 0.5

This document specifies the zaplet file format in Extended BNF format.

   
<zaplet_file>            ::= <zaplet> { <zaplet> }

<zaplet>                 ::= "<zaplet>" newline
                                 <zaplet_body>
                             "</zaplet>" newline

<zaplet_body>            ::= <header_statements>
                             { <allow_block_statements> }

<header_statements>      ::= [ <comment_statements> ]
                             <version_statement>
                             [ <comment_statements> ]
                             <host_statement>

<allow_block_statements> ::= { <comment_statement> |
                             <block_statement> |
                             <allow_statement> }

<comment_statements>     ::= <comment> newline { <comment> newline }

<comment>                ::= "#" <string>

<block_statement>        ::= "block" <match_expression> [ <comment> ] newline

<allow_statement>        ::= "allow" <match_expression> [ <comment> ] newline

<match_expression>       ::= <literal> | <quoted_literal> |
                             <regular_expression>

<literal>                ::= any_visible_character { any_visible_character }

<string>                 ::= any_character { any_character }

<quoted_literal>         ::= """ <string> """ |
                             "'" <string> "'"

<version_statement>      ::= "version" <decimal_number> [ <comment> ] newline

<host_statement>         ::= "host" <internet_host> [ <comment> ] newline

<decimal_number>         ::= <integer> "." <integer>

<integer>                ::= digit { digit }

<internet_host>          ::= <partial_host> { "." <partial_host> }

<partial_host>           ::= <ih_character> { <ih_character> }

<ih_character>           ::= letter | digit | "_" | "-"

<regular_expression>     ::= "/" <rexpr_string> "/"

<rexpr_string>           ::= python_regular_expression_string


Notes:

1. python_regular_expression_string is a Perl-style regular expression as specified by the Python documentation. For more information, see:

http://www.python.org/doc/current/lib/module-re.html

2. newline is the newline character '\n'.

3. any_visible_character means any character except whitespace and control characters.

4. any_character means any character, including the tab character ('/t'), except newline and control characters.

5. This document uses the Extended BNF format, used by many authors to specify the syntax of programming languages. For more information, see:

http://cuiwww.unige.ch/db-research/Enseignement/analyseinfo/AboutBNF.html


adzapper Home | About Adzapper | Installing | Zaplets | Zaplet File Format

Adam Feuer
adamf at pobox.com (replace the 'at' with '@' to contact me via email)
Last modified
http://www.pobox.com/~adamf/

Last Modified: Sat Oct 09 21:21:48 1999