blob: 1d3bbbc966a7ababd789b5613f6696aaf2a39cde [file] [log] [blame]
Akron8e1d69b2021-08-12 17:38:49 +02001package main
2
3import (
4 "os"
5
6 datok "github.com/KorAP/datokenizer"
7 "github.com/alecthomas/kong"
8)
9
10var cli struct {
11 Tokenizer string `kong:"required,short='t',help='The Double Array Tokenizer file'"`
12}
13
14// Main method for command line handling
15func main() {
16
17 // Parse command line parameters
18 parser := kong.Must(
19 &cli,
20 kong.Name("datok"),
21 kong.Description("Double Array based tokenizer"),
22 kong.UsageOnError(),
23 )
24
25 _, err := parser.Parse(os.Args[1:])
26
27 parser.FatalIfErrorf(err)
28
29 // Load the Datok file
30 dat := datok.LoadDatokFile(cli.Tokenizer)
31
32 // Unable to load the datok file
33 if dat == nil {
34 os.Exit(1)
35 }
36
37 // Program is running in a pipe
38 fileInfo, _ := os.Stdin.Stat()
39 if fileInfo.Mode()&os.ModeCharDevice == 0 {
40
41 // Transduce from STDIN and write to STDOUT
42 dat.Transduce(os.Stdin, os.Stdout)
43 }
44}