File: concrete-syntax/module/pattern/abstract.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: Umu#5
  module: ConcreteSyntax#7
  module: Module#9
  module: Pattern#11
  class: Abstract#13
inherits from
  Model ( Umu::Abstraction )
has properties
method: desugar_value / 2 #14
method: exported_vars #28
method: __desugar_value__ / 3 #35

Code

   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