`PRIMARY KEY (key1,key2,key3)` VS `PRIMARY KEY key1,key2,key3`

```
create database test;
use test;

create table dict_table ( key1 UInt64, key2 String, key3 String, S String)
Engine MergeTree order by (key1, key2, key3);

CREATE DICTIONARY item_dict ( key1 UInt64, key2 String, key3 String, S String ) 
PRIMARY KEY (key1,key2,key3) 
SOURCE(CLICKHOUSE(TABLE dict_table DB 'test' USER 'default')) 
LAYOUT(complex_key_direct());

Expected one of: list of elements, identifier

CREATE DICTIONARY item_dict ( key1 UInt64, key2 String, key3 String, S String ) 
PRIMARY KEY key1,key2,key3
SOURCE(CLICKHOUSE(TABLE dict_table DB 'test' USER 'default')) 
LAYOUT(complex_key_direct());
Ok.

0 rows in set. Elapsed: 0.007 sec.
```
if (!ast_lifetime && lifetime_keyword.ignore(pos, expected))
        {
            if (!open.ignore(pos))
                return false;
            if (!lifetime_p.parse(pos, ast_lifetime, expected))
                return false;
            if (!close.ignore(pos))
                return false;
            continue;
        }
        if (!ast_layout && layout_keyword.ignore(pos, expected))
        {
            if (!open.ignore(pos))
                return false;
            if (!layout_p.parse(pos, ast_layout, expected))
                return false;
            if (!close.ignore(pos))
                return false;
            continue;
        }
        if (!ast_range && range_keyword.ignore(pos, expected))
        {
            if (!open.ignore(pos))
                return false;
            if (!range_p.parse(pos, ast_range, expected))
                return false;
            if (!close.ignore(pos))
                return false;
            continue;
        }