demonstrate the Sequence.map construct on S-expressions

This commit is contained in:
Simon Cruanes 2013-02-05 00:09:16 +01:00
parent ac2fb8129c
commit 10df563bd8

View file

@ -45,5 +45,9 @@ let _ =
Format.printf "%dx1 = %d@." n sum; Format.printf "%dx1 = %d@." n sum;
assert (n=sum); assert (n=sum);
let s = Sexpr.of_seq (Sexpr.lex (Sequence.String.to_seq sexpr)) in let s = Sexpr.of_seq (Sexpr.lex (Sequence.String.to_seq sexpr)) in
Format.printf "parse @[<h>%s@] into @[<h>%a@]@." sexpr (Sexpr.pp_sexpr ~indent:false) s; let s = Sexpr.of_seq (Sequence.map
(function | `Atom s -> `Atom (String.capitalize s) | tok -> tok)
(Sexpr.traverse s))
in
Format.printf "@[<hov2>transform @[<h>%s@] into @[<h>%a@]@]@." sexpr (Sexpr.pp_sexpr ~indent:false) s;
() ()