(*<*) abbreviation (output)
unanFAcc :: "expr → vname → expr" (‹(_∙_)› [10,10] 90) where "unanFAcc e F == FAcc e F []"
abbreviation (output)
unanFAss :: "expr → vname → expr → expr" (‹(_∙_ := _)› [10,0,90] 90) where "unanFAss e F e' == FAss e F [] e'" (*>*)
inductive
Anno :: "[J_prog,env, expr , expr] → bool"
(‹_,_ ⊨ _ ↝ _› [51,0,0,51]50) and Annos :: "[J_prog,env, expr list, expr list] → bool"
(‹_,_ ⊨ _ [↝] _› [51,0,0,51]50) for P :: J_prog where
AnnoNew: "P,E ⊨ new C ↝ new C"
| AnnoCast: "P,E ⊨ e ↝ e' ==> P,E ⊨ Cast C e ↝ Cast C e'"
| AnnoVal: "P,E ⊨ Val v ↝ Val v"
| AnnoVarVar: "E V = ⌊T⌋==> P,E ⊨ Var V ↝ Var V"
| AnnoVarField: "[ E V = None; E this = ⌊Class C⌋; P ⊨ C sees V,NonStatic:T in D ] ==> P,E ⊨ Var V ↝ Var this∙V{D}"
| AnnoBinOp: "[ P,E ⊨ e1 ↝ e1'; P,E ⊨ e2 ↝ e2' ] ==> P,E ⊨ e1 «bop¬ e2 ↝ e1' «bop¬ e2'"
| AnnoLAssVar: "[ E V = ⌊T⌋; P,E ⊨ e ↝ e' ]==> P,E ⊨ V:=e ↝ V:=e'"
| AnnoLAssField: "[ E V = None; E this = ⌊Class C⌋; P ⊨ C sees V,NonStatic:T in D; P,E ⊨ e ↝ e' ] ==> P,E ⊨ V:=e ↝ Var this∙V{D} := e'"
| AnnoFAcc: "[ P,E ⊨ e ↝ e'; P,E ⊨ e' :: Class C; P ⊨ C sees F,NonStatic:T in D ] ==> P,E ⊨ e∙F{[]} ↝ e'∙F{D}"
| AnnoSFAcc: "[ P ⊨ C sees F,Static:T in D ] ==> P,E ⊨ C∙sF{[]} ↝ C∙sF{D}"
| AnnoFAss: "[ P,E ⊨ e1 ↝ e1'; P,E ⊨ e2 ↝ e2'; P,E ⊨ e1' :: Class C; P ⊨ C sees F,NonStatic:T in D ] ==> P,E ⊨ e1∙F{[]} := e2 ↝ e1'∙F{D} := e2'"
| AnnoSFAss: "[ P,E ⊨ e2 ↝ e2'; P ⊨ C sees F,Static:T in D ] ==> P,E ⊨ C∙sF{[]} := e2 ↝ C∙sF{D} := e2'"
| AnnoCall: "[ P,E ⊨ e ↝ e'; P,E ⊨ es [↝] es' ] ==> P,E ⊨ Call e M es ↝ Call e' M es'"
| AnnoSCall: "[ P,E ⊨ es [↝] es' ] ==> P,E ⊨ SCall C M es ↝ SCall C M es'"
| AnnoBlock: "P,E(V ↦ T) ⊨ e ↝ e' ==> P,E ⊨ {V:T; e} ↝ {V:T; e'}"
| AnnoComp: "[ P,E ⊨ e1 ↝ e1'; P,E ⊨ e2 ↝ e2' ] ==> P,E ⊨ e1;;e2 ↝ e1';;e2'"
| AnnoCond: "[ P,E ⊨ e ↝ e'; P,E ⊨ e1 ↝ e1'; P,E ⊨ e2 ↝ e2' ] ==> P,E ⊨ if (e) e1 else e2 ↝ if (e') e1' else e2'"
| AnnoLoop: "[ P,E ⊨ e ↝ e'; P,E ⊨ c ↝ c' ] ==> P,E ⊨ while (e) c ↝ while (e') c'"
| AnnoThrow: "P,E ⊨ e ↝ e' ==> P,E ⊨ throw e ↝ throw e'"
| AnnoTry: "[ P,E ⊨ e1 ↝ e1'; P,E(V ↦ Class C) ⊨ e2 ↝ e2' ] ==> P,E ⊨ try e1 catch(C V) e2 ↝ try e1' catch(C V) e2'"
¤ Diese beiden folgenden Angebotsgruppen bietet das Unternehmen0.15Angebot
(Wie Sie bei der Firma Beratungs- und Dienstleistungen beauftragen können 2026-07-15)
¤
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.