Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/ruby/lib/ftsearch/analysis/simple_identifier_analyzer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby/lib/ftsearch/analysis/simple_identifier_analyzer.rb')
-rw-r--r--ruby/lib/ftsearch/analysis/simple_identifier_analyzer.rb23
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