File: concrete-syntax/core/expression/nary/branch/case/rule/entry.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: Umu#6
  module: ConcreteSyntax#8
  module: Core#10
  module: Expression#12
has properties
function: make_case_rule / 3 #39
  module: Nary#14
  module: Branch#16
  module: Rule#18
  module: Case#20
  class: Entry#22

Code

   1  # coding: utf-8
   2  # frozen_string_literal: true
   3 
   4 
   5 
   6  module Umu
   7 
   8  module ConcreteSyntax
   9 
  10  module Core
  11 
  12  module Expression
  13 
  14  module Nary
  15 
  16  module Branch
  17 
  18  module Rule
  19 
  20  module Case
  21 
  22  class Entry < Abstraction::HasHead
  23      def desugar_poly_rule(env)
  24          self.body_expr.desugar env
  25      end
  26  end
  27 
  28  end # Umu::ConcreteSyntax::Core::Expression::Nary::Branch::Rule::Case
  29 
  30  end # Umu::ConcreteSyntax::Core::Expression::Nary::Branch::Rule
  31 
  32  end # Umu::ConcreteSyntax::Core::Expression::Nary::Branch
  33 
  34  end # Umu::ConcreteSyntax::Core::Expression::Nary
  35 
  36 
  37  module_function
  38 
  39      def make_case_rule(loc, head, body_expr)
  40          ASSERT.kind_of loc,         LOC::Entry
  41          ASSERT.kind_of head,        CSCEN::Branch::Rule::Case::Abstract
  42          ASSERT.kind_of body_expr,   CSCE::Abstract
  43 
  44          Nary::Branch::Rule::Case::Entry.new(loc, head, body_expr).freeze
  45      end
  46 
  47  end # Umu::ConcreteSyntax::Core::Expression
  48 
  49  end # Umu::ConcreteSyntax::Core
  50 
  51  end # Umu::ConcreteSyntax
  52 
  53  end # Umu