diff options
| author | lmamane | 2007-01-10 15:44:44 +0000 |
|---|---|---|
| committer | lmamane | 2007-01-10 15:44:44 +0000 |
| commit | bce104e3bb510fb10df2ecddebb47514328f2b8d (patch) | |
| tree | 69b2d6f827128ec3a769f3af9e58ffd8a6670b22 /parsing/ppconstr.ml | |
| parent | fa49da538d1d65f34d7b7fd3c32e51ef7ff578a3 (diff) | |
Merge from Lionel Elie Mamane's private branch:
- Makefile: Option (environment variable NO_RECOMPILE_LIB) to not
recompile the whole standard library just because the coq binaries
got rebuilt.
- Infrastructure to change the object pretty-printers at runtime.
- Use that infrastructure to make coqtop-protocol with Pcoq trees and
Pcoq-protocol with pretty-printed terms possible in coq-interface.
- Make "Back(track)" into closed sections, modules and module types
"Just Workâ˘".
- Modernise/generalise Pcoq protocol a bit, make some of its warts
optional.
- Implement "Show." in Pcoq mode.
- Add Rpow_def.vo to REALSBASEVO so that its dependencies are
computed (and used).
- "make revision" now handles GNU Arch / tla in addition to svn.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@9476 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'parsing/ppconstr.ml')
| -rw-r--r-- | parsing/ppconstr.ml | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/parsing/ppconstr.ml b/parsing/ppconstr.ml index e1f375d0a2..901866523f 100644 --- a/parsing/ppconstr.ml +++ b/parsing/ppconstr.ml @@ -619,10 +619,28 @@ let rec strip_context n iscast t = LocalRawDef (na,b) :: bl', c | _ -> anomaly "strip_context" -let pr_constr_expr c = pr lsimple c -let pr_lconstr_expr c = pr ltop c -let pr_pattern_expr c = pr lsimple c -let pr_lpattern_expr c = pr ltop c +type term_pr = { + pr_constr_expr : constr_expr -> std_ppcmds; + pr_lconstr_expr : constr_expr -> std_ppcmds; + pr_pattern_expr : Tacexpr.pattern_expr -> std_ppcmds; + pr_lpattern_expr : Tacexpr.pattern_expr -> std_ppcmds +} + +let default_term_pr = { + pr_constr_expr = pr lsimple; + pr_lconstr_expr = pr ltop; + pr_pattern_expr = pr lsimple; + pr_lpattern_expr = pr ltop +} + +let term_pr = ref default_term_pr + +let set_term_pr = (:=) term_pr + +let pr_constr_expr c = !term_pr.pr_constr_expr c +let pr_lconstr_expr c = !term_pr.pr_lconstr_expr c +let pr_pattern_expr c = !term_pr.pr_pattern_expr c +let pr_lpattern_expr c = !term_pr.pr_lpattern_expr c let pr_cases_pattern_expr = pr_patt ltop |
