From 11690c364e94fa0b3c375f4ec7fbe8dd01762657 Mon Sep 17 00:00:00 2001 From: no author Date: Mon, 26 Sep 2005 23:01:09 +0000 Subject: Scanners in alpha state moved to hidden. --- lib/coderay/scanners/rubylex.rb | 102 ---------------------------------------- 1 file changed, 102 deletions(-) delete mode 100644 lib/coderay/scanners/rubylex.rb (limited to 'lib/coderay/scanners/rubylex.rb') diff --git a/lib/coderay/scanners/rubylex.rb b/lib/coderay/scanners/rubylex.rb deleted file mode 100644 index 2e69d39..0000000 --- a/lib/coderay/scanners/rubylex.rb +++ /dev/null @@ -1,102 +0,0 @@ -require 'rubygems' -require_gem 'rubylexer' -require 'rubylexer.rb' - -module CodeRay module Scanners - - class RubyLex < Scanner - - register_for :rubylex - - class FakeFile < String - - def initialize(*) - super - @pos = 0 - end - - attr_accessor :pos - - def read x - pos = @pos - @pos += x - self[pos ... @pos] - end - - def getc - pos = @pos - @pos += 1 - self[pos]||-1 - end - - def eof? - @pos == size - end - - def each_byte - until eof? - yield getc - end - end - - def method_missing meth, *args - raise NoMethodError, '%s%s' % [meth, args] - end - - end - - private - Translate = { - :ignore => :comment, - :varname => :ident, - :number => :integer, - :ws => :space, - :escnl => :space, - :keyword => :reserved, - :methname => :method, - :renderexactlystring => :regexp, - :string => :string, - } - - def scan_tokens tokens, options - require 'tempfile' - Tempfile.open('~coderay_tempfile') do |file| - file.binmode - file.write code - file.rewind - lexer = RubyLexer.new 'code', file - loop do - begin - tok = lexer.get1token - rescue => kaboom - err = <<-EOE - ERROR!!! -#{kaboom.inspect} -#{kaboom.backtrace.join("\n")} - EOE - tokens << [err, :error] - Kernel.raise - end - break if tok.is_a? EoiToken - next if tok.is_a? FileAndLineToken - kind = tok.class.name[/(.*?)Token$/,1].downcase.to_sym - kind = Translate.fetch kind, kind - text = tok.ident - case kind - when :hereplaceholder - text = tok.ender - kind = :string - when :herebody, :outlinedherebody - text = tok.ident.ident - kind = :string - end - text = text.inspect unless text.is_a? String - p token if kind == :error - tokens << [text.dup, kind] - end - end - tokens - end - end - -end end -- cgit v1.2.1