view Schema/schema.def @ 7:94d47b388442

Улучшены тесты Исправлены ошибки Улучшена документация Работа над схемой DOM
author Sergey
date Mon, 24 Aug 2009 01:05:34 +0400
parents 03e58a454b20
children 16ada169ca75
line wrap: on
line source

syntax ::= header[ class ...]

name ::= <\w>+

column_name ::= {<\w>+|<[><^[]>+<]>}

type ::= name [<\<> template_list <\>>]

type_definition ::= name [<\<> args_list <\>>]

args_list ::= name [, name ...]

db_type ::= <\w>+[(<\d>+[,<\d>+])]

template_list ::= type[, type ...]

mapping ::= column_name [as db_type]

property ::= type name[ =<\>> mapping]

comment ::= #<^\n>*<\n>[ #<^\n>*<\n>...]

property_list ::= property ; [comment] [property ; [comment] ...]

base_types ::= type [, type ...]

value_type ::= value

class ::=
[comment][value_type ]type_definition [: base_types] <{>
    [comment]
    [property_list]
<}>

header_value ::= {*<^;>+ {;<\n>| header_value}|<^\n>+[;]}

header_prop ::= name = header_value

file_name ::=<\w./>+

include_item ::= include ( file_name )[;]

header ::=[ {header_prop|include_item} ...]