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