**Use case**

```
CREATE TABLE t
(
    x UInt8,
    y UInt8,
)
```
{
    ParserKeyword s_engine("ENGINE");
    ParserToken s_eq(TokenType::Equals);
    ParserKeyword s_partition_by("PARTITION BY");
    ParserKeyword s_primary_key("PRIMARY KEY");
    ParserKeyword s_order_by("ORDER BY");
    ParserKeyword s_sample_by("SAMPLE BY");
    ParserKeyword s_ttl("TTL");
    ParserKeyword s_settings("SETTINGS");
    ParserIdentifierWithOptionalParameters ident_with_optional_params_p;
    ParserExpression expression_p;
    ParserSetQuery settings_p( true);
    ParserTTLExpressionList parser_ttl_list;
    ParserStringLiteral string_literal_parser;
    ASTPtr engine;
    ASTPtr partition_by;
    ASTPtr primary_key;
    ASTPtr order_by;
    ASTPtr sample_by;
    ASTPtr ttl_table;
    ASTPtr settings;
    bool storage_like = false;
    bool parsed_engine_keyword = s_engine.ignore(pos, expected);
    if (parsed_engine_keyword)