mirror of
https://github.com/hanzoai/ast.git
synced 2026-11-02 19:28:21 +00:00
37 lines
570 B
JavaScript
37 lines
570 B
JavaScript
module.exports = grammar({
|
|
name: 'precedence_on_token',
|
|
|
|
extras: $ => [
|
|
/\s/,
|
|
$.comment,
|
|
],
|
|
|
|
rules: {
|
|
program: $ => repeat(choice(
|
|
$.string,
|
|
$.regex,
|
|
$.identifier,
|
|
$.slash,
|
|
)),
|
|
|
|
comment: _ => token(prec(1, /\/\/.*|\/\*[^*]*\*\//)),
|
|
|
|
string: $ => seq(
|
|
'"',
|
|
repeat(choice(
|
|
token(prec(2, /[^\"\n\\]+/)),
|
|
$.escape_sequence,
|
|
)),
|
|
'"',
|
|
),
|
|
|
|
escape_sequence: _ => /\\./,
|
|
|
|
regex: _ => /\/[^\/\n]+\/[a-z]*/,
|
|
|
|
identifier: _ => /[a-z]\w*/,
|
|
|
|
slash: _ => '/',
|
|
},
|
|
});
|