class RDoc::Parser::RipperStateLex - rdoc: Ruby Standard Library Documentation

# class RDoc::Parser::RipperStateLex

Wrapper for Ripper lex states

### Public Class Methods

end?(token) click to toggle source

Returns `true` if lex state will be `END` after `token`.

    # File rdoc/parser/ripper_state_lex.rb, line 299
    def self.end?(token)
      (token[:state] & EXPR_END)
    end

new(code) click to toggle source

New lexer for `code`.

    # File rdoc/parser/ripper_state_lex.rb, line 278
    def initialize(code)
      @buf = []
      @heredoc_queue = []
      @inner_lex = InnerStateLex.new(code)
      @tokens = @inner_lex.parse([])
    end

parse(code) click to toggle source

Returns tokens parsed from `code`.

    # File rdoc/parser/ripper_state_lex.rb, line 286
    def self.parse(code)
      lex = self.new(code)
      tokens = []
      begin
        while tk = lex.get_squashed_tk
          tokens.push tk
        end
      rescue StopIteration
      end
      tokens
    end