brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.4 KiB · b94cc98 Raw
31 lines · javascript
1'use strict';2 3module.exports = {4  func_dialect : $ => prec.right(choice(5                   // operation ::= `func.call_indirect` $callee `(`6                   // $callee_operands `)` attr-dict7                   //               `:` type($callee)8                   // operation ::= `func.call` $callee `(` $operands `)`9                   // attr-dict10                   //               `:` functional-type($operands, results)11                   seq(choice('func.call', 'call', 'func.call_indirect',12                              'call_indirect'),13                       field('callee', $.symbol_ref_id),14                       field('operands', $._value_use_list_parens),15                       field('attributes', optional($.attribute)),16                       field('return', $._function_type_annotation)),17 18                   // operation ::= `func.constant` attr-dict $value `:`19                   // type(results)20                   seq(choice('func.constant', 'constant'),21                       field('attributes', optional($.attribute)),22                       field('value', $.symbol_ref_id),23                       field('return', $._function_type_annotation)),24 25                   seq('func.func', $._op_func),26 27                   seq(choice('func.return', 'return'),28                       field('attributes', optional($.attribute)),29                       field('results', optional($._value_use_type_list)))))30}31