Skip to content

Commit bd356fe

Browse files
committed
Merge branch 'topic/lkql_rule_config' into 'master'
Rework the LKQL rule config file feature Closes #245 and #220 See merge request eng/libadalang/langkit-query-language!221
2 parents 333e784 + 101f389 commit bd356fe

File tree

190 files changed

+4021
-1575
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

190 files changed

+4021
-1575
lines changed

lkql/build/railroad-diagrams/at_object_assoc.svg

Lines changed: 8 additions & 8 deletions
Loading
Lines changed: 38 additions & 0 deletions
Loading

lkql/build/railroad-diagrams/object_assoc.svg

Lines changed: 5 additions & 5 deletions
Loading
Lines changed: 38 additions & 0 deletions
Loading
Lines changed: 37 additions & 0 deletions
Loading

lkql/build/railroad-diagrams/value_pattern.svg

Lines changed: 4 additions & 4 deletions
Loading

lkql/language/lexer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
class Token(LexerToken):
66
Identifier = WithSymbol()
7-
KindName = WithSymbol()
7+
UpperIdentifier = WithSymbol()
88
String = WithText()
99
Integer = WithText()
1010

@@ -136,7 +136,7 @@ class Token(LexerToken):
136136
(Literal("null"), Token.Null),
137137
(Pattern("[0-9]+"), Token.Integer),
138138
(Pattern("[a-z][A-Za-z0-9_]*"), Token.Identifier),
139-
(Pattern("[A-Z][A-Za-z_]*(.list)?"), Token.KindName),
139+
(Pattern("[A-Za-z][A-Za-z0-9_]*"), Token.UpperIdentifier),
140140
(Pattern(r'"(\\.|[^"])*"'), Token.String),
141141
(Pattern(r"#(.?)+"), Token.Comment)
142142
)

lkql/language/parser.py

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1074,12 +1074,12 @@ class Tuple(Expr):
10741074
ExtendedNodePattern(
10751075

10761076
Or(UniversalPattern("*"),
1077-
NodeKindPattern(G.kind_name),
1077+
NodeKindPattern(G.upper_id),
10781078
ParenPattern("(", G.or_pattern, ")")),
10791079

10801080
Pick("(", c(), List(G.pattern_arg, sep=","), ")")
10811081
),
1082-
NodeKindPattern(G.kind_name),
1082+
NodeKindPattern(G.upper_id),
10831083
UniversalPattern("*"),
10841084
NullPattern("null"),
10851085
G.regex_pattern,
@@ -1138,14 +1138,22 @@ class Tuple(Expr):
11381138
List(G.object_assoc, empty_valid=True, sep=","),
11391139
"}"
11401140
),
1141-
object_assoc=ObjectAssoc(G.id, ":", G.expr),
1141+
object_assoc=ObjectAssoc(G.object_key, ":", G.expr),
11421142

11431143
at_object_lit=AtObjectLiteral(
11441144
"@", "{",
11451145
List(G.at_object_assoc, empty_valid=True, sep=","),
11461146
"}"
11471147
),
1148-
at_object_assoc=AtObjectAssoc(G.id, Opt(":", G.expr)),
1148+
at_object_assoc=AtObjectAssoc(
1149+
G.object_key,
1150+
Opt(":", G.expr)
1151+
),
1152+
1153+
object_key=Or(
1154+
G.id,
1155+
G.upper_id
1156+
),
11491157

11501158
listcomp=ListComprehension(
11511159
"[",
@@ -1321,7 +1329,7 @@ class Tuple(Expr):
13211329
if_then_else=IfThenElse("if", G.expr, "then", G.expr, "else", G.expr),
13221330

13231331
id=Identifier(Token.Identifier),
1324-
kind_name=Identifier(Token.KindName),
1332+
upper_id=Identifier(Token.UpperIdentifier),
13251333
integer=IntegerLiteral(Token.Integer),
13261334

13271335
bool_literal=Or(BoolLiteral.alt_true("true"),

0 commit comments

Comments
 (0)