DM091 - 3. semesterUgeplan for Softwarearkitektur og Distribuerede ProgrammerTema: Sproglære - Gå til uge: 47, 48, 49 |
Sidst ændret: 2010.12.10
Uge 47 | |||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Mandag | 08:30 - 11:50 | Grafer fortsat Oplæg til datastruktur / objektmodel for ruteplanen i den stillede opgave. - modellen skal kunne indeholde informationer fra ruteplanen, men i denne del sættes den konkrete plan direkte ind i strukturen uden indlæsning og tolkning fra tekstfilen. |
EBNF_Ruteplan_Datamodel_for_Regionskoereplan.ppt |
- 14:00 | Opgaveløsning uden lærerstøtte | ||
Tirsdag | 08:30 - 10:00 | Grafer fortsat | |
Torsdag | 08:30 - 11:50 | Introduktion til sproglære - Grammatikker og sprog - Compiler - regulære udtryk - BNF + EBNF
|
Noter/litteratur se tidligere
udleverede kopier (Hvordan virker en Compiler, Compiler design
og Note om EBNF grammatik) De første 2 vil være primære for
mandagen - den sidste inddrages undervejs i forløbet.
Compilering_af_symbolsk_maskinsprog med brug af
Symboltabel Om Context frie grammatikker (wikipedia) - se specielt på
eksemplerne:
EBNF eksempler Leksikalsk analyse ( scanner til tokens ): Om programmeringssprog, parsertree og tokenization
(wikipedia): For dem der gerne vil lidt dybere i emnet |
Opgave med EBNF - EBNFOpgave01 | |||
- 14:00 | Fortsættelse af formiddagens emner / opgave |
Afleveringsopgaver
(obligatoriske) denne uge: Ruteplansopgave - frem til delopgave 4
Oplæg til bredere obligatorisk opgave i sproglære og grafer
- opgaven vil blive opdelt i delopgaver over de næste uger,
så der til sidst gerne skulle kunne ses en samlet løsning. |
Uge 48 | |||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Mandag | 08:30 - 11:50 | Sproglære fortsat Scanner / Leksikalsk analyse - vi skal "bygge" første del af inputbehandlingen
|
Note om EBNF grammatik og syntakstyret indlæsning (se tidligere udleverede kopier) Scanner / Leksikalsk analyse: EBNF_Syntaksstyret_Medlemsliste_bjbu (vælg LexAnalyse_.... solution - 2 forskellige løsninger på LexAnalyzer - Simpel og med State Pattern) |
Delopgave 5) og 6) færdiggøres til tirsdag morgen | Se Token klassen i TokenLibrary (se ovenfor) | ||
- 14:00 | Opgaveløsning uden lærerstøtte | ||
Tirsdag | 08:30 - 10:00 | Scanner / Leksikalsk analyse
fortsat
|
Om state pattern:
http://en.wikipedia.org/wiki/State_pattern
|
Torsdag | 08:30 - 11:50 | Afrunding om scanner / leksikalsk
analyse
Introduktion til parseren
|
vedr. værktøj se tirsdag Bottom-up parsing: |
-
for dem der var færdige med scanneren blev gennemgået en
regelstyret parser
|
|||
- 14:00 | Parser fortsat samt opgaveløsning / opsamling på scanner / leksikalsk analyse |
Afleveringsopgaver
(obligatoriske) denne uge: Ruteplansopgave - frem til delopgave
7a
Oplæg til bredere obligatorisk opgave i sproglære og grafer
- opgaven vil blive opdelt i delopgaver over de næste uger, så der
til sidst gerne skulle kunne ses en samlet løsning. |
Uge 49 | |||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Mandag | 08:30 - 11:50 | Sproglære / parser | Parser:
EBNF_Syntaksstyret_Medlemsliste_bjbu (vælg Parser solution -
2 forskellige løsninger på Parser)
Evt. supplement hvis nogen føler særlig trang. Løsning
med tabel-styret parser tættere på beskrivelser i KBH note) |
- 14:00 | Opgaveløsning uden lærerstøtte | ||
Tirsdag | 08:30 - 10:00 | Sproglære / parser |
Lekikalsk analyse og parsing med brug af værktøj (LALR(1) -
Flex+Bisson) Video om brug af Lex/Flex værktæj (C# udgave tilpasset brug med Visual Studio) |
Torsdag | 08:30 - 11:50 | Sproglære / parser | Medlemsliste med brug af "Flex" - "Bisson" lignende værktøj til C# for Leksikalsk analyse og parsing - Se hvor nemt det bliver når man "bare" kan beskrive grammatikken med regulære udtryk til leksikalske analysator og BNF til parseren |
- 14:00 | Sproglære / parser
(fortsat) |
Afleveringsopgaver
(obligatoriske) denne uge: Ruteplansopgave - frem til delopgave
8b
Oplæg til bredere obligatorisk opgave i sproglære og grafer
- opgaven vil blive opdelt i delopgaver over de næste uger, så der
til sidst gerne skulle kunne ses en samlet løsning. delopgave 8b) Der skal laves en Parser analysator med brug af Lex/Flex værktøjet - du tilretter medlemsliste syntaksen til ruteplanssyntaksen delopgave 9) Delene du tidligere har programmeret skal nu sammenkobles, så der kommer en samlet løsning på ruteplansopgaven - scanner+parser til ruteplan-model og fra ruteplan-model til graf med løsning af graf-opgaver. |