swh:1:snp:a9ad9db76f3bcf80967da2f1daef656b759b09e1
Raw File
Tip revision: 19aab7067d3b654503bdcd4992dacf20eea49700 authored by Antoine Séré on 07 February 2023, 10:11:15 UTC
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
*)
back to top