Class: CodeLexer::NumberAbstractor

Inherits:
AbstractorPiece show all
Defined in:
lib/code-lexer/abstractor.rb

Instance Method Summary collapse

Methods inherited from AbstractorPiece

#initialize

Constructor Details

This class inherits a constructor from CodeLexer::AbstractorPiece

Instance Method Details

#abstract(tokens) ⇒ Object



150
151
152
153
154
155
156
157
# File 'lib/code-lexer/abstractor.rb', line 150

def abstract(tokens)
    tokens.select { |t| t.type == :number }.each do |number_token|
        number_token.abstracted_value = Token.special("NUMBER")
        @abstractor.numbers_dictionary << number_token.value
    end
    
    return tokens
end

#deabstract(tokens) ⇒ Object



159
160
161
162
163
164
165
166
167
168
169
# File 'lib/code-lexer/abstractor.rb', line 159

def deabstract(tokens)
    id = 0
    tokens.select { |t| t.abstracted_value == Token.special("NUMBER") }.each do |token|
        token.type = :number
        token.value = @abstractor.numbers_dictionary[id]
        
        id += 1
    end
    
    return tokens
end