]> matita.cs.unibo.it Git - helm.git/commitdiff
\lambda x.x y ----> \lambda x.(x y)
authorEnrico Tassi <enrico.tassi@inria.fr>
Wed, 25 May 2005 13:44:34 +0000 (13:44 +0000)
committerEnrico Tassi <enrico.tassi@inria.fr>
Wed, 25 May 2005 13:44:34 +0000 (13:44 +0000)
helm/ocaml/cic_disambiguation/cicTextualParser2.ml
helm/ocaml/cic_disambiguation/doc/precedence.txt

index 431b15ae83d807617aeef459fbec3d9e621ac068..add74d03e856cde6162bf7064d66f3ec6da489c9 100644 (file)
@@ -250,6 +250,11 @@ EXTEND
         b = binder_low; (vars, typ) = binder_vars; SYMBOL "."; body = term ->
           let binder = mk_binder_ast b typ vars body in
           return_term loc binder
+      | b = binder_high; (vars, typ) = binder_vars; SYMBOL "."; body = term ->
+          let binder = mk_binder_ast b typ vars body in
+          return_term loc binder
+      | t1 = term; SYMBOL <:unicode<to>> (* → *); t2 = term ->
+          return_term loc (CicAst.Binder (`Pi, (Cic.Anonymous, Some t1), t2))
       ]
     | "logic_add" LEFTA   [ (* nothing here by default *) ]
     | "logic_mult" LEFTA  [ (* nothing here by default *) ]
@@ -270,14 +275,6 @@ EXTEND
         in
         CicAst.Appl (aux t1 @ [t2])
       ]
-    | "binder" RIGHTA
-      [
-        b = binder_high; (vars, typ) = binder_vars; SYMBOL "."; body = term ->
-          let binder = mk_binder_ast b typ vars body in
-          return_term loc binder
-      | t1 = term; SYMBOL <:unicode<to>> (* → *); t2 = term ->
-          return_term loc (CicAst.Binder (`Pi, (Cic.Anonymous, Some t1), t2))
-      ]
     | "simple" NONA
       [ sort = sort -> CicAst.Sort sort
       | n = substituted_name -> return_term loc n
index cd7186fcf6a3ace26de12020692f93bf5b024d9a..09efea85377c901b96b2ef142f59c7723dd6842c 100644 (file)
@@ -2,7 +2,7 @@
 Input                  Should be parsed as             Derived constraint
                                                        on precedence
 --------------------------------------------------------------------------------
-\lambda x.x y          ((\lambda x.x) y)               lambda > apply
+\lambda x.x y          \lambda x.(x y)               lambda > apply
 S x = y                  (= (S x) y)                   apply  > infix operators
 \forall x.x=x         (\forall x.(= x x))             infix operators > binders
 \lambda x.x \to x    \lambda. (x \to x)                \to > \lambda
@@ -10,7 +10,7 @@ S x = y                  (= (S x) y)                   apply  > infix operators
 
 Precedence total order:
 
-  \to > lambda > apply > infix operators > binders
+  apply > infix operators > to > binders
 
 where binders are all binders except lambda (i.e. \forall, \pi, \exists)
 
@@ -25,7 +25,7 @@ EOT
   
 should respond with:
   
-  (\lambda x.x y)
+  \lambda x.(x y)
   (eq (S x) y)
   \forall x.(eq x x)
   \lambda x.(x \to x)