Module I.Ast


module Ast: sig .. end


Abres de syntaxe abstraite pour PCF impératif

type t =
| Unit (*L'unité, i.e. ne rien faire*)
| Num of int (*Constante entière*)
| Ref of t (*Nouvelle référence avec valeur initiale.*)
| Var of string (*Accès à une variable*)
| Set of t * t (*Assignation t1:=t2*)
| Get of t (*Déréférencement !t*)
| Op of Op.t * t * t (*Application d'un opérateur t1 op t2*)
| Ifz of t * t * t (*Conditionnelle Ifz t1 Then t2 Else t3*)
| Let of string * t * t (*Liaison locale Let x = t1 In t2*)
| App of t * t (*Application de fonction t1 t2*)
| Fun of string * t (*Définition de fonction Fun x -> t*)
| Fix of string * t (*Point fixe Fix x -> t*)
| Seq of t * t (*Composition séquentielle t1;t2*)
Type de la syntaxe abstraite des termes de iPCF.
type 'a env = (string * 'a) list