Skip to content

Commit

Permalink
Update ES|QL grammars
Browse files Browse the repository at this point in the history
  • Loading branch information
kibanamachine committed Feb 24, 2025
1 parent 3e4ed6e commit 7fe90c2
Show file tree
Hide file tree
Showing 9 changed files with 2,423 additions and 1,798 deletions.
20 changes: 17 additions & 3 deletions src/platform/packages/shared/kbn-esql-ast/src/antlr/esql_lexer.g4
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,8 @@ DEV_JOIN_FULL : {this.isDevVersion()}? 'full' -> pushMode(JOIN_MODE)
DEV_JOIN_LEFT : {this.isDevVersion()}? 'left' -> pushMode(JOIN_MODE);
DEV_JOIN_RIGHT : {this.isDevVersion()}? 'right' -> pushMode(JOIN_MODE);

// FORK
DEV_FORK : {this.isDevVersion()}? 'fork' -> pushMode(FORK_MODE);

//
// Catch-all for unrecognized commands - don't define any beyond this line
Expand Down Expand Up @@ -195,14 +197,12 @@ IN: 'in';
IS: 'is';
LAST : 'last';
LIKE: 'like';
LP : '(';
NOT : 'not';
NULL : 'null';
NULLS : 'nulls';
OR : 'or';
PARAM: '?';
RLIKE: 'rlike';
RP : ')';
TRUE : 'true';

EQ : '==';
Expand Down Expand Up @@ -237,6 +237,9 @@ NAMED_OR_POSITIONAL_PARAM
OPENING_BRACKET : '[' -> pushMode(EXPRESSION_MODE), pushMode(EXPRESSION_MODE);
CLOSING_BRACKET : ']' -> popMode, popMode;

LP : '(' -> pushMode(EXPRESSION_MODE), pushMode(EXPRESSION_MODE);
RP : ')' -> popMode, popMode;

UNQUOTED_IDENTIFIER
: LETTER UNQUOTED_ID_BODY*
// only allow @ at beginning of identifier to keep the option to allow @ as infix operator in the future
Expand Down Expand Up @@ -669,4 +672,15 @@ INSIST_IDENTIFIER: UNQUOTED_IDENTIFIER -> type(UNQUOTED_IDENTIFIER);

INSIST_WS : WS -> channel(HIDDEN);
INSIST_LINE_COMMENT : LINE_COMMENT -> channel(HIDDEN);
INSIST_MULTILINE_COMMENT : MULTILINE_COMMENT -> channel(HIDDEN);
INSIST_MULTILINE_COMMENT : MULTILINE_COMMENT -> channel(HIDDEN);

//
// Fork
//
mode FORK_MODE;
FORK_LP : LP -> type(LP), pushMode(DEFAULT_MODE);
FORK_PIPE : PIPE -> type(PIPE), popMode;

FORK_WS : WS -> channel(HIDDEN);
FORK_LINE_COMMENT : LINE_COMMENT -> channel(HIDDEN);
FORK_MULTILINE_COMMENT : MULTILINE_COMMENT -> channel(HIDDEN);

Large diffs are not rendered by default.

299 changes: 151 additions & 148 deletions src/platform/packages/shared/kbn-esql-ast/src/antlr/esql_lexer.tokens
Original file line number Diff line number Diff line change
Expand Up @@ -23,119 +23,123 @@ DEV_METRICS=22
DEV_JOIN_FULL=23
DEV_JOIN_LEFT=24
DEV_JOIN_RIGHT=25
UNKNOWN_CMD=26
LINE_COMMENT=27
MULTILINE_COMMENT=28
WS=29
PIPE=30
QUOTED_STRING=31
INTEGER_LITERAL=32
DECIMAL_LITERAL=33
BY=34
AND=35
ASC=36
ASSIGN=37
CAST_OP=38
COLON=39
COMMA=40
DESC=41
DOT=42
FALSE=43
FIRST=44
IN=45
IS=46
LAST=47
LIKE=48
LP=49
DEV_FORK=26
UNKNOWN_CMD=27
LINE_COMMENT=28
MULTILINE_COMMENT=29
WS=30
PIPE=31
QUOTED_STRING=32
INTEGER_LITERAL=33
DECIMAL_LITERAL=34
BY=35
AND=36
ASC=37
ASSIGN=38
CAST_OP=39
COLON=40
COMMA=41
DESC=42
DOT=43
FALSE=44
FIRST=45
IN=46
IS=47
LAST=48
LIKE=49
NOT=50
NULL=51
NULLS=52
OR=53
PARAM=54
RLIKE=55
RP=56
TRUE=57
EQ=58
CIEQ=59
NEQ=60
LT=61
LTE=62
GT=63
GTE=64
PLUS=65
MINUS=66
ASTERISK=67
SLASH=68
PERCENT=69
LEFT_BRACES=70
RIGHT_BRACES=71
NAMED_OR_POSITIONAL_PARAM=72
OPENING_BRACKET=73
CLOSING_BRACKET=74
UNQUOTED_IDENTIFIER=75
QUOTED_IDENTIFIER=76
EXPR_LINE_COMMENT=77
EXPR_MULTILINE_COMMENT=78
EXPR_WS=79
EXPLAIN_WS=80
EXPLAIN_LINE_COMMENT=81
EXPLAIN_MULTILINE_COMMENT=82
METADATA=83
UNQUOTED_SOURCE=84
FROM_LINE_COMMENT=85
FROM_MULTILINE_COMMENT=86
FROM_WS=87
ID_PATTERN=88
PROJECT_LINE_COMMENT=89
PROJECT_MULTILINE_COMMENT=90
PROJECT_WS=91
AS=92
RENAME_LINE_COMMENT=93
RENAME_MULTILINE_COMMENT=94
RENAME_WS=95
ON=96
WITH=97
ENRICH_POLICY_NAME=98
ENRICH_LINE_COMMENT=99
ENRICH_MULTILINE_COMMENT=100
ENRICH_WS=101
ENRICH_FIELD_LINE_COMMENT=102
ENRICH_FIELD_MULTILINE_COMMENT=103
ENRICH_FIELD_WS=104
MVEXPAND_LINE_COMMENT=105
MVEXPAND_MULTILINE_COMMENT=106
MVEXPAND_WS=107
INFO=108
SHOW_LINE_COMMENT=109
SHOW_MULTILINE_COMMENT=110
SHOW_WS=111
SETTING=112
SETTING_LINE_COMMENT=113
SETTTING_MULTILINE_COMMENT=114
SETTING_WS=115
LOOKUP_LINE_COMMENT=116
LOOKUP_MULTILINE_COMMENT=117
LOOKUP_WS=118
LOOKUP_FIELD_LINE_COMMENT=119
LOOKUP_FIELD_MULTILINE_COMMENT=120
LOOKUP_FIELD_WS=121
JOIN=122
USING=123
JOIN_LINE_COMMENT=124
JOIN_MULTILINE_COMMENT=125
JOIN_WS=126
METRICS_LINE_COMMENT=127
METRICS_MULTILINE_COMMENT=128
METRICS_WS=129
CLOSING_METRICS_LINE_COMMENT=130
CLOSING_METRICS_MULTILINE_COMMENT=131
CLOSING_METRICS_WS=132
CHANGE_POINT_LINE_COMMENT=133
CHANGE_POINT_MULTILINE_COMMENT=134
CHANGE_POINT_WS=135
INSIST_WS=136
INSIST_LINE_COMMENT=137
INSIST_MULTILINE_COMMENT=138
TRUE=56
EQ=57
CIEQ=58
NEQ=59
LT=60
LTE=61
GT=62
GTE=63
PLUS=64
MINUS=65
ASTERISK=66
SLASH=67
PERCENT=68
LEFT_BRACES=69
RIGHT_BRACES=70
NAMED_OR_POSITIONAL_PARAM=71
OPENING_BRACKET=72
CLOSING_BRACKET=73
LP=74
RP=75
UNQUOTED_IDENTIFIER=76
QUOTED_IDENTIFIER=77
EXPR_LINE_COMMENT=78
EXPR_MULTILINE_COMMENT=79
EXPR_WS=80
EXPLAIN_WS=81
EXPLAIN_LINE_COMMENT=82
EXPLAIN_MULTILINE_COMMENT=83
METADATA=84
UNQUOTED_SOURCE=85
FROM_LINE_COMMENT=86
FROM_MULTILINE_COMMENT=87
FROM_WS=88
ID_PATTERN=89
PROJECT_LINE_COMMENT=90
PROJECT_MULTILINE_COMMENT=91
PROJECT_WS=92
AS=93
RENAME_LINE_COMMENT=94
RENAME_MULTILINE_COMMENT=95
RENAME_WS=96
ON=97
WITH=98
ENRICH_POLICY_NAME=99
ENRICH_LINE_COMMENT=100
ENRICH_MULTILINE_COMMENT=101
ENRICH_WS=102
ENRICH_FIELD_LINE_COMMENT=103
ENRICH_FIELD_MULTILINE_COMMENT=104
ENRICH_FIELD_WS=105
MVEXPAND_LINE_COMMENT=106
MVEXPAND_MULTILINE_COMMENT=107
MVEXPAND_WS=108
INFO=109
SHOW_LINE_COMMENT=110
SHOW_MULTILINE_COMMENT=111
SHOW_WS=112
SETTING=113
SETTING_LINE_COMMENT=114
SETTTING_MULTILINE_COMMENT=115
SETTING_WS=116
LOOKUP_LINE_COMMENT=117
LOOKUP_MULTILINE_COMMENT=118
LOOKUP_WS=119
LOOKUP_FIELD_LINE_COMMENT=120
LOOKUP_FIELD_MULTILINE_COMMENT=121
LOOKUP_FIELD_WS=122
JOIN=123
USING=124
JOIN_LINE_COMMENT=125
JOIN_MULTILINE_COMMENT=126
JOIN_WS=127
METRICS_LINE_COMMENT=128
METRICS_MULTILINE_COMMENT=129
METRICS_WS=130
CLOSING_METRICS_LINE_COMMENT=131
CLOSING_METRICS_MULTILINE_COMMENT=132
CLOSING_METRICS_WS=133
CHANGE_POINT_LINE_COMMENT=134
CHANGE_POINT_MULTILINE_COMMENT=135
CHANGE_POINT_WS=136
INSIST_WS=137
INSIST_LINE_COMMENT=138
INSIST_MULTILINE_COMMENT=139
FORK_WS=140
FORK_LINE_COMMENT=141
FORK_MULTILINE_COMMENT=142
'dissect'=1
'drop'=2
'enrich'=3
Expand All @@ -153,50 +157,49 @@ INSIST_MULTILINE_COMMENT=138
'stats'=15
'where'=16
'lookup'=17
'|'=30
'by'=34
'and'=35
'asc'=36
'='=37
'::'=38
':'=39
','=40
'desc'=41
'.'=42
'false'=43
'first'=44
'in'=45
'is'=46
'last'=47
'like'=48
'('=49
'|'=31
'by'=35
'and'=36
'asc'=37
'='=38
'::'=39
':'=40
','=41
'desc'=42
'.'=43
'false'=44
'first'=45
'in'=46
'is'=47
'last'=48
'like'=49
'not'=50
'null'=51
'nulls'=52
'or'=53
'?'=54
'rlike'=55
')'=56
'true'=57
'=='=58
'=~'=59
'!='=60
'<'=61
'<='=62
'>'=63
'>='=64
'+'=65
'-'=66
'*'=67
'/'=68
'%'=69
'{'=70
'}'=71
']'=74
'metadata'=83
'as'=92
'on'=96
'with'=97
'info'=108
'join'=122
'USING'=123
'true'=56
'=='=57
'=~'=58
'!='=59
'<'=60
'<='=61
'>'=62
'>='=63
'+'=64
'-'=65
'*'=66
'/'=67
'%'=68
'{'=69
'}'=70
']'=73
')'=75
'metadata'=84
'as'=93
'on'=97
'with'=98
'info'=109
'join'=123
'USING'=124
Loading

0 comments on commit 7fe90c2

Please sign in to comment.