1 # coding: utf-8
2 # frozen_string_literal: true
3
4
5 module Umu
6
7 module ConcreteSyntax
8
9 module Module
10
11 module Pattern
12
13 class Abstract < Abstraction::Model
14 def desugar_value(expr, env)
15 E::Tracer.trace(
16 env.pref,
17 env.trace_stack.count,
18 'Desu(Val)',
19 self.class,
20 self.loc,
21 self.to_s
22 ) { |event|
23 __desugar_value__ expr, env, event
24 }
25 end
26
27
28 def exported_vars
29 raise X::InternalSubclassResponsibility
30 end
31
32
33 private
34
35 def __desugar_value__(_expr, _env, _event)
36 raise X::InternalSubclassResponsibility
37 end
38 end
39
40 end # Umu::ConcreteSyntax::Module::Pattern
41
42 end # Umu::ConcreteSyntax::Module
43
44 end # Umu::ConcreteSyntax
45
46 end # Umu