class ComponentEmbeddedRuby::Lexer::InputReader
Attributes
current_column[R]
current_line[R]
input[R]
Public Class Methods
new(input)
click to toggle source
# File lib/component_embedded_ruby/lexer/input_reader.rb, line 8 def initialize(input) @input = input.freeze @position = 0 @current_line = 1 @current_column = 1 end
Public Instance Methods
current_char()
click to toggle source
# File lib/component_embedded_ruby/lexer/input_reader.rb, line 20 def current_char input[@position] end
eof?()
click to toggle source
# File lib/component_embedded_ruby/lexer/input_reader.rb, line 16 def eof? @position == @input.length end
next()
click to toggle source
# File lib/component_embedded_ruby/lexer/input_reader.rb, line 32 def next if current_char == "\n" @current_line += 1 @current_column = 1 else @current_column += 1 end @position += 1 end
peek()
click to toggle source
# File lib/component_embedded_ruby/lexer/input_reader.rb, line 24 def peek @input[@position + 1] end
peek_behind()
click to toggle source
# File lib/component_embedded_ruby/lexer/input_reader.rb, line 28 def peek_behind @input[@position - 1] end