Sha256: 2993f1fd622c9052ce5d6b9879744ac68d20ed8a4819cd29eb9d087dcbfdc4fc

Contents?: true

Size: 843 Bytes

Versions: 24

Compression:

Stored size: 843 Bytes

Contents

# frozen_string_literal: true

require 'rley'

module Loxxy
  module FrontEnd
    # The superclass for all tokens that have a data value.
    class Literal < Rley::Lexical::Token
      # @return [Datatype] The value expressed in one of the Lox datatype.
      attr_reader :value

      # Constructor.
      # @param aValue [Datatype::BuiltinDatatype] the Lox data value
      # @param theLexeme [String] the lexeme (= piece of text from input)
      # @param aTerminal [Rley::Syntax::Terminal, String]
      #   The terminal symbol corresponding to the lexeme.
      # @param aPosition [Rley::Lexical::Position] The position of lexeme
      #   in input text.
      def initialize(aValue, aLexeme, aTerminal, aPosition)
        super(aLexeme, aTerminal, aPosition)
        @value = aValue
      end
    end # class
  end # module
end # module

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
loxxy-0.0.8 lib/loxxy/front_end/literal.rb
loxxy-0.0.7 lib/loxxy/front_end/literal.rb
loxxy-0.0.6 lib/loxxy/front_end/literal.rb
loxxy-0.0.5 lib/loxxy/front_end/literal.rb