aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorherbelin2004-03-17 10:50:51 +0000
committerherbelin2004-03-17 10:50:51 +0000
commit899332a3d358b5ee85b0a275474f80273e009aa9 (patch)
treed246da1fdfc85dc117f528c276a209f46674418f
parenta03ddb7026e3ef288537f10d9a012e07e1577cd2 (diff)
Amelioration affichage des notations
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@5515 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--toplevel/metasyntax.ml8
1 files changed, 5 insertions, 3 deletions
diff --git a/toplevel/metasyntax.ml b/toplevel/metasyntax.ml
index b68ce1c4ee..c4d8bce9e2 100644
--- a/toplevel/metasyntax.ml
+++ b/toplevel/metasyntax.ml
@@ -496,8 +496,8 @@ let is_operator s =
type previous_prod_status = NoBreak | CanBreak
-let is_non_terminal = function
- | NonTerminal _ -> true
+let rec is_non_terminal = function
+ | NonTerminal _ | SProdList _ -> true
| _ -> false
let add_break n l = UNP_BRK (n,1) :: l
@@ -597,7 +597,9 @@ let make_hunks etyps symbols from =
| SProdList (m,sl) :: prods ->
let i = list_index m vars in
let _,prec = precedence_of_entry_type from (List.nth typs (i-1)) in
- UnpListMetaVar (i,prec,make NoBreak sl) :: make CanBreak prods
+ (* We add NonTerminal for simulation but remove it afterwards *)
+ let _,sl' = list_sep_last (make NoBreak (sl@[NonTerminal m])) in
+ UnpListMetaVar (i,prec,sl') :: make CanBreak prods
| [] -> []