blob: feb24dbb5636ab690da27946cee13dc29320fed7 (
plain)
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
|
module T = Translator
let process (optional_line : string option) =
match optional_line with
| None -> ()
| Some line ->
let result = T.Reader.process line in
let res1 = Result.map
(fun t-> Sounds.repr (module Repr.Default) t)
result in
let () = match res1 with
| Ok response -> print_endline response
| Error err -> print_endline err in
let res2 = Result.map
(fun t-> Sounds.repr (module Repr.Tengwar) t)
result in
let () = match res2 with
| Ok response -> print_endline response
| Error err -> print_endline err in
()
let rec repeat channel =
(* Attempt to read one line. *)
let optional_line, continue = T.Lexer.line channel in
process optional_line;
if continue then
repeat channel
let () =
repeat (Lexing.from_channel stdin)
|