Java Formal Semantics
|
set makeAttributeList is --SC: Determines the attribute list correponding to a given type (useful for --SC: an object creation). -- --JC: |- Class name of the new instance --JC: -> Initialized Attribute list judgement |- OptTypeName -> Pairs; DeclarationObject_InProgramClasses: getClassDeclaration( ClName1 -> ClDec ) & getLocalAttributeList( |- ClDec -> LocAttrL ) & getDirectAncestor( |- ClName1 -> ClName2 ) & makeInheritedAttributeList( LocAttrL |- ClName2 -> AttrL ) -------------------------------- |- ClName1 -> AttrL ; DeclarationObject_inAPI: getAPIObjectAttributes( |- ClName -> AttrL ) -------------------------------- |- ClName -> AttrL ; end makeAttributeList; |
ComplexAssignValueToASimpleVariable: --RC: Assigns a value to a variable (parameter or local variable). -- --CS: var1 = 10; assign( ObjL1, ClVarL1, Env1, ObjId |- Ident, TVValue -> ObjL1_1, ClVarL1_1, Env1_1 ) -------------------------------- ObjL1, ClVarL1, Env1, _, ObjId, _ |- semAssign(empty(), Ident, assignment(), TVValue) -> ObjL1_1, ClVarL1_1, Env1_1, TVValue, insts[], runnable() ; |
ComplexAssignExpressionToASimpleVariable: --RC: Evaluates the right member of the assignment before assigning the --RC: variable. -- --CS: var1 = 25 + var2; evaluateExpression( ObjL, ClVarL, Env, OThId, ObjId, Mode |- Expr -> ObjL_1, ClVarL_1, Env_1, Expr_1, InstL, ThStatus ) -------------------------------- ObjL, ClVarL, Env, OThId, ObjId, Mode |- semAssign(empty(), Ident, AOp, Expr) -> ObjL_1, ClVarL_1, Env_1, semAssign(empty(), Ident, AOp, Expr_1), InstL, ThStatus ; |