aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/mitjafelicijan/go-tree-sitter/test_grammar.js
blob: 892f6e6f57790868ac67e324c8f2d1fff1140a8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
module.exports = grammar({
  name: 'test_grammar',

  extras: $ => [/\s/, $.comment],

  rules: {
    expression: $ => choice(
      $.sum,
      $.number,
      $.variable,
      seq('(', $.expression, ')')
    ),
    sum: $ => prec.left(1, seq(field('left', $.expression), '+', field('right', $.expression))),
    number: $ => /\d+/,
    comment: $ => token(seq('//', /.*/)),
    variable: $ => /[a-zA-Z]\\w*/,
  }
});