This preview shows page 1-2-3-4-5-6-7-8-9-10-11-76-77-78-79-80-81-82-83-84-85-152-153-154-155-156-157-158-159-160-161-162 out of 162 pages.
61A Lecture 3Wednesday, August 31Wednesday, August 31, 2011Lightning Review: Expressions2Primitive expressions:Call expressions:Wednesday, August 31, 2011Lightning Review: Expressions2Primitive expressions:Call expressions:2NumberWednesday, August 31, 2011Lightning Review: Expressions2Primitive expressions:Call expressions:2 addNumber NameWednesday, August 31, 2011Lightning Review: Expressions2Primitive expressions:Call expressions:2 add 'hello'Number Name StringWednesday, August 31, 2011Lightning Review: Expressions2Primitive expressions:Call expressions:2 add 'hello'add ( 2 , 3 )Number Name StringWednesday, August 31, 2011Lightning Review: Expressions2Primitive expressions:Call expressions:2 add 'hello'add ( 2 , 3 )OperatorNumber Name StringWednesday, August 31, 2011Lightning Review: Expressions2Primitive expressions:Call expressions:2 add 'hello'add ( 2 , 3 )Operator Operand 0 Operand 1Number Name StringWednesday, August 31, 2011Lightning Review: Expressions2Primitive expressions:Call expressions:2 add 'hello'add ( 2 , 3 )Operator Operand 0 Operand 1mul(add(2, mul(4, 6)), add(3, 5))One big nested call expressionNumber Name StringWednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)What happens?Wednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementWhat happens?Wednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterWhat happens?Wednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterBodyWhat happens?Wednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterBody(return statement)What happens?Wednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterBodyReturn expression(return statement)What happens?Wednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterBodyReturn expression(return statement)Function createdWhat happens?Wednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterBodyReturn expression(return statement)Function createdBody storedWhat happens?Wednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterBodyReturn expression(return statement)Function createdBody storedName boundWhat happens?Wednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterBodyReturn expression(return statement)Function createdBody storedName boundoperand: 2+2argument: 4What happens?Wednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterBodyReturn expression(return statement)Function createdBody storedName boundoperand: 2+2argument: 4What happens?operator: squarefunction: squareWednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterBodyReturn expression(return statement)Function createdBody storedName boundoperand: 2+2argument: 4Op's evaluatedWhat happens?operator: squarefunction: squareWednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterBodyReturn expression(return statement)Function createdBody storedName boundoperand: 2+2argument: 4Op's evaluatedFunction calledWhat happens?operator: squarefunction: squareWednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterBodyReturn expression(return statement)Function createdBody storedName boundoperand: 2+2argument: 4Op's evaluatedFunction calledWhat happens?operator: squarefunction: squareIntrinsic nameWednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterBodyReturn expression(return statement)Function createdBody storedName boundoperand: 2+2argument: 4Op's evaluatedFunction calledWhat happens?operator: squarefunction: squareSignatureIntrinsic nameWednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterBodyReturn expression(return statement)Function createdBody storedName boundoperand: 2+2argument: 4Op's evaluatedFunction calledWhat happens?operator: squarefunction: squareSignatureIntrinsic name4Wednesday, August 31, 2011Life Cycle of a User-Defined Function3Defining:Call expression:square( x ):return mul(x, x)>>> defsquare(2+2)Calling/Applying:square( x ):return mul(x, x)Def statementFormal parameterBodyReturn expression(return statement)Function createdBody storedName boundoperand: 2+2argument: 4Op's evaluatedFunction calledWhat happens?operator: squarefunction:
View Full Document