@@ -80,16 +80,10 @@ let test_array_closing =
8080 lk_kw "|" >> lk_kw "]" >> check_no_space
8181 end
8282
83- let test_old_sort_qvar =
84- let open Procq.Lookahead in
85- to_entry "test_old_sort_qvar" begin
86- lk_ident >> lk_list lk_field >> lk_kw "|"
87- end
88-
8983let test_sort_qvar =
9084 let open Procq.Lookahead in
9185 to_entry "test_sort_qvar" begin
92- lk_ident >> lk_list lk_field >> lk_kw ";"
86+ ( lk_ident <+> lk_kw "Type") >> lk_list lk_field >> lk_kws [ ";"]
9387 end
9488
9589let warn_old_sort_syntax =
@@ -149,14 +143,11 @@ GRAMMAR EXTEND Gram
149143 | "SProp" -> { None, UNamed [CSProp, 0] }
150144 | "Type" -> { None, UAnonymous {rigid=UnivRigid} }
151145 | "Type"; "@{"; "_"; "}" -> { None, UAnonymous {rigid=UnivFlexible false} }
152- | "Type"; "@{"; test_old_sort_qvar; q = reference; pipe_loc = [ "|" -> { loc } ]; u = universe; "}" -> {
153- warn_old_sort_syntax ~loc:pipe_loc ();
154- Some (CQVar q), u
155- }
156- | "Type"; "@{"; test_sort_qvar; q = reference; ";"; u = universe; "}" -> {
157- Some (CQVar q), u
158- }
159- | "Type"; "@{"; u = universe; "}" -> { None, u } ] ]
146+ | "Type"; "@{"; u = universe; "}" -> { None, UNamed u }
147+ | "Univ"; "@{"; test_sort_qvar; q = reference; ";"; u = universe_opt; "}" -> { Some (CQVar q), u }
148+ | "Univ"; "@{"; u = universe; "}" -> { Some (CQAnon (Some loc)), UNamed u }
149+ | "Univ" -> { Some (CQAnon (Some loc)), UAnonymous {rigid=UnivFlexible false} }
150+ ] ]
160151 ;
161152 sort_quality_or_set:
162153 [ [ "Prop" -> { UnivGen.QualityOrSet.prop }
@@ -183,10 +174,13 @@ GRAMMAR EXTEND Gram
183174 [ [ id = universe_name; n = universe_increment -> { (id,n) }
184175 | n = natural -> { CSet, n } ] ]
185176 ;
177+ universe_opt:
178+ [ [ u = universe -> { UNamed u }
179+ | "_" -> { UAnonymous { rigid = UnivFlexible false } } ] ]
180+ ;
186181 universe:
187- [ [ IDENT "max"; "("; ids = LIST1 universe_expr SEP ","; ")" -> { UNamed ids }
188- | "_" -> { UAnonymous { rigid = UnivFlexible false } }
189- | u = universe_expr -> { UNamed [u] } ] ]
182+ [ [ IDENT "max"; "("; ids = LIST1 universe_expr SEP ","; ")" -> { ids }
183+ | u = universe_expr -> { [u] } ] ]
190184 ;
191185 lconstr:
192186 [ [ c = term LEVEL "200" -> { c } ] ]
0 commit comments