Listing 2. autoSql Grammar

declarationList:
   declaration
      declarationList declaration

declaration:
   declareType declareName comment '(' fieldList
')'

declareType:
   'simple'
   'object'
   'table'

declareName:
   name

comment:
   quotedString

fieldList:
   field
   fieldList field

field:
   fieldType fieldName ';' comment
   fieldType '[' fieldSize ']'  name
';' comment

fieldName:
   name

fieldType:
   'int'
   'uint'
   'short'
   'ushort'
   'byte'
   'ubyte'
   'float'
   'char'
   'string'
   'lstring'
   declareType declareName

fieldSize:
   number
   fieldName

Notes: