1 / 35

Class 2: Language

Class 2: Language. David Evans cs1120 Fall 2009. Menu. First Main Theme: Recursive Definitions Survey Results Language. What’s the longest word in the English language?. Longest Words?. honorificabilitudinitatibus (27 letters, longest by Shakespeare) With honor.

jack
Télécharger la présentation

Class 2: Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Class 2: Language David Evans cs1120 Fall 2009

  2. Menu • First Main Theme: Recursive Definitions • Survey Results • Language

  3. What’s the longest word in the English language?

  4. Longest Words? honorificabilitudinitatibus (27 letters, longest by Shakespeare) With honor. antidisestablishmentarianism (28 letters) Movement against division of church and state. hippopotomonstrosesquipedaliophobia(35 letters) Fear of long words. pneumonoultramicroscopicsilicovolcanoconiosis(45 letters) (longest word in most dictionaries) Lung disease contracted from volcanic particles. Like all words, these words are “made up”.

  5. Making Longer Words antihippopotomonstrosesquipedaliophobia Against the fear of long words. antiantihippopotomonstrosesquipedaliophobia Against a thing against the fear of long words.

  6. Language is Recursive No matter what word you think is the longest word, I can always make up a longer one! word ::= anti-word By itself, this definition of word is circular.

  7. Zero, One, Infinity word ::= anti-word This rule can make 0 words. word ::= hippopotomonstrosesquipedaliophobia This rule can make 1 word. word ::= anti-word word ::= hippopotomonstrosesquipedaliophobia These two rules can make infinitely many words, enough to express all ideas in the universe!

  8. Recursive Definitions • We can define things in terms of themselves • Recursive definitions are not circular: they eventually end with something real word ::= anti-word word ::= hippopotomonstrosesquipedaliophobia

  9. Recursive Definitions Allow us to express infinitely many things starting with a few. This is powerful! We will see lots of examples in this course.

  10. Menu • First Main Theme: Recursive Definitions • Survey Results • Language

  11. Who is in the class? Produced by http://www.wordle.net/

  12. Ever written a computer program?

  13. Language More survey results (and my answers to questions) will be posted on the website before Monday.

  14. What is a language? Webster: A systematic means of communicating ideas or feelings by the use of conventionalized signs, sounds, gestures, or marks having understood meanings.

  15. Linguist’s Definition (Charles Yang) A description of pairs (S, M), where S stands for sound, or any kind of surface forms, and M stands for meaning. A theory of language must specify the properties of S and M, and how they are related.

  16. Languages • A language is: • a set of surface forms (usually strings of characters), and • a way to map any surface form • in the language to a meaning Caveat: computer scientists often use language to mean just a set of surface forms.

  17. What are languages made of? • Primitives (all languages have these) • The simplest surface forms with meaning • Means of Combination (all languages have these) • Ways to make new surface forms from ones you already have • Means of Abstraction (all powerful languages have these) • Ways to use simple surface forms to represent complicated ones

  18. Does English have these? • Primitives • Words (?) “hippopotomonstrosesquipedaliophobia” is not a primitive • Morphemes – smallest units of meaning e.g., anti- (“opposite”) • Means of combination • e.g., Sentence ::= SubjectVerbObject • Precise rules, but not the ones you learned in grammar school Ending a sentence with a preposition is something up with which we will not put. Winston Churchill

  19. Does English have these? • Means of abstraction • Pronouns: she, he, it, they, which, etc. • Confusing since they don’t always mean the same thing, it depends on where they are used. The “these” in the slide title is an abstraction for the three elements of language introduced 2 slides ago. The “they” in the confusing sentence is an abstraction for pronouns.

  20. How should we describe precise languages?

  21. Requirements • Describe infinitely many surface forms with a short description • Listing them all doesn’t work: need ways to generate the surface forms • Way to map each surface form to exactly one precise meaning Today: formally Monday: informally (using English) Later: more formally (defining an interpreter)

  22. ENIAC: Electronic Numerical Integrator and Computer • Early WWII computer but notthe first (PS4) • Built to calculate bombing tables Memory size: twenty 10 decimal digit accumulators = Apollo Guidance Computer (1969): 1 inch You: 4.4 miles 664 bits ENIAC (1946): ½ mm

  23. Directions for Getting 6 • Choose any regular accumulator (ie. Accumulator #9). • Direct the Initiating Pulse to terminal 5i. • The initiating pulse is produced by the initiating unit's Io terminal each time the Eniac is started. This terminal is usually, by default, plugged into Program Line 1-1 (described later). Simply connect a program cable from Program Line 1-1 to terminal 5i on this Accumulator. • Set the Repeat Switch for Program Control 5 to 6. • Set the Operation Switch for Program Control 5 to ADD. • Set the Clear-Correct switch to C. • Turn on and clear the Eniac. • Normally, when the Eniac is first started, a clearing process is begun. If the Eniac had been previously started, or if there are random neons illuminated in the accumulators, the “Initial Clear” button of the Initiating device can be pressed. • Press the “Initiating Pulse Switch” that is located on the Initiating device. • Stand back.

  24. Admiral Grace Hopper (1906-1992) • Mathematics PhD Yale, 1934 • Entered Navy, 1943 • First to program Mark I (first “large” computer, 51 feet long) • Wrote first compiler (1952) – program for programming computers • Co-designer of COBOL (most widely used programming language until a few years ago) • “Nobody believed that I had a running compiler and nobody would touch it. They told me computers could only do arithmetic.”

  25. USS Hopper Guest on David Letterman “Dare and Do”

  26. Nanostick How far does light travel in 1 nanosecond? > (define nanosecond (/ 1 (* 1000 1000 1000))) ;; 1 billionth of a s > (define lightspeed 299792458) ; m / s > (* lightspeed nanosecond) 149896229/500000000 > (exact->inexact (* lightspeed nanosecond)) 0.299792458 = just under 1 foot Lab machines have at least “2 GHz Pentium 4 CPU” GHz = GigaHertz = 1 Billion times per second They must finish a step before light travels 11.5 cm!

  27. Code written by humans Compiler translates from code in a high-level language to machine code Compiler Code machine can run DrScheme uses an interpreter. An interpreter is like a compiler, except it runs quickly and quietly on small bits of code at a time.

  28. John Backus • Chemistry major at UVA (entered 1943) • Flunked out after second semester • Joined IBM as programmer in 1950 • Developed Fortran, first commercially successful programming language and compiler

  29. IBM 704 Fortran manual, 1956

  30. Describing Languages • Fortran language was described using English • Imprecise • Verbose, lots to read • Ad hoc DO 10 I=1.10 Assigns 1.10 to the variable DO10I DO 10 I=1,10 Loops for I = 1 to 10 (Often incorrectly blamed for loss of Mariner-I) • Wanted a more precise way of describing a language

  31. Backus Naur Form symbol ::= replacement We can replace symbol with replacement nonterminal– symbol that appears on left side of rule terminals – symbol that never appears on the left side of a rule A ::= B means anywhere you have an A, you can replace it with a B.

  32. BNF Example Sentence ::= NP Verb NP ::= Noun Noun ::= Dave Noun ::= Scheme Verb ::= rocks Verb ::= sucks What are the terminals? Dave, Scheme, rocks, sucks How many different things can we express with this language? 4, but only 2 are true.

  33. BNF Example Sentence ::= NP Verb NP ::= Noun NP ::= Noun and NP Noun ::= Dave Noun ::= Scheme Verb ::= rocks Verb ::= sucks How many different things can we express with this language? Infinitely many! Recursion is powerful.

  34. Most Essential Scheme Expr::= PrimitiveExpr PrimitiveExpr::= Number PrimitiveExpr::= + | * | <= | ... Expr::= Name Expr::= ApplicationExpr ApplicationExpr::= (ExprMoreExprs) MoreExprs::= MoreExprs::= ExprMoreExprs This is enough for everything you need for PS1

  35. Charge • Problem Set 1: due Wednesday • Read through Chapter 3 by Monday • Help Hours: posted on website Sunday in Olsson 001 (6-8:30pm) Monday in Thorton Stacks (noon-1:30pm); Small Hall (4-6:30pm) Tuesday in Small Hall (2-3pm; 3:30-5pm; 7-8:30pm)

More Related