Commit graph

30 commits

Author SHA1 Message Date
Bruno BELANYI f267a5be95 Add multi-valued select expression 2024-04-23 15:43:10 +00:00
Bruno BELANYI 8166742493 Remove trailing commas in 'select_value' arguments 2024-04-23 15:23:06 +00:00
Bruno BELANYI 7d8f958a90 Add boolean-typed select values 2024-04-23 15:14:16 +00:00
Bruno BELANYI 3bc77aab19 Remove 'selection_type' alias 2024-04-23 15:13:53 +00:00
Bruno BELANYI c56e2eca70 Simplify 'select_value' rule
Upstream has greatly simplified the parsing of `select` expressions, in
order to add multi-valued `select`.

To this end, we remove the hard-coded list of function names, and accept
an arbitrary number of arguments.
2024-04-23 15:11:00 +00:00
Bruno BELANYI b2e113a821 Relax ordering in 'select' cases
We shouldn't really care whether or not `default` *is* the last value...
2024-04-23 14:38:32 +00:00
Bruno BELANYI 6d6d9fc03b Add test for multiple arguments in selection type 2024-04-14 13:00:17 +01:00
Bruno BELANYI e6a2757c51 Alias 'default_case' to 'select_case'
There's not much use in the node being a different name.
2024-04-13 18:23:06 +01:00
Bruno BELANYI 8db7b053f5 Add 'default' alias
This makes it appear in the tree as a named node.
2024-04-13 18:21:58 +01:00
Bruno BELANYI b62fc19da9 Make comments a single node in the grammar
This looks to be a *strong* idiom in tree-sitter parsers.
2024-04-11 18:36:20 +01:00
Bruno BELANYI aa8472e73f Add test for literals 2024-04-11 18:08:40 +01:00
Bruno BELANYI be1e3f07d3 Make 'line_comment' more explicit about newlines
Because of the way regular expressions work, they were already bounded
at newlines here, but explicit is better than implicit :-).
2024-04-10 15:20:29 +00:00
Bruno BELANYI ddb4f693be Add test for 'select' as an identifier 2024-04-09 12:28:28 +01:00
Bruno BELANYI 384da2d065 Add test for multiple modules 2024-04-08 20:27:53 +01:00
Bruno BELANYI eec21c84da Add block comments 2024-04-08 20:15:59 +01:00
Bruno BELANYI 6d3dd1c8cb Fix line comments syntax
Don't write parsers after midnight kids.

For the explanation: I mixed up the syntax bits between Blueprint and
textual protocol buffers...
2024-04-08 20:15:59 +01:00
Bruno BELANYI 3e46a9b762 Add 'operator' aliases 2024-04-08 20:15:59 +01:00
Bruno BELANYI 25924c3c5c Add binary expression 2024-04-08 20:15:59 +01:00
Bruno BELANYI 2549f6f0db Add 'property' alias
It makes the syntax tree more readable.
2024-04-08 20:15:59 +01:00
Bruno BELANYI 8bd249fc90 Add modules 2024-04-08 20:15:59 +01:00
Bruno BELANYI a78ad8139f Add 'soong_config_variable' selection 2024-04-08 20:15:59 +01:00
Bruno BELANYI 12553c3bb8 Add 'select' expression
Except for 'soong_config_variable' which is not yet handled.
2024-04-08 20:15:59 +01:00
Bruno BELANYI 9dd109b90a Add boolean literals 2024-04-08 20:15:59 +01:00
Bruno BELANYI db2e88a539 Add map expressions 2024-04-08 20:15:59 +01:00
Bruno BELANYI e13f15e8db Add list expressions 2024-04-08 20:15:59 +01:00
Bruno BELANYI f548b1d5ad Add string literals
Once again, taking the rules more or less straight from tree-sitter-go.
2024-04-08 20:15:59 +01:00
Bruno BELANYI 57b38c01c0 Add negative integers 2024-04-08 20:15:59 +01:00
Bruno BELANYI 26b6891160 Add comments 2024-04-08 20:15:59 +01:00
Bruno BELANYI bc06816b57 Add '+=' assignment 2024-04-08 20:15:59 +01:00
Bruno BELANYI 38bf9532ad Add assignment 2024-04-08 20:15:59 +01:00