چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Programming Language Fundamentals by Example

Donald E. Stevenson

قیمت نهایی

۴۹٬۰۰۰ تومان

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

نویسنده
Donald E. Stevenson
سال انتشار
۲۰۰۶
فرمت
PDF
زبان
انگلیسی
حجم فایل
۵٫۲ مگابایت

دربارهٔ کتاب

This is a masterpiece written by a pedagogue devoted to the subject. This book is a must-have for those who are serious about understanding computing algorithms and languages. The author has written with a depth that requires regular reflection, as he writes in a succinct style, on topics that would possibly require (for some, especially undergraduates) reading other books to help understand parts of his explanations. He gives a nice history on the development of computer languages. The reader must be able to put the book's project exercises into practice to benefit from what the book has to offer. It requires some programming experience, preferably in C, or better still, in Forth. It appears to have been written for a series of lectures given by the author. The Appendix shows a copy of a successful student's reflections on the course, and the student states that the course is intensive, requiring research into materials elsewhere to support his efforts. It is a book best needed by gifted post-graduates wishing to become experts in developing a compiler while creating a simple object language (called SOL in the book) The book is best used while doing the course given by the author. However, it could still be of use to the experienced, self-taught (self-teaching) non-academic student. For the non-graduate, the book might warrant 2 stars; for the devoted, gifted, and practising student, the book could be worth at least 4 stars. I therefore give it 3 stars. 0849370167......Page 1 au7016fm......Page 2 Programming Language Fundamentals by Example......Page 4 CONTENTS......Page 6 LIST OF FIGURES......Page 12 THE AUTHOR......Page 14 PREFACE......Page 15 AVAILABILITY OF COURSE MATERIALS......Page 16 Appendix A: REFLECTIONS BY ONE GOOD STUDENT......Page 0 1.1 EXPECTATIONS FOR THE STUDENT AND INSTRUCTOR......Page 17 1.2 OPENING COMMENTS......Page 18 1.3 POSSIBLE SEMESTER COURSE......Page 20 1.3.1.1 Learning Principle 1: Prior Knowledge......Page 21 1.3.1.2 Learning Principle 2: Foundational Knowledge......Page 23 1.4.1 Milestone Maps......Page 24 2.1 MEMORANDUM FROM THE PRESIDENT......Page 26 2.2.1 Cambridge Polish......Page 27 2.2.2 A Note on Notation......Page 28 2.3 SOL......Page 29 2.4.2 Variables......Page 30 2.5.1 Stack Control Operations......Page 31 2.6.2 Select-Selection......Page 32 2.7 EXPRESSIONS......Page 33 2.8 INPUT FILE STRUCTURES AND FILE SCOPE......Page 34 2.9 DERIVED TYPES......Page 35 2.10.2 Scoping within Functions and Compound Statements......Page 36 2.12 PRIMITIVE FUNCTIONS AND ARGUMENTS......Page 37 2.13.1 Reads, Writes, and File Operations......Page 38 2.14 TYPE CONVERSIONS......Page 41 PART I: MILESTONES......Page 43 3.1.1 Contract Grading......Page 44 3.2.1 Design Information......Page 45 3.4 MAKEFILE PROTOTYPE......Page 46 MILESTONE REQUIREMENTS: INTRODUCTION TO Gforth......Page 49 MILESTONE REPORT......Page 50 INTRODUCTION TO Gforth......Page 51 PROGRAMMING IN Gforth......Page 53 Assignment......Page 54 CASE 3. ROUND 2: MORE ARITHMETIC......Page 55 Defining User Words......Page 56 CASE 6. FUNCTIONS......Page 57 CASE 7. PROJECT MANAGEMENT......Page 59 OBJECTIVES......Page 60 ADDITIONAL INFORMATION......Page 61 Finite State Automata......Page 62 CASE 10. FINITE STATE MACHINE DESIGN......Page 65 CASE 11. REASONING ABOUT DESIGN......Page 66 Database Management 101......Page 67 Second-Order Analysis of Symbols......Page 69 OBJECTIVES......Page 71 Detailed Information......Page 72 Specific Grading Points......Page 73 Basic Terminology......Page 74 CASE 15. CONVERSION OF FINITE STATE AUTOMATON GRAPHS TO GRAMMARS......Page 75 Context-Free Productions......Page 76 Derivations......Page 77 Production Systems......Page 79 Parse Trees......Page 80 CASE 16. CONVERTING THE S PRODUCTION TO CODE......Page 82 CASE 18. DEVELOPING THE PARSING GRAMMAR......Page 83 ASSIGNMENT......Page 85 WHAT IS A TYPE?......Page 86 REASONING ABOUT TYPES......Page 87 DEVELOPING TYPE RULES......Page 88 TYPE CONVERSION MATRIX......Page 89 SPECIFICATION FOR THE WHOLE TYPE CHECKER......Page 90 CASE 23. SHOULD BOOLS BE ALLOWED?......Page 91 UNIFICATION AND TYPE CHECKING ALGORITHM......Page 92 CASE 25. DEVELOPING THE TYPE CHECKING ALGORITHM......Page 93 PROFESSIONAL METHODS AND VALUES......Page 94 PERFORMANCE OBJECTIVES......Page 95 STRING IMPLEMENTATION......Page 96 MILESTONE REPORT......Page 98 Professional Methods and Values......Page 99 SCOPING AND SOL......Page 100 Symbol Table Issues......Page 101 Space Management Issues......Page 102 CASE 30. STACK EFFECTS......Page 103 ASSIGNMENT......Page 104 BINDING THE FUNCTION NAME TO THE FUNCTION......Page 105 RECURSIVE AND NONRECURSIVE FUNCTIONS......Page 106 Storage Management Issues......Page 107 PROFESSIONAL METHODS AND VALUES......Page 109 FUNDAMENTAL CONCEPTS......Page 110 Array Development......Page 111 Defining Structures......Page 114 ASSIGNMENT......Page 116 Destroying Allocated Structures......Page 115 INHERITANCE......Page 117 POLYMORPHISM......Page 118 PART II: GENERAL INFORMATION......Page 120 4.1.1 Week 1......Page 121 4.2.1 The Exercise......Page 122 4.2.2 Why It Works......Page 123 5.1.1 Technical Vocabulary......Page 124 5.1.2 Deliverable......Page 125 5.2 PHILOSOPHY OF LINGUISTICS......Page 126 5.3 MEANING: LANGUAGE, MIND, AND WORLD......Page 127 5.4 WHAT IS SYNTAX?......Page 128 CASE 35. WHAT CAN WE LEARN FROM A DICTIONARY?......Page 130 CASE 36. HOW DOES WHAT WE LEARNED PLAY OUT IN PROGRAMMING LANGUAGES?......Page 132 CASE 37. ENGLISH GRAMMAR WITH PRODUCTION RULES......Page 133 CASE 38. GRAMMARS IN PROGRAMMING LANGUAGES......Page 134 5.6 SEMANTICS......Page 136 5.7.1 Survey and Question......Page 137 5.7.4 Review......Page 139 6.1 METALANGUAGE VERSUS OBJECT LANGUAGE......Page 140 CASE 39. WHAT IS THE PROPER WAY TO FORM JAVA SYMBOLS?......Page 141 6.3 STRUCTURAL INDUCTION......Page 142 6.4 INTERPRETATION SEMANTICS......Page 143 6.5 WHAT ABOUT PRAGMATICS?......Page 145 7.1 A GENERAL FRAMEWORK......Page 146 7.2 TYPES......Page 147 7.4 DEFINING A LANGUAGE......Page 148 7.4.2 Evolution......Page 149 CASE 47. DESIGNING MODULES......Page 150 8.1 INTRODUCTION TO DESIGN......Page 152 8.2.1 Linguistic Issues......Page 153 8.2.2 Schemata......Page 154 8.3 USING THESE IDEAS IN DESIGN......Page 155 8.3.1 Understanding the Semantics of Grammars......Page 156 8.3.1.2 Dealing with Nonterminals......Page 157 8.3.2 Designing a Postfix Printer Program......Page 158 8.3.3 Calculator......Page 160 8.4 DESIGN RECAP......Page 161 CASE 49. EARLY HISTORY OF PROGRAMMING LANGUAGES......Page 163 9.3 SCOPE......Page 164 9.4.1 Syntax......Page 166 9.4.2 Semantics......Page 167 9.4.4 Recursion and the Unfolding Model......Page 168 9.4.5 Arguments, Prologues, and Epilogues......Page 169 9.4.5.1 Argument Passing......Page 170 9.5 IMPLEMENTATION ISSUES......Page 171 10.1 COMPUTER MEMORY......Page 172 10.2 DETERMINING THE SIZE REQUIRED......Page 173 10.2.3 Arrays......Page 174 10.2.3.2 One-Dimensional Arrays with Nonstandard Origins......Page 176 10.3 RUNTIME STORAGE MANAGEMENT......Page 177 10.3.2 Stack Frame......Page 178 CASE 58. LISTING ACTIVATION RECORDS......Page 179 CHAPTER 11: PERSONAL SOFTWARE DESIGN PROCESS PORTFOLIO......Page 180 11.1.2 A Three-Credit Course Is Nine Hours......Page 181 11.1.4 Keeping Track of Programming Time......Page 182 11.2 DISCOVERING HOW LONG IT TAKES TO WRITE A PROGRAM......Page 183 11.2.2 Work Breakdown Structure......Page 184 11.3.1 Baseline and Schedule Variance Computations......Page 185 11.3.3 Process......Page 186 11.4 SUMMARY INFORMATION FOR PDSPP0......Page 188 11.5 REQUIREMENTS TEMPLATE (RWT)......Page 189 11.8 DEFECT LOG TEMPLATE (DLT)......Page 190 12.1 LOOKING BEHIND......Page 192 12.1.3 Arab Mathematics......Page 193 12.1.4 Hindu Number Systems and Algebra......Page 194 12.1.7 Babylonian Algebra......Page 195 12.2 THE ROLE OF THE lambda-CALCULUS......Page 196 12.2.2 Computability......Page 198 12.3 MOVING FORWARD FROM 1954......Page 199 12.4.1 Imperative Languages from 1954 to 1965......Page 200 12.4.3 SNOBOL and Pattern Matching......Page 201 12.5.2 The Advent of Logical Programming......Page 202 12.7 THE PARALLEL PROCESSING REVOLUTION......Page 203 12.7.2 Languages for Non-SISD Architectures......Page 204 12.8 CRITIQUE OF THE PRESENT......Page 206 A.2 MILESTONES II AND III......Page 207 A.2.4 Implementing the Parser......Page 208 A.3.1 Designing the Symbol Table and Type Checker......Page 209 A.3.3 Testing Concerns......Page 210 A.4.1 Implementing a Library in Gforth......Page 211 A.6 MILESTONE VI......Page 212 A.6.2 Variable Assignment......Page 213 A.7 MILESTONE VII......Page 214 A.8 REFLECTION ON THIS COURSE......Page 215 REFERENCES......Page 217 Written in an informal yet informative style, Programming Language Fundamentals by Example uses active learning techniques, giving students a professional learning experience based on professional methods applied with professional standards. It provides an understanding of the many languages and notations used in computer science, the formal models used to design phases, and the foundations of languages including linguistics and logic. To give students a thorough, working knowledge of programming languages, this textbook uses a semester-long project in which students create a programming language. This project brings to life the concepts and theories fundamental to computer languages. The author incorporates "thinking tools" such as concept maps, matrices for analysis, and flowcharts. Designed for fourth year undergraduates and first year graduates with enough exposure to programming to absorb the technical foundations of languages, this textbook offers a unique approach to understanding how programming languages are created and function. Surveying the major programming languages that have hallmarked the evolution of computing, Programming Language Fundamentals by Example provides an understanding of the many languages and notations used in computer science, the formal models used to design phases, and the foundations of languages including linguistics. This textbook guides students through the process of implementing a simple interpreter with case-based exercises, questions, and a semester-long project that encompasses all of the concepts and theories presented in the book into one concrete example. It covers also such topics as formal grammars, automata, denotational and axiomatic semantics, and rule-based presentation. This book uses active learning techniques, demonstrating a learning experience based on methods applied with professional standards. It provides an understanding of the many languages and notations used in computer science, the formal models used in design, and the foundations of languages including linguistics and logic.--[book cover].

قیمت نهایی

۴۹٬۰۰۰ تومان