Consider:
create table index (col1:int);
create table foo.[index] (col1:int);
create table foo.index (col1:int);
The first 2 lines understand a table named "index" is intended.
The third line classifies the word "index" as the token 'INDEX' probably here.
Though not a good or recommended practice, table names are allowed to be arbitrary strings, even reserved words.
If strict adherence to quoted/delimited usage of key-word-as-identifier DDL is desired, then the first line (bare "index" ) should have failed.
If relaxed adherence is intended, then all 3 should have succeeded.