Skip to content

Commit

Permalink
grammar: Maps
Browse files Browse the repository at this point in the history
  • Loading branch information
obiwac committed Oct 1, 2024
1 parent 4f78c75 commit ab64510
Show file tree
Hide file tree
Showing 4 changed files with 7,381 additions and 5,700 deletions.
9 changes: 4 additions & 5 deletions grammar.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ module.exports = grammar({

print: $ => seq("print", field("msg", $.expression)),
assert: $ => seq("assert", field("test", $.expression)),
return: $ => seq("return", optional(field("rv", $.expression))),
return: $ => prec.right(seq("return", optional(field("rv", $.expression)))),

// TODO Should we make expression a hidden node?

Expand All @@ -106,7 +106,7 @@ module.exports = grammar({
$.access,
$.parenthesized_expression,
$.vec,
// $.map,
$.map,
$.unary_expression,
$.binary_expression,
$.index,
Expand Down Expand Up @@ -187,9 +187,8 @@ module.exports = grammar({
),
),

// map_item: $ => seq(field("key", $.expression), ":", field("value", $.expression)),
// map_item_list: $ => choice($.map_item, seq($.map_item, ",", $.map_item_list)),
// map: $ => prec(-1, seq("{", optional($.map_item_list), "}")),
map_item: $ => seq(field("key", $.expression), ":", field("value", $.expression)),
map: $ => prec(PREC.literal, seq("{", optional(comma_sep($.map_item)), "}")),

overloadable_operator: _ => choice("++", "==="),
primitive_type: _ => choice("any", "int", "str", "bool", "void"),
Expand Down
139 changes: 117 additions & 22 deletions src/grammar.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

45 changes: 45 additions & 0 deletions src/node-types.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit ab64510

Please sign in to comment.