代数语义学内容摘要:
程序抽象的语义描述 函数抽象 Function = Argument→Value Function = Argument→Store→Value bind_parameter: Formal_Parameter→(Argument→Environ) give_argument : Actual_Parameter→(Environ→Argument) 扩充 IMP语法 Command ::= … | Identifier (Actual_Parametor) Expression ::= … | Identifier (Actual_Parmenter) Declaration ::= … | func Identifier (Formal_Parameter) is Expression | proc ldentifier (Formal_paramenter) is Command Formal_Parameter ::= const Identifier: Type_Denoter Actual_parameter ::= Expression Argument = Value Bindable = value Value + variable Location + function Function 写 IMP函数的指称语义 bindparameter 〖 I:T〗 arg = bind (I, arg) giveargument 〖 E〗 env = evaluate E env 函数调用的语义等式如下 : evaluate 〖 I(AP)〗 env = let function func = find (env, I) in let arg = give_argument AP env in func arg elaborate 〖 fun I(FP) is E 〗 env = let func arg = let parenv = bind_parameter FP arg in evaluate E (overlay (parenv, env )) in (bind (I, function func)) 过程抽象 Procedure = Argument→Store→Store Argument = Value Bindable = value Value + variable Location+functionFunction +procedure Procedure execute 〖 I(AP) 〗 env sto= let procedure proc = find (env, I) in let arg = give_argument AP env sto in proc arg sto elaborate 〖 proc I(FP) is C 〗 env sto = let proc arg sto39。 = let parent = bindparameter FP arg in execute C (overlay (parenv env)) sto39。 in (bind (I, procedure proc), sto) 参数机制的语义描述 常量和变量参数 先细化参数定义语法 FormalParameter ::= const Identifier: Type_denoter | var Identifier : Type_denoter ActualP arameter ::= Expression | var Identifier bind_parameter : Formal_parameter→(Argument→Environ) give_parameter : Actural_Parameter→(Environ→Store→Argument) 形参的语义等式是 : bind_parameter 〖 const I:T〗 (value val) = bind (I, value val) bind_parameter 〖 var I:T〗 (variable loc)= bind(I, variable loc) 实参的语义等式是 : give_argument 〖 E〗 env sto = value (evaluate E env sto) give_argument 〖 var I〗 env sto = let variable loc = find (env, I) in variable loc 复制参数机制 Formal_Parmeter ::= value Identifier: Type_denoter | result Identifier : Type_denoter Actual_Parameter ::= Expression | var Identifier copy_in: Formal_Parameter→(Argument→Store→Environ Store) copy_in 〖 value I:T〗 (value val) sto = let (sto39。 , local) = allocate sto in (bind (I, variable local), update (sto39。 , local, val)) copyin 〖 result I:T〗 (variable loc) sto= let (sto39。 , local)= allocate sto in (bind (I, variable local), sto39。 ) copy_out: Formal_Parameter→(Environ→ Argument→Store→Store) copy_out 〖 value I:T〗 env (vlaue val) sto = sto copy_out 〖 result I:T〗 env (variable loc) sto = let variable local = find (env, I) in update (sto, loc, fetch (sto, local)) 过程声明的语义等式作以下修改 : elaborate〖 proc (FP) is C 〗 env sto= let proc arg sto39。 = let (parenv, sto) copy_in FP arg sto39。 in let sto39。 39。 39。 = execute C (overlay (parenv, env )) sto in copy_out FP parenv arg sto39。 39。 39。 in (bind (I, procedure proc), sto) 多参数 Function = Argument*→Store→Value Procedure = Argument* →Store→Store bind_parameter : Formal_Parameter_List→(Argument * →Environ) give_argument:Acrual_Parameter_List→(Environ →Store →Argament *) 递归抽象 递归函数声明的语义等式如下 : elaborate〖 fun I (FP) is E〗 env= let func arg = let env39。 =overlay (bind (I, function func), env) in let parenv = bindparameter FP arg in evaluate E (overlay (parenv, env39。 ))。代数语义学
相关推荐
《 海燕 》 的情感态度价值观的设计: 教案一:培养学生革命的大无畏精神。 教案二:懂得面对生活,不同人生观的人会选择不同的人生道路。 《 范进中举 》 的情感态度价值观的设计 教案一:养成学生把握文体,深入探究的观念。 教案二:通过分析范进几考不中,在中举后却癫狂的人物描写过程中,体会平和心态对幸福人生的重要。 教学设计要“大气”。 所谓“大气”,至少指不要步子太小,“导”得太多
对诸多可以预见和难以预见的风险挑战。 分析形势:国内外环境 制定“十二五”规划,必须高举中国特色社会主义伟大旗帜,以邓小平理论和“三个代表”重要思想为指导,深入贯彻落实科学发展观,适应国内外形势新变化,顺应各族人民过上更好生活新期待,以科学发展为主题,以加快转变经济发展方式为主线,深化改革开放,保障和改善民生,巩固和扩大应对国际金融危机冲击成果,促进经济长期平稳较快发展和社会和谐稳定
贬谪到湖北黄州任团练副使,但不得 “ 签书公事 ” ,也就是说做着有职无权的闲官。 四年后(即 1083年),作者在黄州写下 《 记承天寺夜游 》 ,真实地记录了他当时生活的一个片段。 他从监狱里走来,他带着一个极小的官职,实 际上以一个流放罪犯的身份走来,他带着官场和文 坛泼给他的浑身脏水走来,他满心侥幸又满心绝望 地走来。 他被人押着,远离自己的家眷,没有资格 选择黄州之外的任何一个地方
社 ,任驻外记者 从在 《 东方时空 》 、《 焦点访谈 》 做了电视记者以来,渐渐地越来越多的人叫水均益“主持人”。 因为大家发现,他不是在演播室里正襟危坐,综论天下大事,就是西服革履地面对一个个世界著名政要,一板一眼地进行专访。 其实那并不全面。 西服革履只反映了他作为记者的一面,有很多时候他还会到马路上采访 行人,他会钻进胡同采访居民。 有时候,他还会去一些危险的地方采访。