anchor.diff:                   | PCTUSED pctused=UNSIGNED_INTEGER
                    | INITRANS inittrans=UNSIGNED_INTEGER
                    )*
  -                 ( STORAGE LEFT_PAREN
  -                   ( INITIAL initial=size_clause
  +                 (STORAGE '('
  +                   (INITIAL initial=size_clause
                      | NEXT next=size_clause
                      | MINEXTENTS minextents=(UNSIGNED_INTEGER | UNLIMITED)
                      | PCTINCREASE pctincrease=UNSIGNED_INTEGER
                      | FREELISTS freelists=UNSIGNED_INTEGER
                      | FREELIST GROUPS freelist_groups=UNSIGNED_INTEGER
  -                   | OPTIMAL (size_clause | NULL )
  +                   | OPTIMAL (size_clause | NULL)
                      | BUFFER_POOL (KEEP | RECYCLE | DEFAULT)
                      | FLASH_CACHE (KEEP | NONE | DEFAULT)
                      | ENCRYPT
                      )+
  -                  RIGHT_PAREN
  +                  ')'
                    )?
  -
               )+
  -        RIGHT_PAREN
  +        ')'
       ;
   
   size_clause
  
positive.code: 
  create_table
      : CREATE (GLOBAL TEMPORARY)? TABLE tableview_name 
          LEFT_PAREN column_name datatype (',' column_name datatype)*
          RIGHT_PAREN
          (ON COMMIT (DELETE | PRESERVE) ROWS)?
          (SEGMENT CREATION (IMMEDIATE | DEFERRED))?
          (PCTFREE pctfree=UNSIGNED_INTEGER
          | PCTUSED pctused=UNSIGNED_INTEGER
          | INITRANS inittrans=UNSIGNED_INTEGER
          )*
          ( STORAGE LEFT_PAREN
            ( INITIAL initial=size_clause
            | NEXT next=size_clause
            | MINEXTENTS minextents=(UNSIGNED_INTEGER | UNLIMITED)
            | PCTINCREASE pctincrease=UNSIGNED_INTEGER
  
negative.code:         )?
  // Column_properties clause goes here
  // Partition clause goes here
           table_range_partition_by_clause?
  // Many more varations to capture
  
         ((ENABLE | DISABLE)? ROW MOVEMENT)?
  
         (FLASHBACK ARCHIVE flashback_archive=REGULAR_ID
         | NO FLASHBACK ARCHIVE
         )?
  
        (AS subquery)?
  
        ';'
      ;
  
  table_range_partition_by_clause
      : PARTITION BY RANGE
          '(' column_name (',' column_name)* ')'
            (INTERVAL '(' expression ')'
                (STORE IN '('
                          (','? tablespace_name=REGULAR_ID )+
                          ')'
                )?
            )?
          '('
              (COMMA? PARTITION partition_name=REGULAR_ID
                   VALUES LESS THAN
  // Supposed to be literal in here, will need to refine this                      
                       '('
                          (','? STRING
                          | ','? string_function
                          | ','? numeric
                          | ','? MAXVALUE
                          )+
                       ')'
                  (TABLESPACE partition_tablespace=REGULAR_ID)?
  
                  (ON COMMIT (DELETE | PRESERVE) ROWS)?
                  (SEGMENT CREATION (IMMEDIATE | DEFERRED))?
  