32 lines
1.8 KiB
JavaScript
32 lines
1.8 KiB
JavaScript
'use strict';
|
|
|
|
module.exports = {
|
|
bufferization_dialect : $ => choice(
|
|
seq('bufferization.alloc_tensor',
|
|
field('in', $._value_use_list_parens),
|
|
field('copy', optional(seq(token('copy'), '(',
|
|
$.value_use, ')'))),
|
|
field('size_hint',
|
|
optional(seq(token('size_hint'), '=',
|
|
$.value_use))),
|
|
field('attributes', optional($.attribute)),
|
|
field('return', $._type_annotation)),
|
|
|
|
// operation ::= `bufferization.to_memref` $tensor
|
|
// attr-dict `:` type($memref)
|
|
seq('bufferization.to_memref',
|
|
field('tensor', $.value_use),
|
|
field('attributes', optional($.attribute)),
|
|
field('return', $._type_annotation)),
|
|
|
|
// operation ::= `bufferization.to_tensor` $memref
|
|
// (`restrict` $restrict^)?
|
|
// (`writable` $writable^)? attr-dict
|
|
// `:` type($memref)
|
|
seq('bufferization.to_tensor',
|
|
field('memref', $.value_use),
|
|
field('restrict', optional($.restrict_attr)),
|
|
field('writable', optional($.writable_attr)),
|
|
field('attributes', optional($.attribute)),
|
|
field('return', $._type_annotation)))
|
|
}
|