(*
Author : Norbert Schirmer
Maintainer : Norbert Schirmer , norbert . schirmer at web de
Copyright ( C ) 2006 - 2008 Norbert Schirmer
*)
(*<*)
theory SyntaxTest imports HeapList Vcg begin
record "globals" =
alloc_' :: "ref list"
free_':: nat
GA_' :: "ref list list"
next_' :: "ref → ref"
cont_' :: "ref → nat"
record 'g vars = "'g state" +
A_' :: "nat list"
AA_' :: "nat list list"
I_' :: nat
M_' :: nat
N_' :: nat
R_' :: int
S_' :: int
B_' :: bool
Abr_':: string
p_' :: ref
q_' :: ref
procedures Foo (p,I|p) = "π« p :== π« p"
term "π« I :==g 3 - 1"
term "π« R :==g 3 - 1"
term "π« I :==g π« A!i"
term " π« A!i :== j"
term " π« AA :== π« AA!![i,j]"
term " π« AA!![i,j] :== π« AA"
term "π« A!i :==g j"
term "π« p :==g π« GA!i!j"
term "π« GA!i!j :==g π« p"
term "π« p :==g π« p → π« next"
term "π« p → π« next :==g π« p"
term "π« p → π« next → π« next :==g π« p"
term "π« p :== NEW sz [π« next :== Null,π« cont :== 0]"
term "π« p→ π« next :==g NEW sz [π« next :== Null,π« cont :== 0]"
term "π« p :== NNEW sz [π« next :== Null,π« cont :== 0]"
term "π« p→ π« next :==g NNEW sz [π« next :== Null,π« cont :== 0]"
term "π« B :==g π« N + 1 < 0 β§ π« M + π« N < n"
term "π« B :==g π« N + 1 < 0 β¨ π« M + π« N < n"
term "π« I :==g π« N mod n"
term "π« I :==g π« N div n"
term "π« R :==g π« R div n"
term "π« R :==g π« R mod n"
term "π« R :==g π« R * n"
term "π« I :==g π« I - π« N"
term "π« R :==g π« R - π« S"
term "π« R :==g int π« I"
term "π« I :==g nat π« R"
term "π« R :==g -π« R"
term "IFg π« A!i < π« N THEN c1 ELSE c2 FI"
term "WHILEg π« A!i < π« N DO c OD"
term "WHILEg π« A!i < π« N INV { foo} DO c OD"
term "WHILEg π« A!i < π« N INV { foo} VAR bar x DO c OD"
term "WHILEg π« A!i < π« N INV { foo} VAR bar x DO c OD;;c"
term "c;;WHILEg π« A!i < π« N INV { foo} VAR MEASURE π« N + π« M DO c;;c OD;;c"
context Foo_impl
begin
term "π« q :== CALL Foo(π« p,π« M)"
term "π« q :== CALLg Foo(π« p,π« M + 1)"
term "π« q :== CALL Foo(π« p→ π« next,π« M)"
term "π« q → π« next :== CALL Foo(π« p,π« M)"
end
end
(*>*)
Messung V0.5 in Prozent C=97 H=-734 G=523
Β€ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet am 2026-07-01)
Β€
*© Formatika GbR, Deutschland