test.ml
2.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
(*
* ENIAMwalenty, an interface for Polish Valence Dictionary "Walenty".
* Copyright (C) 2016 Wojciech Jaworski <wjaworski atSPAMfree mimuw dot edu dot pl>
* Copyright (C) 2016 Institute of Computer Science Polish Academy of Sciences
*
* This library is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*)
open Xstd
let test_strings = [
["chłopiec","subst"; "maić","fin"; "ulica","subst"; "kwiat","subst"]
]
let map_of_list l =
Xlist.fold l StringMap.empty (fun map (lemma,pos) ->
StringMap.add map lemma (StringSet.singleton pos))
let string_of_list l =
String.concat " " (Xlist.map l (fun (lemma,pos) -> lemma ^ ":" ^ pos))
let _ =
(* print_endline "Testy wbudowane"; *)
Xlist.iter test_strings (fun l ->
print_endline ("\nTEST: " ^ (string_of_list l));
let valence = ENIAMwalenty.find_frames (map_of_list l) in
StringMap.iter valence (fun lexeme poss ->
StringMap.iter poss (fun pos frames ->
Xlist.iter frames (fun frame ->
print_endline (ENIAMwalStringOf.frame lexeme frame)))));
(* print_endline "Testy użytkownika.";
print_endline "Wpisz tekst i naciśnij ENTER, pusty tekst kończy.";
let s = ref (read_line ()) in
while !s <> "" do
let tokens = ENIAMtokenizer.parse !s in
(* print_endline (ENIAMtokenizer.xml_of tokens); *)
Xlist.iter tokens (fun token -> print_endline (ENIAMtokenizer.string_of 0 token));
print_endline "Wpisz tekst i naciśnij ENTER, pusty tekst kończy.";
s := read_line ()
done;*)
()