swh:1:snp:a9ad9db76f3bcf80967da2f1daef656b759b09e1
Tip revision: 19aab7067d3b654503bdcd4992dacf20eea49700 authored by Antoine Séré on 07 February 2023, 10:11:15 UTC
Failure in adding new error message
Failure in adding new error message
Tip revision: 19aab70
roadmap.ec
(*
module M = {
proc h() = {
@L:
}
proc f() = {
@L1:
}
proc g() = {
@L2:
}
}.
equiv [M.f ~ M.g : pre ==> post | {
(L1, L2) --> assertion
...
}].
*)
(*
- faire un petite exemple qui fixe la syntaxe
- modifier PST
- ecParsetree.ml
- instructions: pinstr
- PFequivF(pre, (f, g), post), labels) -> assert: prhl
- étendre parseur
- ecParser.mly (menhir)
- formule: sform_u [equiv étendu]
- procedures: base_instr [instructions]
- modifier AST
- ecCoreModule.ml
- instructions: instr
- hash-consing + constructeurs / destructeurs
- substitutions (no-op) ?
- ecCoreFol.ml
- equivF[proc] / equivS[stmt]
- adapter typeur
- ecTyping.ml
- trans_form_or_pattern
- transinstr
- étendre environnement avec les labels
- implémeter les règles de la logique (+ parser)
- phl/* [un fichier par tactique]
- exemples
- profits
*)