]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/tex_cic_textual_parser/texCicTextualParser.mly
1. minus binary operator added
[helm.git] / helm / ocaml / tex_cic_textual_parser / texCicTextualParser.mly
index 24548592299e52d83fe494d10dc50f5d77780018..e26145e2855ba815dd03c1814750642ce40779aa 100644 (file)
 %token LPAREN RPAREN PROD LAMBDA COLON DOT SET PROP TYPE CAST IMPLICIT NONE
 %token LETIN FIX COFIX SEMICOLON LCURLY RCURLY CASE ARROW LBRACKET RBRACKET EOF
 %token DOLLAR
-%token PLUS TIMES EQ
+%token PLUS MINUS TIMES EQ
 %right ARROW
 %right EQ
-%right PLUS
+%right PLUS MINUS
 %right TIMES
 %start main
 %type <CicTextualParser0.interpretation_domain_item list * (CicTextualParser0.interpretation -> Cic.term)> main
@@ -208,6 +208,18 @@ expr2:
           (mk_expr2 interp)
          ]
    }
+ | expr2 MINUS expr2
+   { let dom1,mk_expr1 = $1 in
+     let dom2,mk_expr2 = $3 in
+      let dom = union dom1 dom2 in
+       dom, function interp ->
+        Cic.Appl
+         [Cic.Const
+           (UriManager.uri_of_string "cic:/Coq/Arith/Minus/minus.con",[]) ;
+          (mk_expr1 interp) ;
+          (mk_expr2 interp)
+         ]
+   }
  | expr2 TIMES expr2
    { let dom1,mk_expr1 = $1 in
      let dom2,mk_expr2 = $3 in