src/Tools/isac/Specify/test-out.sml
author wneuper <Walther.Neuper@jku.at>
Mon, 11 Dec 2023 17:26:30 +0100
changeset 60782 e797d1bdfe37
parent 60776 c2e6848d3dce
permissions -rw-r--r--
eliminate the intermediate *_POS
     1 (* Title: generate specific entries into Ctree
     2    Author: Walther Neuper
     3    (c) due to copyright terms
     4 
     5 This will be dropped at switch to Isabelle/PIDE .
     6 *)
     7 
     8 signature TEST_OUTPUT =
     9 sig
    10   datatype pblmet = MethodC of MethodC.id | Problem of Problem.id | Upblmet
    11   datatype mout =
    12     EmptyMout
    13   | Error' of string
    14   | FormKF of TermC.as_string
    15   | PpcKF of pblmet * P_Model.T
    16   | RefinedKF of Problem.id * (I_Model.T * Pre_Conds.T)
    17 
    18   type T = Pos.pos' * Pos.pos' list * mout * Ctree.ctree
    19   val mout2str: mout -> string
    20 end
    21 
    22 (**)     (*Generate*)
    23 structure Test_Out(**): TEST_OUTPUT(**) =
    24 struct
    25 (**)
    26 open Ctree
    27 open Pos
    28 
    29 datatype pblmet =
    30   Upblmet
    31 | Problem of Problem.id
    32 | MethodC of MethodC.id;
    33 fun pblmet2str (Problem pblID) = "Problem " ^ strs2str pblID (*%^%*)
    34   | pblmet2str (MethodC metID) = "MethodC " ^ MethodC.id_to_string metID (*%^%*)
    35   | pblmet2str x = raise ERROR ("pblmet2str: uncovered definition " ^ pblmet2str x)
    36 
    37 (*3.5.00: TODO: foppFK eliminated in interface FE-KE !!!*)
    38 datatype foppFK =                  (* in DG cases div 2 *)
    39   EmptyFoppFK         (*DG internal*)
    40 | FormFK of TermC.as_string
    41 | PpcFK of TermC.as_string P_Model.model
    42 
    43 datatype nest = Open | Closed | Nundef;
    44 
    45 type indent = int;
    46 datatype edit = EdUndef | Write | Protect;
    47 
    48 datatype inout = (*FIXME.WN1105 drop this: was required for proto0 with dialog in sml*)
    49   Error_ of string                                                         (*<--*)
    50 | FormKF of cellID * edit * indent * nest * TermC.as_string                   (*<--*)
    51 | PpcKF of cellID * edit * indent * nest * (pblmet * P_Model.T) (*<--*)
    52 | RefineKF of M_Match.T list                                             (*<--*)
    53 | RefinedKF of (Problem.id * ((I_Model.T) * (Pre_Conds.T)))   (*<--*)
    54 
    55 datatype mout =
    56   FormKF of TermC.as_string
    57 | PpcKF of (pblmet * P_Model.T) 
    58 | RefinedKF of Problem.id * (I_Model.T * Pre_Conds.T)
    59 | Error' of string
    60 | EmptyMout
    61 
    62 fun mout2str (FormKF cterm') = "FormKF " ^ cterm'
    63   | mout2str (PpcKF  (pm, itemppc)) = "PpcKF (" ^ pblmet2str pm ^ ", " ^ P_Model.to_string itemppc ^ ")"
    64   | mout2str (RefinedKF  (_, _)) = "mout2str: RefinedKF not impl."
    65   | mout2str (Error'  str) = "Error' " ^ str
    66   | mout2str (EmptyMout    ) = "EmptyMout"
    67 
    68 type T = Pos.pos' * Pos.pos' list * mout * Ctree.ctree;
    69 
    70 (**)end(**)