diff options
Diffstat (limited to 'ruby/lib/ftsearch/analysis/simple_identifier_analyzer.rb')
-rw-r--r-- | ruby/lib/ftsearch/analysis/simple_identifier_analyzer.rb | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/ruby/lib/ftsearch/analysis/simple_identifier_analyzer.rb b/ruby/lib/ftsearch/analysis/simple_identifier_analyzer.rb new file mode 100644 index 0000000..b939861 --- /dev/null +++ b/ruby/lib/ftsearch/analysis/simple_identifier_analyzer.rb @@ -0,0 +1,23 @@ + +# Copyright (C) 2006 Mauricio Fernandez <mfp@acm.org> +# + +require 'strscan' +require 'ftsearch/analysis/analyzer' + +module FTSearch +module Analysis + +class SimpleIdentifierAnalyzer < Analyzer + def append_suffixes(array, text, offset) + sc = StringScanner.new(text) + sc.skip(/[^A-Za-z_]+/) + until sc.eos? + array << (sc.pos + offset) + break unless sc.skip(/[A-Za-z_][A-Za-z0-9_]*[^A-Za-z_]*/) + end + end +end + +end # Analyzer +end # FTSearch |