Class: CTokenizer::Splitter
- Defined in:
- lib/caphir/ctokenizer.rb
Overview
TODO: what is this for ?
Constant Summary
Constants included from CTokenizer
CP_RESERVED, C_RESERVED, EOF_TOKEN
Instance Attribute Summary collapse
-
#last_line ⇒ Object
readonly
Returns the value of attribute last_line.
Attributes included from Sourced
Instance Method Summary collapse
-
#initialize(out, source, file = nil, line = 1) ⇒ Splitter
constructor
A new instance of Splitter.
- #reset(new_out) ⇒ Object
- #scan(regexp) ⇒ Object
- #shift ⇒ Object
Methods included from Sourced
#empty?, #file, #file=, #line, #line=, #match?
Methods included from CTokenizer
#collect, #each, #error, error, line_count, #parse_error, #to_a, #token_error, #unmatched_error, #warning
Constructor Details
#initialize(out, source, file = nil, line = 1) ⇒ Splitter
Returns a new instance of Splitter.
301 302 303 304 305 |
# File 'lib/caphir/ctokenizer.rb', line 301 def initialize(out, source, file=nil, line=1) super(source, file, line) @out = out @last_line = line end |
Instance Attribute Details
#last_line ⇒ Object (readonly)
Returns the value of attribute last_line.
307 308 309 |
# File 'lib/caphir/ctokenizer.rb', line 307 def last_line @last_line end |
Instance Method Details
#reset(new_out) ⇒ Object
321 322 323 324 325 326 |
# File 'lib/caphir/ctokenizer.rb', line 321 def reset(new_out) old_out = @out @out = new_out @last_line = self.line old_out end |
#scan(regexp) ⇒ Object
315 316 317 318 319 |
# File 'lib/caphir/ctokenizer.rb', line 315 def scan(regexp) s = @source.scan(regexp) @out << [:UNKNOWN, s] s end |
#shift ⇒ Object
309 310 311 312 313 |
# File 'lib/caphir/ctokenizer.rb', line 309 def shift t = super @out << t t end |