syntax "_Assign" :: "idt ==> 'b ==> 'a com" (‹(🍋_ :=/ _)› [70, 65] 61) "_Cond" :: "'a bexp ==> 'a com ==> 'a com ==> 'a com" (‹(0IF _/ THEN _/ ELSE _/FI)› [0, 0, 0] 61) "_Cond2" :: "'a bexp ==> 'a com ==> 'a com" (‹(0IF _ THEN _ FI)› [0,0] 56) "_While" :: "'a bexp ==> 'a com ==> 'a com" (‹(0WHILE _ /DO _ /OD)› [0, 0] 61) "_Await" :: "'a bexp ==> 'a com ==> 'a com" (‹(0AWAIT _ /THEN /_ /END)› [0,0] 61) "_Atom" :: "'a com ==> 'a com" (‹(⟨_⟩)› 61) "_Wait" :: "'a bexp ==> 'a com" (‹(0WAIT _ END)› 61)
translations "🍋x := a"⇀"CONST Basic «🍋(_update_name x (λ_. a))¬" "IF b THEN c1 ELSE c2 FI"⇀"CONST Cond {b} c1 c2" "IF b THEN c FI"⇌"IF b THEN c ELSE SKIP FI" "WHILE b DO c OD"⇀"CONST While {b} c" "AWAIT b THEN c END"⇌"CONST Await {b} c" "⟨c⟩"⇌"AWAIT CONST True THEN c END" "WAIT b END"⇌"AWAIT b THEN SKIP END"
print_translation‹ let fun quote_tr' f (t :: ts) = Term.list_comb (f $ Syntax_Trans.quote_tr' 🍋‹_antiquote›t, ts) | quote_tr' _ _ = raise Match; val assert_tr' = quote_tr' (Syntax.const 🍋‹_Assert›); fun bexp_tr' name ((Const (🍋‹Collect›, _) $ t) :: ts) = quote_tr' (Syntax.const name) (t :: ts) | bexp_tr' _ _ = raise Match; fun assign_tr' (Abs (x, _, f $ k $ Bound 0) :: ts) = quote_tr' (Syntax.const 🍋‹_Assign›$ Syntax_Trans.update_name_tr' f) (Abs (x, dummyT, Syntax_Trans.const_abs_tr' k) :: ts) | assign_tr' _ = raise Match; in [(🍋‹Collect›, K assert_tr'), (🍋‹Basic›, K assign_tr'), (🍋‹Cond›, K (bexp_tr' 🍋‹_Cond›)), (🍋‹While›, K (bexp_tr' 🍋‹_While›))] end ›
end
Messung V0.5 in Prozent
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.29Angebot
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-04-29)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.