aboutsummaryrefslogtreecommitdiff
path: root/src/tac2qexpr.mli
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2017-08-01 16:56:27 +0200
committerPierre-Marie Pédrot2017-08-01 19:39:29 +0200
commitc3be78f96b91a042944f9bee66bf0ea8d929a37d (patch)
tree4122408124a9b04c3e7f8e08f1c3304792391483 /src/tac2qexpr.mli
parent30fc910b01f61ce3691ed63a0908c1c60cee76dd (diff)
Introducing the all-mighty intro-patterns.
Diffstat (limited to 'src/tac2qexpr.mli')
-rw-r--r--src/tac2qexpr.mli36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/tac2qexpr.mli b/src/tac2qexpr.mli
new file mode 100644
index 0000000000..794281cc75
--- /dev/null
+++ b/src/tac2qexpr.mli
@@ -0,0 +1,36 @@
+(************************************************************************)
+(* v * The Coq Proof Assistant / The Coq Development Team *)
+(* <O___,, * INRIA - CNRS - LIX - LRI - PPS - Copyright 1999-2016 *)
+(* \VV/ **************************************************************)
+(* // * This file is distributed under the terms of the *)
+(* * GNU Lesser General Public License Version 2.1 *)
+(************************************************************************)
+
+open Util
+open Loc
+open Names
+
+(** Quoted variants of Ltac syntactic categories. Contrarily to the former, they
+ sometimes allow anti-quotations. Used for notation scopes. *)
+
+type 'a or_anti =
+| QExpr of 'a
+| QAnti of Id.t located
+
+type intro_pattern =
+| QIntroForthcoming of bool
+| QIntroNaming of intro_pattern_naming
+| QIntroAction of intro_pattern_action
+and intro_pattern_naming =
+| QIntroIdentifier of Id.t or_anti
+| QIntroFresh of Id.t or_anti
+| QIntroAnonymous
+and intro_pattern_action =
+| QIntroWildcard
+| QIntroOrAndPattern of or_and_intro_pattern
+| QIntroInjection of intro_pattern list
+(* | QIntroApplyOn of Empty.t (** Not implemented yet *) *)
+| QIntroRewrite of bool
+and or_and_intro_pattern =
+| QIntroOrPattern of intro_pattern list list
+| QIntroAndPattern of intro_pattern list