diff options
| author | herbelin | 2000-10-18 14:06:06 +0000 |
|---|---|---|
| committer | herbelin | 2000-10-18 14:06:06 +0000 |
| commit | e7c09fdda1dce69bc115090f296df8dbd6970584 (patch) | |
| tree | de809c988bcb459bb89f5870714ce189d45acf11 /theories/Init | |
| parent | 3a0a4c5dd50e113df5d04b4b76b6bcc5bd40deea (diff) | |
Parsing des motifs de Syntax avec la grammaire associée à l'univers de la déclaration (constr, tactic ou vernac) au lieu de ast (comme cela a été fait pour Grammar)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@721 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'theories/Init')
| -rw-r--r-- | theories/Init/LogicSyntax.v | 26 | ||||
| -rw-r--r-- | theories/Init/Logic_TypeSyntax.v | 16 | ||||
| -rw-r--r-- | theories/Init/SpecifSyntax.v | 71 |
3 files changed, 57 insertions, 56 deletions
diff --git a/theories/Init/LogicSyntax.v b/theories/Init/LogicSyntax.v index 57b76e0176..06aa131023 100644 --- a/theories/Init/LogicSyntax.v +++ b/theories/Init/LogicSyntax.v @@ -51,42 +51,42 @@ with constr10 := Syntax constr level 1: - equal [<<(eq $_ $t1 $t2)>>] -> [ [<hov 0> $t1:E [0 1] "=" $t2:E ] ] - | conj [<<(conj $t1 $t2 $t3 $t4)>>] + equal [ (eq $_ $t1 $t2) ] -> [ [<hov 0> $t1:E [0 1] "=" $t2:E ] ] + | conj [ (conj $t1 $t2 $t3 $t4) ] -> [ [<hov 1> [<hov 1> "<" $t1:L "," [0 0] $t2:L ">" ] [0 0] [<hov 1> "{" $t3:L "," [0 0] $t4:L "}"] ] ] - | IF [<< either $c and_then $t or_else $e >>] + | IF [ either $c and_then $t or_else $e ] -> [ [<hov 0> "either" [1 1] $c:E [<hov 0> [1 1] "and_then" [1 1] $t:E ] [<hov 0> [1 1] "or_else" [1 1] $e:E ]] ] ; level 2: - not [<< ~ $t1 >>] -> [ [<hov 0> "~" $t1:E ] ] + not [ ~ $t1 ] -> [ [<hov 0> "~" $t1:E ] ] ; level 6: - and [<< $t1 /\ $t2 >>] -> [ [<hov 0> $t1:L [0 0] "/\\" $t2:E ] ] + and [ $t1 /\ $t2 ] -> [ [<hov 0> $t1:L [0 0] "/\\" $t2:E ] ] ; level 7: - or [<< $t1 \/ $t2 >>] -> [ [<hov 0> $t1:L [0 0] "\\/" $t2:E ] ] + or [ $t1 \/ $t2 ] -> [ [<hov 0> $t1:L [0 0] "\\/" $t2:E ] ] ; level 8: - iff [<< $t1 <-> $t2 >>] -> [ [<hov 0> $t1:L [0 0] "<->" $t2:E ] ] + iff [ $t1 <-> $t2 ] -> [ [<hov 0> $t1:L [0 0] "<->" $t2:E ] ] ; level 10: - all_pred [<<(all $_ $p)>>] -> [ [<hov 4> "All " $p:L ] ] - | all_imp [<<(all $_ [$x : $T]$t)>>] + all_pred [ (all $_ $p) ] -> [ [<hov 4> "All " $p:L ] ] + | all_imp [ (all $_ [$x : $T]$t) ] -> [ [<hov 3> "ALL " $x ":" $T:L " |" [1 0] $t:L ] ] - | ex_pred [<<(ex $_ $p)>>] -> [ [<hov 0> "Ex " $p:L ] ] - | ex [<<(ex $_ [$x : $T]$P)>>] + | ex_pred [ (ex $_ $p) ] -> [ [<hov 0> "Ex " $p:L ] ] + | ex [ (ex $_ [$x : $T]$P) ] -> [ [<hov 2> "EX " $x ":" $T:L " |" [1 0] $P:L ] ] - | ex2_pred [<<(ex2 $_ $p1 $p2)>>] + | ex2_pred [ (ex2 $_ $p1 $p2) ] -> [ [<hov 3> "Ex2 " $p1:L [1 0] $p2:L ] ] - | ex2 [<<(ex2 $_ [$x : T]$P1 [$x : $T]$P2)>>] + | ex2 [ (ex2 $_ [$x : T]$P1 [$x : $T]$P2) ] -> [ [<hov 2> "EX " $x ":" $T:L " |" [1 2] $P1:L [1 0] "& " $P2:L] ]. diff --git a/theories/Init/Logic_TypeSyntax.v b/theories/Init/Logic_TypeSyntax.v index 6760bcafa6..5064ddcec8 100644 --- a/theories/Init/Logic_TypeSyntax.v +++ b/theories/Init/Logic_TypeSyntax.v @@ -31,22 +31,22 @@ with command10 := Syntax constr level 10: - allT_pred [<<(allT $_ $p)>>] -> [ [<hov 0> "AllT " $p:L ] ] - | allT [<<(allT $T [$x : $T]$p)>>] + allT_pred [ (allT $_ $p) ] -> [ [<hov 0> "AllT " $p:L ] ] + | allT [ (allT $T [$x : $T]$p) ] -> [ [<hov 3> "ALLT " $x ":" $T:L " |" [1 0] $p:L ] ] - | exT_pred [<<(exT $_ $p)>>] -> [ [<hov 4> "ExT " $p:L ] ] - | exT [<<(exT $t1 [$x : $T]$p)>>] + | exT_pred [ (exT $_ $p) ] -> [ [<hov 4> "ExT " $p:L ] ] + | exT [ (exT $t1 [$x : $T]$p) ] -> [ [<hov 4> "EXT " $x ":" $T:L " |" [1 0] $p:L ] ] - | exT2_pred [<<(exT2 $_ $p1 $p2)>>] + | exT2_pred [ (exT2 $_ $p1 $p2) ] -> [ [<hov 4> "ExT2 " $p1:L [1 0] $p2:L ] ] - | exT2 [<<(exT2 $T [$x : $T]$P1 [$x : $T]$P2)>>] + | exT2 [ (exT2 $T [$x : $T]$P1 [$x : $T]$P2) ] -> [ [<hov 2> "EXT " $x ":" $T:L " |" [1 2] $P1:L [1 0] "& " $P2:L] ] ; level 1: - eqT [<<(eqT $_ $c1 $c2)>>] -> [ [<hov 1> $c1:E [0 0] "==" $c2:E ] ] + eqT [ (eqT $_ $c1 $c2) ] -> [ [<hov 1> $c1:E [0 0] "==" $c2:E ] ] - | identityT [<<(identityT $_ $c1 $c2)>>] + | identityT [ (identityT $_ $c1 $c2) ] -> [ [<hov 1> $c1:E [0 0] "===" $c2:E ] ]. diff --git a/theories/Init/SpecifSyntax.v b/theories/Init/SpecifSyntax.v index a3a69c3100..33f5fad72a 100644 --- a/theories/Init/SpecifSyntax.v +++ b/theories/Init/SpecifSyntax.v @@ -42,85 +42,86 @@ Syntax constr (* Default pretty-printing rules *) level 10: sig_var - [(ABSTR_B_NB $c1 $c2)] -> [ [<hov 0> "sig " $c1:L [1 1] $c2:L ] ] + [<<(ABSTR_B_NB $c1 $c2)>>] -> [ [<hov 0> "sig " $c1:L [1 1] $c2:L ] ] | sig2_var - [(Sig2_ABSTR_B_NB $c1 $c2)] -> [ [<hov 0> "sig2 " $c1:L [1 1] $c2:L ] ] + [<<(Sig2_ABSTR_B_NB $c1 $c2)>>] -> [ [<hov 0> "sig2 " $c1:L [1 1] $c2:L ] ] | sigS_var - [(SigS_ABSTR_B_NB $c1 $c2)] -> [ [<hov 0> "sigS " $c1:L [1 1] $c2:L ] ] - | sigS2_var [(SigS2_ABSTR_B_NB $c1 $c2 $c3)] + [<<(SigS_ABSTR_B_NB $c1 $c2)>>] -> [ [<hov 0> "sigS " $c1:L [1 1] $c2:L ] ] + | sigS2_var [<<(SigS2_ABSTR_B_NB $c1 $c2 $c3)>>] -> [ [<hov 0> "sigS2 " $c1:L [1 1] $c2:L [1 1] $c3:L] ] ; level 1: (* Pretty-printing of [sig] *) - sig [<<(sig $c1 $c2)>>] -> [ (ABSTR_B_NB $c1 $c2):E ] - | sig_nb [(ABSTR_B_NB $c1 (LAMBDALIST $c1 [<>]$c2))] + sig [ (sig $c1 $c2) ] -> [ (ABSTR_B_NB $c1 $c2):E ] + | sig_nb [ << (ABSTR_B_NB $c1 (LAMBDALIST $c1 [<>]$c2)) >> ] -> [ [<hov 0> "{_:" $c1:E " |" [1 3] $c2:E "}" ] ] - | sigma_b [(ABSTR_B_NB $c1 (LAMBDALIST $c1 [$id]$c2))] + | sigma_b [ << (ABSTR_B_NB $c1 (LAMBDALIST $c1 [$id]$c2)) >> ] -> [ [<hov 0> "{" $id ":" $c1:E " |" [1 3] $c2:E "}" ] ] (* Pretty-printing of [sig2] *) - | sig2 [<<(sig2 $c1 $c2 $c3)>>] -> [ (Sig2_ABSTR_B_NB $c1 $c2 $c3):E ] + | sig2 [ (sig2 $c1 $c2 $c3) ] -> [ (Sig2_ABSTR_B_NB $c1 $c2 $c3):E ] | sig2_b_b - [(Sig2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [$id]$c2) - (LAMBDALIST $c1 [$id]$c3))] + [ << (Sig2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [$id]$c2) + (LAMBDALIST $c1 [$id]$c3)) >> ] -> [ [<hov 0> "{"$id":"$c1:E"|" [1 3]$c2:E [1 3]"& "$c3:E "}" ] ] | sig2_nb_b - [(Sig2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [<>]$c2) - (LAMBDALIST $c1 [$id]$c3))] + [ << (Sig2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [<>]$c2) + (LAMBDALIST $c1 [$id]$c3)) >> ] -> [ [<hov 0> "{"$id":"$c1:E"|" [1 3]$c2:E [1 3]"& "$c3:E "}" ] ] | sig2_b_nb - [(Sig2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [$id]$c2) - (LAMBDALIST $c1 [<>]$c3))] + [ << (Sig2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [$id]$c2) + (LAMBDALIST $c1 [<>]$c3)) >> ] -> [ [<hov 0> "{"$id":"$c1:E"|" [1 3]$c2:E [1 3]"& "$c3:E "}" ] ] | sig2_nb_nb - [(Sig2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [<>]$c2) - (LAMBDALIST $c1 [<>]$c3))] + [ << (Sig2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [<>]$c2) + (LAMBDALIST $c1 [<>]$c3)) >> ] -> [ [<hov 0> "{_:"$c1:E "|" [1 3] $c2:E [1 3]"& " $c3:E "}" ] ] (* Pretty-printing of [sigS] *) - | sigS [<<(sigS $c1 $c2)>>] -> [(SigS_ABSTR_B_NB $c1 $c2):E] - | sigS_nb [(SigS_ABSTR_B_NB $c1 (LAMBDALIST $c1 [<>]$c2))] + | sigS [ (sigS $c1 $c2) ] -> [(SigS_ABSTR_B_NB $c1 $c2):E] + | sigS_nb [ << (SigS_ABSTR_B_NB $c1 (LAMBDALIST $c1 [<>]$c2)) >> ] -> [ [<hov 0> "{_:" $c1:E [1 3]"& " $c2:E "}" ] ] - | sigS_b [(SigS_ABSTR_B_NB $c1 (LAMBDALIST $c1 [$id]$c2))] + | sigS_b [ << (SigS_ABSTR_B_NB $c1 (LAMBDALIST $c1 [$id]$c2)) >> ] -> [ [<hov 0> "{" $id ":" $c1:E [1 3] "& " $c2:E "}" ] ] (* Pretty-printing of [sigS2] *) - | sigS2 [<<(sigS2 $c1 $c2 $c3)>>] -> [(SigS2_ABSTR_B_NB $c1 $c2 $c3):E] + | sigS2 [ (sigS2 $c1 $c2 $c3) ] -> [(SigS2_ABSTR_B_NB $c1 $c2 $c3):E] | sigS2_b_b - [(SigS2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [$id]$c2) - (LAMBDALIST $c1 [$id]$c3))] + [ << (SigS2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [$id]$c2) + (LAMBDALIST $c1 [$id]$c3)) >> ] -> [ [<hov 0> "{"$id ":" $c1:E [1 3]"& "$c2:E [1 3]"& "$c3:E "}" ] ] | sigS2_nb_b - [(SigS2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [<>]$c2) - (LAMBDALIST $c1 [$id]$c3))] + [ << (SigS2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [<>]$c2) + (LAMBDALIST $c1 [$id]$c3)) >> ] -> [ [<hov 0> "{"$id ":" $c1:E [1 3]"& "$c2:E [1 3]"& "$c3:E "}" ] ] | sigS2_b_nb - [ (SigS2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [$id]$c2) - (LAMBDALIST $c1 [<>]$c3))] + [ << (SigS2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [$id]$c2) + (LAMBDALIST $c1 [<>]$c3)) >> ] -> [ [<hov 0> "{"$id ":" $c1:E [1 3]"& "$c2:E [1 3]"& "$c3:E "}" ] ] | sigS2_nb_nb - [(SigS2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [<>]$c2) - (LAMBDALIST $c1 [<>]$c3))] + [ << (SigS2_ABSTR_B_NB $c1 (LAMBDALIST $c1 [<>]$c2) + (LAMBDALIST $c1 [<>]$c3)) >> ] -> [ [<hov 0> "{_:"$c1:E [1 3]"& "$c2:E [1 3]"& "$c3:E "}" ] ] (* Pretty-printing of [projS1] and [projS2] *) - | projS1_imp [<<(projS1 ? ? $a)>>] -> ["(ProjS1 " $a:E ")"] - | projS2_imp [<<(projS2 ? ? $a)>>] -> ["(ProjS2 " $a:E ")"] + | projS1_imp [ (projS1 ? ? $a) ] -> ["(ProjS1 " $a:E ")"] + | projS2_imp [ (projS2 ? ? $a) ] -> ["(ProjS2 " $a:E ")"] ; (* Pretty-printing of [sumbool] and [sumor] *) level 4: - sumbool [<<(sumbool $t1 $t2)>>] + sumbool [ (sumbool $t1 $t2) ] -> [ [<hov 0> "{" $t1:E "}" [0 1] "+" "{" $t2:L "}"] ] - | sumor [<<(sumor $t1 $t2)>>] + | sumor [ (sumor $t1 $t2) ] -> [ [<hov 0> $t1:E [0 1] "+" "{" $t2:L "}"] ] ; (* Pretty-printing of [except] *) level 1: - Except_imp [<<(except $1 $t2)>>] -> [ [<hov 0> "Except " $t2 ] ] + Except_imp [ (except $1 $t2) ] -> [ [<hov 0> "Except " $t2 ] ] (* Pretty-printing of [error] and [value] *) - | Error_imp [<<(error $t1)>>] -> [ [<hov 0> "Error" ] ] - | Value_imp [<<(value $t1 $t2)>>] -> [ [<hov 0> "(Value " $t2 ")" ] ]. + | Error_imp [ (error $t1) ] -> [ [<hov 0> "Error" ] ] + | Value_imp [ (value $t1 $t2) ] -> [ [<hov 0> "(Value " $t2 ")" ] ]. + |
