Länkar

Historia

Stephen Wolframs informativa bloggpost om Ada Lovelace Links to an external site..
Gabriel Lebec's guide till Lambda CalculusDel 1 Links to an external site. Del 2 Links to an external site.

A Brief, Incomplete, and Mostly Wrong History of Programming Languages Links to an external site.

Hantverket programmering

Wat Links to an external site. - programmeringsspråk i detalj.

How to write unmaintainable code Links to an external site.. Ibland är det bästa sättet att lära ut någonting att ironiskt förklara motsatsen.

Syntaxanalys

  • Det finns mycket online-material från andra kurser om formella språk och syntaxanalys att hitta på Internet. De flesta av dessa är dock hela kurser snarare än en liten del av en annan kurs, och därför betydligt mer omfattande. Här är några tips på föreläsningsvideor som man kan titta på.
    • Kursen Automata från Stanford med Professor Jeffrey Ullman. Föreläsningarna finns här: https://www.youtube.com/playlist?list=PLgWps_ygaG8G55SD2JkDkDrZnSzjAaswH Links to an external site.

      De tre första kursavsnitten matchar ganska bra mot syntaxdelen i progp. Mer specifikt, så är de föreläsningar som är mest relevanta för det som ingår i syntaxavsnittet i kursen följande:

      • 1-1-1 lite motivation om varför ämnet är intressant
      • 1-2-2 och 1-3-3 (ändliga automater)
      • 2-1-5 första tredjedelen (att reguljära uttryck och automater är ekvivalenta ingår i kursen, men inte detaljerna om hur man visar det)
      • 2-2-6 (vissa delar av föreläsningen talar om icke-deterministiska automater, NFA, vilket inte ingår i vår kurs)
      • 2-3-7 och 2-4-8 har vi diskuterat men är inte lika viktiga som de andra föreläsningarna
      • 7-1
      • 3-1-9 Kontextfria grammatiker
      • 3-2-10 Parseträd, tvetydighet

      Det viktigaste som inte täcks in av dessa föreläsningar är stackautomater (föreläsningen 3-4-12 pratar om dessa, men ur ett lite annat perspektiv, man kan kolla på denna men den kan nog lätt upplevas som lite för teknisk) och rekursiv medåkning.

    • Kursen  Compilers från Stanford med Professor Alex Aiken.

      Delar som är mest relevanta för syntaxdelen i progp är:

      • 3-01, 3-02, 3-05, 4-01 om lexikal analys
      • 5-01 om parsning

      Denna kurs har även föreläsningar om formella språk (3-04), reguljära uttryck, ändliga automater (4-02, första halvan), och kontextfria grammatiker (5-02, 5-03, 5-04). Dessa föreläsningar är också relevanta och täcker ungefär samma stoff som föreläsningarna från Automata-kursen ovan – man kan utnyttja båda för att få lite olika perspektiv, eller helt enkelt den man tycker är bäst.

  • Wikipedia-sidorna om formella språk, automater, etc, är överlag bra, t.ex.:
  • ANTLR. - ANother Tool for Language Recognition, en syntaxanalysatorgenerator med många målspråk.
  • BNFC, en syntaxanalysatorgenerator som utvecklas på Chalmers.
  • DCG, en Prolognotation för kontextfria grammatiker.

Emacs-tips