Mercurial > cpdt > repo
diff tools/make_template.ml @ 77:d07c77659c20
Templatizing Subset
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Fri, 03 Oct 2008 15:27:39 -0400 |
parents | 827d7e8a7d9e |
children | 3fc43e261f67 |
line wrap: on
line diff
--- a/tools/make_template.ml Fri Oct 03 15:11:44 2008 -0400 +++ b/tools/make_template.ml Fri Oct 03 15:27:39 2008 -0400 @@ -20,7 +20,7 @@ if line.[String.length line - 2] = '*' && line.[String.length line - 1] = ')' then initial last_was_empty else - comment last_was_empty + comment 1 last_was_empty else begin print_endline line; initial false @@ -29,15 +29,29 @@ print_endline line; initial false -and comment last_was_empty = +and comment count last_was_empty = match read_line () with | None -> () | Some line -> - if String.length line >= 2 && line.[String.length line - 2] = '*' + if String.length line >= 2 && line.[0] = '(' && line.[1] = '*' then + if String.length line >= 2 && line.[String.length line - 2] = '*' + && line.[String.length line - 1] = ')' then + comment count last_was_empty + else + comment (count+1) last_was_empty + else if String.length line >= 2 && line.[String.length line - 2] = '*' && line.[String.length line - 1] = ')' then - initial last_was_empty + if try + let idx = String.index line '(' in + idx < String.length line - 1 && line.[idx + 1] = '*' + with Not_found -> false then + comment count last_was_empty + else if count = 1 then + initial last_was_empty + else + comment (count-1) last_was_empty else - comment last_was_empty + comment count last_was_empty and thide last_was_empty = match read_line () with