Database Configuration File Syntax

dbconfig := table_list enum_list record_list data_object 

table_list := /* empty */
              | table
              | table_list table

enum_list := /* empty */
             | enumeration
             | enum_list enumeration

record_list:= /* empty */ 
             | record 
             | record_list record 

data_object := DATABASEOBJECT SYMBOL NUMBER '{' string_semicolon '}' 

enumeration := ENUMERATION STRING '{' hier_lists '}' 

record := RECORD STRING '{' string_semicolon '}' 

table := TABLE STRING '{' string_semicolon '}' 

string_semicolon := string_list SEMICOLON 
                    | string_semicolon string_list SEMICOLON 

hier_lists := hier_list 
              | hier_lists hier_list

string_list := STRING 
               | string_list STRING 

hier_list := /* empty */ 
             | string_list 
             | string_list '{' hier_list '}' 

SYMBOL := [a-zA-Z]+[a-zA-Z0-9_()-&.'/%]*


STRING := "[^"]* 

NUMBER := [0-9]+

SEMICOLON := [;]