Math Never Seen

Total Page:16

File Type:pdf, Size:1020Kb

Math Never Seen TUGboat, Volume 31 (2010), No. 2 221 Math never seen ò Quality criteria Johannes Küster What makes a notation superior to another? What makes a symbol successful (in the sense that other mathemati- Abstract cians accept and adopt it)? e following list gives the Why have certain mathematical symbols and notations most important quality criteria. A mathematical symbol gained general acceptance while others fell into oblivion? or notation should be: To answer this question I present quality criteria for • readable, clear and simple mathematical symbols. I show many unknown, little- • needed known or little-used notations, some of which deserve • international (or derived from Latin) much wider use. • mnemonic I also show some new symbols and some ideas for new notations, especially for some well-known concepts • writable which lack a good notation (Stirling numbers, greatest • pronounceable common divisor and least common multiple). • similar and consistent • distinct and unambiguous • adaptable Ô Introduction • available For TEX’s "20th birthday it seems appropriate to present is list is certainly not exhaustive, but these are the most some ne points of mathematical typography and some important points. Not all criteria are equally important, ideas for new symbols and notations. Let’s start with a and some may conict with others, so few symbols really quotation from e METAFONTbook [ , p. ]: fulll all criteria. — Let me explain each point in turn. Above all, a notation should be readable — but what “Now that authors have for the rst time the power constitutes readability? Certainly it comprises clear and to invent new symbols with great ease, and to have simple. Also a notation should be short, at least it should those characters printed in their manuscripts on a make an expression shorter than writing out the same state- wide variety of typesetting devices, we must face ment with words. Some of the other criteria contribute to the question of how much experimentation is de- readability as well. sirable. Will font freaks abuse this toy by overdo- When a good, widely accepted notation already exists, ing it? Is it wise to introduce new symbols by the there is no need to invent a new one. So a new notation thousands?” should be needed or necessary. Most mathematical symbols are international (even We all know that METAFONT didn’t become widely ac- if they are given dierent names in dierent languages cepted. But even with other font editors, font freaks did and although there are dierent traditions in mathemati- not create new symbols by the thousands. So while maybe cal notation, e.g. the use of a dot or a comma as decimal METAFONT was too complicated, and its way of thinking separator). Of course a new notation should be interna- foreign to most designers, this can’t be the real reason tional. In the case of an abbreviation (like “sin”, “log”, why only very few new symbols showed up. In fact, to etc.), it should be derived from Latin, as most scientic design a new useful symbol is by no means an easy task, terminology stems from Latin (and Greek), and so does which I hope will become clear in the following. Just as we the international vocabulary of mathematics. all do a lot more reading than writing, it is much easier to A notation should be easy to learn, and its meaning use existing symbols (e.g. with TEX) than to create good, should be easy to remember, at least aer one has heard useful new symbols (e.g. with METAFONT). So TEX with or read an explanation once; i.e. a notation should be the character set oered by Computer Modern fonts (and mnemonic. the AMS fonts) shaped the typography of mathematics in A lot of mathematics is still (and will be) written by the past çý years. hand (e.g. in a mathematician’s research as the fastest way is situation only changed with Unicode mathemat- to denote his thoughts, on the blackboard, etc.). So a nota- ics: Unicode now oers mathematical symbols literally tion should be writable. In fact mathematical typography by the thousands. But it gives little explanation and little shows its close relation to handwriting in many places. But usage information; many symbols are described only by while written mathematics could always be explained by shape, not by meaning. For many Unicode mathematical the writer (e.g. by the teacher at the blackboard), printed symbols it is not clear how to use them, and in many cases mathematics has to speak for itself. So in some cases it it is not clear whether there are any competing or superior is desirable to go for greater dierentiation in print than notations. what is possible in handwriting. Math never seen 222 TUGboat, Volume 31 (2010), No. 2 A notation should also be pronounceable. Usually this is not a problem: for most notations there is a manner of speaking, although oen language-specic and oen not closely related to the notation (e.g. we call “ a ” the “absolute value of a”, and we would do so whatever the notation would be). But we’ ll see an example below where a missing manner of speaking was a problem. | | A new notation should be consistent with the general system of mathematical notation and similar to existing no- tations (e.g. for a symmetric relation one should choose a symmetric symbol, for a new kind of mapping one should choose some kind of arrow). In print, we can dierentiate more than in handwriting, but still it is oen preferable to stay close to existing notations. As a special case of similarity, there are many con- cepts in mathematics which are dual or complementary to each other, and such dual concepts should be given dual notations (e.g. and ; and ; and ; and ). Conversely, dual symbols should denote dual concepts. In some cases dual symbols work against mnemonics. For many students< it is> dicult∧ ∨ to∪ remember∩ ⊂ which⊃ is which, so one has to use an additional memory aid (e.g. to remember which one of the the logic symbols or denotes the “logical or”, one might learn that reminds of Latin “vel”, which means “or”). Of course a new notation should be distinct and un- ∧ ∨ ambiguous . Otherwise it will not be an improvement∨ upon existing notations. A notation should be adaptable, it should allow for manipulation. Also mathematical concepts are oen gen- eralized, and thus notation is oen stretched to more gen- Figure Ô: Robert Recorde, e Whetstone of Witte (London, eral cases. A good notation allows for that. Ô Þ). Recorde’s explanation for his symbol “ ” is given in A historical example is given by the competing no- the lines just above the display formulae. tations x of Newton and dx of Leibniz. While Newton’s notation was similar to existing notations and better tted = into the general system, the novel notation of Leibniz was ç Historical examples superior, as it was more versatile and allowed for manipu- ̇ To illustrate these quality criteria, I will give a few histor- lation and generalization. ical examples, some unsuccessful, some successful. e To give another example, the greatest common divi- historical information is mainly taken from [Ô]. sor of two integers a and b could be denoted as gcd a, b ; alternatively one might think of an inx notation, e.g. a b. ç.Ô Symbols for equality When applied to three arguments both notations still work: Our modern symbol for equality “ ” was introduced by gcd a, b, c and a b c . But one could also take the gcd ( ) Robert Recorde in Ô Þ in his book “e Whetstone of of all elements of a set S . With the rst notation, we can ⊤ Witte” (see gureÔ). Recorde explained his choice thus: write this as gcd S . Yet the alternative notation fails, it is “And to avoide the tediouse= repetition of these not( adaptable) enough.⊤ ⊤ And last on our list, a symbol should be available. woordes : is equalle to : I will sette as I doe oen in is is not really a criterion for quality, but rather for ac- woorke use, a paire of paralleles, or Gemowe lines ( ) ceptance. e best notation does not help much if other of one lengthe, thus: , bicause noe .ò. thynges, people are not able to use it. In former times, this mainly can be moare equalle.” meant availability at the printer’s oce — nowadays it (“Gemowe” means “twin”). is is quite a famous example, means availability in a font, then a clear and simple shape as it is one of the very few==== cases where an author not only which can be added to other fonts with ease, and of course introduced a new symbol, but explained why he chose its inclusion in Unicode mathematics. particular form. Johannes Kuster¨ TUGboat, Volume 31 (2010), No. 2 223 But in fact these two symbols (and a few compet- ing symbols as well) struggled for supremacy throughout the ÔÞth century. Descartes was the more eminent mathe- matician, and with his important works his notation also spread. General adoption of “=” as the symbol for equal- ity came only in the early Ôth century, mainly because Leibniz and Newton both used it. ç.ò Symbols of Benjamin Peirce In Ô À, Benjamin Peirce introduced the symbols “ ” and “ ” to denote the numbers ç.Ô¥Ô À... and ò.ÞÔò... (see gureç). To my knowledge, these were the rst signicant symbols of American origin. ᭘ ᭙ Figure ç: Benjamin Peirce’s symbols for the numbers ç.Ô¥Ô À... and ò.ÞÔò... (from J. D. Runkle’s Mathematical Monthly, Vol. I, No.
Recommended publications
  • Donald Knuth Fletcher Jones Professor of Computer Science, Emeritus Curriculum Vitae Available Online
    Donald Knuth Fletcher Jones Professor of Computer Science, Emeritus Curriculum Vitae available Online Bio BIO Donald Ervin Knuth is an American computer scientist, mathematician, and Professor Emeritus at Stanford University. He is the author of the multi-volume work The Art of Computer Programming and has been called the "father" of the analysis of algorithms. He contributed to the development of the rigorous analysis of the computational complexity of algorithms and systematized formal mathematical techniques for it. In the process he also popularized the asymptotic notation. In addition to fundamental contributions in several branches of theoretical computer science, Knuth is the creator of the TeX computer typesetting system, the related METAFONT font definition language and rendering system, and the Computer Modern family of typefaces. As a writer and scholar,[4] Knuth created the WEB and CWEB computer programming systems designed to encourage and facilitate literate programming, and designed the MIX/MMIX instruction set architectures. As a member of the academic and scientific community, Knuth is strongly opposed to the policy of granting software patents. He has expressed his disagreement directly to the patent offices of the United States and Europe. (via Wikipedia) ACADEMIC APPOINTMENTS • Professor Emeritus, Computer Science HONORS AND AWARDS • Grace Murray Hopper Award, ACM (1971) • Member, American Academy of Arts and Sciences (1973) • Turing Award, ACM (1974) • Lester R Ford Award, Mathematical Association of America (1975) • Member, National Academy of Sciences (1975) 5 OF 44 PROFESSIONAL EDUCATION • PhD, California Institute of Technology , Mathematics (1963) PATENTS • Donald Knuth, Stephen N Schiller. "United States Patent 5,305,118 Methods of controlling dot size in digital half toning with multi-cell threshold arrays", Adobe Systems, Apr 19, 1994 • Donald Knuth, LeRoy R Guck, Lawrence G Hanson.
    [Show full text]
  • Leading the Way in Scientific Computing. Addison-Wesley. I When Looking for the Best in Scientific Computing, You've Come to Rely on Addison-Wesley
    Leading the way in scientific computing. Addison-Wesley. I When looking for the best in scientific computing, you've come to rely on Addison-Wesley. I Take a moment to see how we've made our list even stronger. The LATEX Companion sional programming languages. This book is the definitive user's Michael Goossens, Frank Mittelbach, and Alexander Samarin guide and reference manual for the CWEB system. This book is packed with information needed to use LATEX even 1994 (0-201 -57569-8) approx. 240 pp. Softcover more productively. It is a true companion to Leslie Lamport's users guide as well as a valuable complement to any LATEX introduction. Concrete Mathematics. Second Edition Describes the new LATEX standard. Ronald L. Graham, Donald E. Knuth, and Oren Patashnick 1994 (0-201 -54 199-8) 400 pp. Softcover With improvements to almost every page, the second edition of this classic text and reference introduces the mathematics that LATEX: A Document Preparation System, Second Edition supports advanced computer programming. Leslie Lamport 1994 (0-201 -55802-5) 672 pp. Hardcover The authoritative user's guide and reference manual has been revised to document features now available in the new standard Applied Mathematics@: Getting Started, Getting It Done software release-LATEX~E.The new edition features additional styles William T. Shaw and Jason Tigg and functions, improved font handling, and much more. This book shows how Mathematics@ can be used to solve problems in 1994 (0-201-52983-1) 256 pp. Softcover the applied sciences. Provides a wealth of practical tips and techniques. 1 994 (0-201 -542 1 7-X) 320 pp.
    [Show full text]
  • Types in Logic, Mathematics, and Programming from the Handbook of Proof Theory
    CHAPTER X Types in Logic, Mathematics and Programming Robert L. Constable Computer Science Department, Cornell University Ithaca, New York 1~853, USA Contents 1. Introduction ..................................... 684 2. Typed logic ..................................... 692 3. Type theory ..................................... 726 4. Typed programming languages ........................... 754 5. Conclusion ...................................... 766 6. Appendix ...................................... 768 References ........................................ 773 HANDBOOK OF PROOF THEORY Edited by S. R. Buss 1998 Elsevier Science B.V. All rights reserved 684 R. Constable 1. Introduction Proof theory and computer science are jointly engaged in a remarkable enter- prise. Together they provide the practical means to formalize vast amounts of mathematical knowledge. They have created the subject of automated reasoning and a digital computer based proof technology; these enable a diverse community of mathematicians, computer scientists, and educators to build a new artifact a globally distributed digital library of formalized mathematics. I think that this artifact signals the emergence of a new branch of mathematics, perhaps to be called Formal Mathematics. The theorems of this mathematics are completely formal and are processed digitally. They can be displayed as beautifully and legibly as journal quality mathematical text. At the heart of this library are completely formal proofs created with computer assistance. Their correctness is based on the axioms and rules of various foundational theories; this formal accounting of correctness supports the highest known standards of rigor and truth. The need to formally relate results in different foundational theories opens a new topic in proof theory and foundations of mathematics. Formal proofs of interesting theorems in current foundational theories are very large rigid objects. Creating them requires the speed and memory capacities of modern computer hardware and the expressiveness of modern software.
    [Show full text]
  • Concrete Mathematics: Foundation for Computer Science Free Download
    CONCRETE MATHEMATICS: FOUNDATION FOR COMPUTER SCIENCE FREE DOWNLOAD Ronald Graham,Oren Patashnik,Donald Ervin Knuth | 672 pages | 10 Mar 1994 | Pearson Education (US) | 9780201558029 | English | Boston, United States Concrete Mathematics: A Foundation for Computer Science, Second Edition Seller Inventory ING Reprinted as chapter 18 of the book Digital Typography. Table of contents Product information. The second edition includes important new material about the revolutionary Gosper-Zeilberger algorithm for mechanical summation. Midpoint between a discrete math text and dedicated algorithms text. Original Title. However, I promise to reply in due time. By continuing, you're agreeing to use of cookies. Dewey Decimal. Concrete Mathematics: Foundation for Computer Science response to the widespread use of the first edition as a reference book, the Concrete Mathematics: Foundation for Computer Science and index have also been expanded, and additional nontrivial improvements can be found on almost every page. Credits for Exercises. Apr 15, Bishu rated it it was amazing. Donald Knuth. Concrete Mathematics: Foundation for Computer Science Reviews. Dust Jacket Condition: New. Knuth is known throughout the world for his pioneering work on algorithms and programming techniques, for his invention of the Tex and Metafont systems for computer typesetting, and for his prolific and influential writing. If you like books and love to build cool products, we may be looking for you. This second edition includes important new material about mechanical summation. It is an indispensable text and reference not only Concrete Mathematics: Foundation for Computer Science computer scientists - the authors themselves rely heavily on it! It is an indispensable text and reference not only for computer scientists - the authors themselves rely heavily on it! Other Editions Example 4: A convoluted recurrence.
    [Show full text]
  • ACM Bytecast Don Knuth - Episode 2 Transcript
    ACM Bytecast Don Knuth - Episode 2 Transcript Rashmi: This is ACM Bytecast. The podcast series from the Association for Computing Machinery, the ​ ​ world's largest educational and scientific computing society. We talk to researchers, practitioners, and innovators who are at the intersection of computing research and practice. They share their experiences, the lessons they've learned, and their own visions for the future of computing. I am your host, Rashmi Mohan. Rashmi: If you've been a student of computer science in the last 50 years, chances are you are very familiar and somewhat in awe of our next guest.An author, a teacher, computer scientist, and a mentor, Donald Connote wears many hats. Don, welcome to ACM Bytecast. ​ ​ Don: Hi. Rashmi: I'd like to lead with a simple question that I ask all my guests. If you could please introduce yourself and talk about what you currently do and also give us some insight into what drew you into this field of work. Don: Okay. So I guess the main thing about me is that I'm 82 years old, so I'm a bit older than a lot of the other people you'll be interviewing. But even so, I was pretty young when computers first came out. I saw my first computer in 1956 when I was 18 years old. So although people think I'm an old timer, really, there were lots of other people way older than me. Now, as far as my career is concerned, I always wanted to be a teacher. When I was in first grade, I wanted to be a first grade teacher.
    [Show full text]
  • The Concrete Mathematics of Microfluidic Mixing, Part I
    The Concrete Mathematics of Microfluidic Mixing, Part I∗ UNM TR-CS-2006-09 Jennifer Sager, Maxwell Young, and Darko Stefanovic Department of Computer Science University of New Mexico Albuquerque, NM 87131 May 1, 2006 ∗Supplementary Material to Characterization of Transverse Channel Concentration Profiles Obtainable With a Class of Microfluidic Networks, published in Langmuir, 22(9), 4452–4455 (2006) Abstract We analyze mathematically a previously reported class of passive microfluidic mixing networks. The networks produce nonhomogeneous concentrations in the out- put channel, resulting in diverse concentration profiles. We formally prove that all profiles obtainable with this class of networks can be described as polynomials of degree no higher than the number of input channels less one. We derive explicit for- mulas for the calculation of resultant output concentration profiles and conversely for the calculation of input concentrations needed to obtain set output profiles. 1 Introduction Microfluidic technology presents the opportunity for low-cost fabrication of sophisticated reaction assemblies in which chemical and biochemical reactions, including open-system reactions, can be performed with very small reactant volumes and with high volumetric accuracy. For instance, microfluidic assemblies have found uses in the design of reac- tion chambers for DNA computing [14, 15, 4]. Fluid flow in microfluidic channels is entirely laminar, owing to typical channel cross-sections, flow velocities, and fluid prop- erties. Therefore, when two miscible flows are merged into a common channel, they mix only by diffusion. This means that mixing is generally slower than with turbulent flows and special care must be taken to achieve complete mixing of flows (assuming this is desired).
    [Show full text]
  • A Handbook of Mathematical Discourse
    A Handbook of Mathematical Discourse Version 0.9 Charles Wells April 25, 2002 Charles Wells Professor Emeritus of Mathematics, Case Western Reserve University Affiliate Scholar, Oberlin College Address: 105 South Cedar Street Oberlin, OH 44074, USA Email: [email protected] Website: http://www.cwru.edu/artsci/math/wells/home.html Copyright c 2002 by Charles Wells Contents List of Words and Phrases Entries Preface Bibliography About this Handbook Citations Overview Point of view Index Coverage Left To Do Descriptive and Prescriptive Citations Citations needed Presentation Information needed Superscripted cross references TeX Problems Acknowledgments Things To Do contents wordlist index List of Words and Phrases abstract algebra arbitrary brace compartmentaliza- abstraction argument by bracket tion abuse of notation analogy but componentwise accumulation of argument calculate compositional attributes argument call compute action arity cardinality concept image ad-hoc article cases conceptual blend polymorphism assertion case conceptual affirming the assume category concept consequent assumption character conditional aha at most check assertion algebra attitudes circumflex conjunction algorithm addiction back formation citation connective algorithm bad at math classical category consciousness- alias bare delimiter closed under raising all barred arrow code example all notation codomain consequent always bar cognitive consider analogy behaviors dissonance constructivism and be collapsing contain angle bracket binary operation collective plural
    [Show full text]
  • Donald E. Knuth Papers SC0097
    http://oac.cdlib.org/findaid/ark:/13030/kt2k4035s1 Online items available Guide to the Donald E. Knuth Papers SC0097 Daniel Hartwig & Jenny Johnson Department of Special Collections and University Archives August 2018 Green Library 557 Escondido Mall Stanford 94305-6064 [email protected] URL: http://library.stanford.edu/spc Note This encoded finding aid is compliant with Stanford EAD Best Practice Guidelines, Version 1.0. Guide to the Donald E. Knuth SC00973411 1 Papers SC0097 Language of Material: English Contributing Institution: Department of Special Collections and University Archives Title: Donald E. Knuth papers Creator: Knuth, Donald Ervin, 1938- source: Knuth, Donald Ervin, 1938- Identifier/Call Number: SC0097 Identifier/Call Number: 3411 Physical Description: 39.25 Linear Feet Physical Description: 4.3 gigabyte(s)email files Date (inclusive): 1962-2018 Abstract: Papers reflect his work in the study and teaching of computer programming, computer systems for publishing, and mathematics. Included are correspondence, notes, manuscripts, computer printouts, logbooks, proofs, and galleys pertaining to the computer systems TeX, METAFONT, and Computer Modern; and to his books THE ART OF COMPUTER PROGRAMMING, COMPUTERS & TYPESETTING, CONCRETE MATHEMATICS, THE STANFORD GRAPHBASE, DIGITAL TYPOGRAPHY, SELECTED PAPERS ON ANALYSIS OF ALGORITHMS, MMIXWARE : A RISC COMPUTER FOR THE THIRD MILLENNIUM, and THINGS A COMPUTER SCIENTIST RARELY TALKS ABOUT. Special Collections and University Archives materials are stored offsite and must be paged 36-48 hours in advance. For more information on paging collections, see the department's website: http://library.stanford.edu/depts/spc/spc.html. Immediate Source of Acquisition note Gift of Donald Knuth, 1972, 1980, 1983, 1989, 1996, 1998, 2001, 2014, 2015, 2019.
    [Show full text]
  • Euler in Use Context Support for the Euler Math Font, with Examples
    16 MAPS 32 Adam T. Lindsay Euler in Use ConTEXt support for the Euler math font, with examples Abstract The Euler math font was designed by Hermann Zapf. ConTEXt support was limited until now. We show how to use the Eulervm LaTEX package in combination with some new math definitions and typescripts to give a more informal look to your equations. Keywords ConTeXt, fonts, Euler, math Introduction The Euler math font was designed by Hermann Zapf. The underlying philosophy of Zapf’s Euler design was to “capture the flavor of mathematics as it might be written by a mathematician with excellent handwriting.” ConTEXt support had previously been limited, but now includes nearly all features available with ConTEXt’s mathe- matics support. We show how to use the Eulervm LaTEX package in combination with some relatively new math definitions and typescripts to give a new look to your equations. Along the way, we provide several examples using ConTEXt’s typescript and typeface mechanisms. Although Euler has a somewhat informal feel that may make it inappropriate in certain situations, it does have certain advantages: as it does not directly mirror the form of any particular roman font (and has a robust weight), it mates with many more fonts than Computer Modern Math or others that are available. As D.E. Knuth himself had a hand in its creation, it offers features like optical scaling (e.g., script and scriptscript sizes) and multiple weights (i.e., bold math) not seen in most ‘alternative’ fonts. Most of the disadvantages that previously came with Euler use, chief among them poor glyph coverage, have disappeared with Walter Schmidt’s Euler-VM package.
    [Show full text]
  • Typesetting Concrete Mathematics Testfont Routine [5, Appendix HI; These Tests Put Donald E
    TUGboat, Volume 10 (1989), No. 1 3 1 Typesetting Concrete Mathematics testfont routine [5, Appendix HI; these tests put Donald E. Knuth the characters through their basic paces by type- Stanford University setting formulas such as /A+ ,B1+ C + ... + Z1, a2tb2+c2t..+z2, az+br+c2+...+p,and During 1987 and 1988 I prepared a textbook entitled 3 + 5 + + + . + 2. I noticed among other things Concrete Mathematics [I],written with co-authors that the Fraktur characters had all been placed too Ron Graham and Oren Patashnik. I tried my best high above the baseline, and that more blank space to make the book mathematically interesting, but was needed at the left and right of the characters in I also knew that it would be typographically in- subscript/superscript sizes. After fixing such prob- teresting-because it would be the first major use lems I also needed to set the italic corrections so of a new typeface by Hermann Zapf, commissioned that subscripts and superscripts would have proper by the American Mathematical Society. This type- offsets; and I needed to define suitable kerns with face, called AMS Euler, had been carefully digitized a \skewchar so that accents would appear visually and put into METAFONT form by Stanford's digital centered. AMS Euler contains more than 400 char- typography students [a]; but it had not yet been acters, and Hermann had made them beautiful; my "tuned up" for real applications. My new book job was to find the right adjustments to the spacing served as an ideal test case, because (1) it involved so that they would fit properly into mathematics.
    [Show full text]
  • Computer Science 1
    Computer Science 1 A coordinated MBA/MCS degrees program is also offered in conjunction COMPUTER SCIENCE with the Jesse H. Jones Graduate School of Business. Contact Information Bachelor's Programs Computer Science • Bachelor of Arts (BA) Degree with a Major in Computer Science https://www.cs.rice.edu/ (https://ga.rice.edu/programs-study/departments-programs/ 3122 Duncan Hall engineering/computer-science/computer-science-ba/) 713-348-4834 • Bachelor of Science in Computer Science (BSCS) Degree (https:// ga.rice.edu/programs-study/departments-programs/engineering/ Christopher M. Jermaine computer-science/computer-science-bscs/) Department Chair [email protected] Master's Programs Alan L. Cox • Master of Computer Science (MCS) Degree (https://ga.rice.edu/ Undergraduate Committee Chair programs-study/departments-programs/engineering/computer- [email protected] science/computer-science-mcs/) • Master of Computer Science (MCS) Degree, Online Program (https:// T. S. Eugene Ng ga.rice.edu/programs-study/departments-programs/engineering/ Graduate Committee Chair computer-science/computer-science-mcs-online/) [email protected] • Master of Data Science (MDS) Degree (https://ga.rice.edu/programs- study/departments-programs/engineering/data-science/data- science-mds/) Computer science is concerned with the study of computers and • Master of Data Science (MDS) Degree, Online Program (https:// computing, focusing on algorithms, programs and programming, and ga.rice.edu/programs-study/departments-programs/engineering/ computational systems. The main goal of the discipline is to build a data-science/data-science-mds-online/) systematic body of knowledge, theories, and models that explain the • Master of Science (MS) Degree in the field of Computer Science properties of computational systems and to show how this body of (https://ga.rice.edu/programs-study/departments-programs/ knowledge can be used to produce solutions to real-world computational engineering/computer-science/computer-science-ms/) problems.
    [Show full text]
  • Introduction 9 : Semantic Analysis I
    CSc 453 Compilers and Systems Software Introduction 9 : Semantic Analysis I Department of Computer Science University of Arizona [email protected] Copyright °c 2009 Christian Collberg Compiler Phases Semantic Analysis tokens The parser returns an abstract syntax tree (AST), a source Lexer Parser structured representation of the input program. All information present in the input program (except maybe for AST errors errors comments) is also present in the AST. IR AST Literals (integer/real/. constants) and identifiers are Interm. Semantic Optimize Code Gen Analyser available as AST input attributes. IR During semantic analysis we add new attributes to the AST, and traverse the tree to evaluate these attributes and emit errors Machine Code Gen error messages. We are here! At compiler construction time we have to decide which attributes are needed, how they should be evaluated, and the asm order in which they should be evaluated. Why Semantic Analysis? Typical Semantic Errors program X; "multiple declaration" 1 Is the program statically correct? If not, report errors to user: procedure P ( x,y : integer); “undeclared variable” var z,x : char; "type mismatch" “illegal procedure parameter” begin “type incompatibility” y := "x" "type name expected" 2 Make preparations for later compiler phases (code generation end; and optimization): var k : P; "identifier not declared" Compute types of variables. var z : R; Compute addresses of variables. type R = array [9..7] of char; Store transfer modes of procedure parameters. var x,y,t : integer; Compute labels for control structures (maybe). begin "empty range" .... end Y. "wrong closing identifier" Static Semantic Rules program X; .... begin "too few parameters" Static Semantics: ≈ type checking rules.
    [Show full text]