(* * 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;*) ()