Class: CodeLexer::SpaceAbstractor
Instance Method Summary
collapse
#initialize
Instance Method Details
#abstract(tokens) ⇒ Object
214
215
216
217
218
219
220
221
222
223
224
225
|
# File 'lib/code-lexer/abstractor.rb', line 214
def abstract(tokens)
tokens.select { |t| t.type == :space }.each do |space_token|
previous_index = tokens.index(space_token) - 1
if previous_index < 0 || tokens[previous_index].type == :newline
space_token.abstracted_value = Token.special("INDENTATION")
else
space_token.abstracted_value = Token.special("WHITESPACE")
end
end
return tokens
end
|
#deabstract(tokens) ⇒ Object
227
228
229
230
231
232
233
234
235
236
237
|
# File 'lib/code-lexer/abstractor.rb', line 227
def deabstract(tokens)
tokens.select do |t|
t.abstracted_value == Token.special("INDENTATION") ||
t.abstracted_value == Token.special("WHITESPACE")
end.each do |token|
token.type = :space
token.value = ' '
end
return tokens
end
|