2008-2-261CSE 3302 Programming LanguagesMidTerm ReviewsChengkai Li, Weimin HeSpring 2008MidTerm ReviewsMidTerm Reviews Spring 20081CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, Weimin He, 2008Materials Not Covered• Chapter 3– 3.1, 3.2, 3.3, 3.4, 3.5• Chapter 44–4.7• Chapter 6– 6.8, 6.9• Chapter 7– 7.4, 7.5CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, Weimin He, 20082MidTerm Reviews Spring 2008Materials Not Covered• Chapter 8– 8.4, 8.5, 8.6• Chapter 996 9 98–9.6, 9.7, 9.8• Object-Oriented Programming (However Java will be covered, for its imperative programming aspects.)CSE3302 Programming Languages, UT-Arlington ©Chengkai Li, Weimin He, 20083MidTerm Reviews Spring 2008Important Knowledge Points• History– History of various programming languages– Key features for each programming languageCSE3302 Programming Languages, UT-Arlington ©Chengkai Li, Weimin He, 20084MidTerm Reviews Spring 2008Important Knowledge Points• Syntax– Regular Expression– Context-Free GrammarLeftmost Derivation–Leftmost Derivation– BNF & EBNF– Parse Tree & Abstract Syntax Tree– Ambiguity Elimination– Dangling Else– Left Recursion Elimination & Left FactoringCSE3302 Programming Languages, UT-Arlington ©Chengkai Li, Weimin He, 20085MidTerm Reviews Spring 2008Important Knowledge Points• Semantics– Name & Binding– Symbol TableStatic(Lexical) Scope vs Dynamic Scope–Static(Lexical) Scope vs. Dynamic Scope– Different Method Overload Resolution Rules in different languages– Environment for variables– Scope vs. Life Time– Box-and-Circle Diagram– Aliases & Dangling ReferencesCSE3302 Programming Languages, UT-Arlington ©Chengkai Li, Weimin He, 20086MidTerm Reviews Spring 20082008-2-262Important Knowledge Points• Data Types– Enumerated types– Type EquivalenceStructural Equivalence vs Name Equivalence–Structural Equivalence vs. Name Equivalence– Struct & Union in C– Type conversion– Type casting in JavaCSE3302 Programming Languages, UT-Arlington ©Chengkai Li, Weimin He, 20087MidTerm Reviews Spring 2008Important Knowledge Points• Control– Expression vs. Statement– Side EffectApplicative Order Evaluation–Applicative Order Evaluation– Short-Circuit Evaluation – Normal order evaluation – Environment for procedures or functions– Parameter Passing MechanismsCSE3302 Programming Languages, UT-Arlington ©Chengkai Li, Weimin He, 20088MidTerm Reviews Spring 2008Important Knowledge Points• Abstract Data Types– Algebraic Specification – Different Module Mechanisms in different languageslanguagesCSE3302 Programming Languages, UT-Arlington ©Chengkai Li, Weimin He, 20089MidTerm Reviews Spring 2008Pass by Textint i;int p(int y) {int j = 1;return y;}void q(void) {Print 3 using pass by textCSE3302 Programming Languages, UT-Arlington ©Chengkai Li, Weimin He, 200810MidTerm Reviews Spring 2008void q(void) { int j;i = 2; j = 2;printf(“%d\n”,p(i+j));}main(){q();}Print 4 using pass by
View Full Document