Sha256: 107cfa846533f4261b69f8582d212212d992a7bf35890e95670d267b6fd8dad0

Contents?: true

Size: 1.15 KB

Versions: 43

Compression:

Stored size: 1.15 KB

Contents

module CodeRay
module Scanners

  # = Debug Scanner
  class Debug < Scanner

    include Streamable
    register_for :debug

  protected
    def scan_tokens tokens, options

      opened_tokens = []

      until eos?

        kind = nil
        match = nil

          if scan(/\s+/)
            tokens << [matched, :space]
            next
            
          elsif scan(/ (\w+) \( ( [^\)\\]* ( \\. [^\)\\]* )* ) \) /x)
            kind = self[1].to_sym
            match = self[2].gsub(/\\(.)/, '\1')
            
          elsif scan(/ (\w+) < /x)
            kind = self[1].to_sym
            opened_tokens << kind
            match = :open
            
          elsif scan(/ > /x)
            kind = opened_tokens.pop
            match = :close
            
          else
            kind = :error
            getch

          end
                  
        match ||= matched
        if $DEBUG and not kind
          raise_inspect 'Error token %p in line %d' %
            [[match, kind], line], tokens
        end
        raise_inspect 'Empty token', tokens unless match

        tokens << [match, kind]
        
      end
      
      tokens
    end

  end

end
end

Version data entries

43 entries across 43 versions & 3 rubygems

Version Path
redcar-dev-0.12.1dev-java lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-dev-0.12.0dev-java lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.11 lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.11.0dev lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.10 lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.9.2 lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.9.1 lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.9.0 lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.8.1 lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.8 lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.7 lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.6.1 lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.6 lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.6.1dev lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.5.1 lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.5 lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.5.6dev lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.5.5dev lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.5.4dev lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb
redcar-0.5.3dev lib/openssl/mocha/vendor/coderay-0.7.4.215/lib/coderay/scanners/debug.rb