File: concrete-syntax/abstract.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: Umu#6
  module: ConcreteSyntax#8
  class: Abstract#10
inherits from
  Model ( Umu::Abstraction )
has properties
method: pretty_print / 1 #11
method: desugar / 1 #16
method: __desugar__ / 2 #32

Class Hierarchy

Code

   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