5949l2

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

name:  A series of letters and digits, starting with a letter.

number: A series of digits

quotedString: Any text that is surrounded by double quotes
