21 lines · javascript
1'use strict';2 3module.exports = {4 builtin_dialect : $ => prec.right(choice(5 // operation ::= `builtin.module` ($sym_name^)?6 // attr-dict-with-keyword $bodyRegion7 seq(choice('builtin.module', 'module'),8 field('name', optional($.bare_id)),9 field('attributes', optional($.attribute)),10 field('body', $.region)),11 12 // operation ::= `builtin.unrealized_conversion_cast`13 // ($inputs^ `:` type($inputs))?14 // `to` type($outputs) attr-dict15 seq(choice('builtin.unrealized_conversion_cast',16 'unrealized_conversion_cast'),17 field('inputs', optional($._value_use_type_list)),18 token('to'), field('outputs', $._type_list_no_parens),19 field('attributes', optional($.attribute)))))20}21