-- Ex 8.1 -------------------------------------------------------------------- let optexp = (token (fun (`e`|`E`) -> true | _ -> false) andalso optsign andalso digits) orelse empty ;; -- Ex 8.2 -------------------------------------------------------------------- let optfrac = (char `.` andalso (zero_or_more digits)) gives (fun (dot, cs) -> dot::cs) orelse (empty []) ;; let optexp = ((char `e` orelse char `E`) andalso optsign andalso digits) gives (fun ((e,s),ds) -> e@s@ds) orelse (empty []) ;; -- Ex 8.3 -------------------------------------------------------------------- let rec paren = function [< ' `(`; paren _; ' `)` >] -> () | [< >] -> ();; ;; -- Ex 8.4 -------------------------------------------------------------------- => FIXME