File: lexical/token/abstraction.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  module: Umu#6
  module: Lexical#8
  module: Token#10
  module: Abstraction#12
  class: Abstract#14
inherits from
  Model ( Umu::Abstraction )
has properties
attribute: val [R] #15
method: initialize / 2 #18
method: to_racc_token #28
method: separator? #33
  class: Symbol#40
inherits from
  Abstract ( Umu::Lexical::Token::Abstraction )
has properties
alias: sym val #41
method: initialize / 2 #44
  class: String#53
inherits from
  Abstract ( Umu::Lexical::Token::Abstraction )
has properties
method: initialize / 2 #54

Class Hierarchy

Object ( Builtin-Module )
Model ( Umu::Abstraction )
Abstract ( Umu::Lexical::Token::Abstraction ) — #14
  Symbol    #40
  String    #53

Code

   1  # coding: utf-8
   2  # frozen_string_literal: true
   3 
   4 
   5 
   6  module Umu
   7 
   8  module Lexical
   9 
  10  module Token
  11 
  12  module Abstraction
  13 
  14  class Abstract < Umu::Abstraction::Model
  15      attr_reader :val
  16 
  17 
  18      def initialize(loc, val)
  19          ASSERT.kind_of loc, LOC::Entry
  20          ASSERT.kind_of val, ::Object
  21 
  22          super(loc)
  23 
  24          @val = val
  25      end
  26 
  27 
  28      def to_racc_token
  29          raise X::InternalSubclassResponsibility
  30      end
  31 
  32 
  33      def separator?
  34          false
  35      end
  36  end
  37 
  38 
  39 
  40  class Symbol < Abstract
  41      alias sym val
  42 
  43 
  44      def initialize(loc, val)
  45          ASSERT.kind_of val, ::String
  46 
  47          super(loc, val.to_sym)
  48      end
  49  end
  50 
  51 
  52 
  53  class String < Abstract
  54      def initialize(loc, val)
  55          ASSERT.kind_of val, ::String
  56 
  57          super
  58      end
  59  end
  60 
  61  end # Umu::Lexical::Token::Abstraction
  62 
  63  end # Umu::Lexical::Token
  64 
  65  end # Umu::Lexical
  66 
  67  end # Umu