+++ /dev/null
-! Copyright (C) 2008 Marc Fauconneau.
-! See http://factorcode.org/license.txt for BSD license.
-USING: kernel arrays math accessors sequences math.vectors
-math.order sorting binary-search sets assocs fry suffix-arrays ;
-IN: suffix-arrays.words
-
-! to search on word names
-
-: new-word-sa ( words -- sa )
- [ name>> ] map >suffix-array ;
-
-: name>word-map ( words -- map )
- dup [ name>> V{ } clone ] H{ } map>assoc
- [ '[ dup name>> _ at push ] each ] keep ;
-
-: query-word-sa ( map begin sa -- matches ) query '[ _ at ] map concat ;
-
-! usage example :
-! clear all-words 100 head dup name>word-map "test" rot new-word-sa query .