1 # coding: utf-8
2 # frozen_string_literal: true
3
4
5
6 module Umu
7
8 module AbstractSyntax
9
10 module Core
11
12 module Expression
13
14 module Unary
15
16 module Atom
17
18 class Abstract < Unary::Abstract
19 def evaluate(env)
20 value = E::Tracer.trace_single(
21 env.pref,
22 env.trace_stack.count,
23 'Eval(Expr)',
24 self.class,
25 self.loc,
26 self.to_s
27 ) { |event|
28 __evaluate__ env, event
29 }
30
31 ASR.make_value value
32 end
33 end
34
35 end # Umu::AbstractSyntax::Core::Expression::Unary::Atom
36
37 end # Umu::AbstractSyntax::Core::Expression::Unary
38
39 end # Umu::AbstractSyntax::Core::Expression
40
41 end # Umu::AbstractSyntax::Core
42
43 end # Umu::AbstractSyntax
44
45 end # Umu