1
0
Fork 0
arangodb/3rdParty/snowball/go/stemwords/generate.go

69 lines
1.0 KiB
Go

// +build ignore
package main
import (
"flag"
"fmt"
"io"
"io/ioutil"
"log"
"os"
)
// tool to register all algorithms built with the stemwords tool
func main() {
flag.Parse()
if flag.NArg() < 1 {
log.Fatal("must specify algorithms directory")
}
var w io.Writer
if flag.NArg() > 1 {
var err error
w, err = os.Create(flag.Arg(1))
if err != nil {
log.Fatalf("error creating output file %v", err)
}
} else {
w = os.Stdout
}
fmt.Fprintf(w, "%s", header)
files, err := ioutil.ReadDir(flag.Arg(0))
if err != nil {
log.Fatal(err)
}
for _, file := range files {
fmt.Fprintf(w, " %s \"github.com/snowballstem/snowball/go/algorithms/%s\"\n",
file.Name(), file.Name())
}
fmt.Fprintf(w, closeImportStartInit)
for _, file := range files {
fmt.Fprintf(w, " languages[\"%s\"] = %s.Stem\n",
file.Name(), file.Name())
}
fmt.Fprintf(w, "%s", footer)
}
var header = `// generated list of supported algorithms, DO NOT EDIT
package main
import (
`
var closeImportStartInit = `)
func init() {`
var footer = `}
`