Sidst ændret: 2009.12.10
Uge 49 | |||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Mandag | 08:30 - 11:50 | Introduktion til sproglære - Grammatikker og sprog - Compiler - regulære udtryk - BNF + EBNF
|
Noter/litteratur se BlackBoard (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): Om state pattern: For dem der gerne vil lidt dybere i emnet Om hvad er en compiler er og forskellige typer (wikipedia): |
Opgave med EBNF - EBNFOpgave01 | |||
12:30 - 14:30 | (reserveret CDS - standard server projekt) | ||
Tirsdag | 08:30 - 11:50 | Sproglære fortsat Scanner med brug af state-pattern
|
Bottom-up parsing: Recursive descent parser (top-down): Parse tree (resultat fra parser): Eliminering af vestre-recursion i grammatikken (se BlackBoard) Note om EBNF grammatik og syntakstyret indlæsning (se BlackBoard) Scanner / Leksikalsk analyse: EBNF_Syntaksstyret_Medlemsliste_bjbu (vælg Lex solution - 2 forskellige løsninger på LexAnalyzer) |
Opgave: Se afleveringsopgave denne uge | |||
12:30 - 14:30 | (reserveret CDS - standard server projekt) | ||
Onsdag | 08:30 - 11:50 | Sproglære fortsat Opgave: Se afleveringsopgave denne uge |
|
12:30 - 14:30 | (reserveret CDS - standard server projekt) | ||
Torsdag | 08:30 - 11:50 | Sproglære fortsat Opgave: Se afleveringsopgave denne uge |
|
12:30 - 14:30 | Opgaveløsning | ||
Fredag | 08:30 - 11:50 | Præsentation af CDS projekt | |
Afleveringsopgaver
(obligatoriske) denne uge: Leksikalsk analysator, der kan opbygge
liste / kø med tokens for ruteplanen. Disse tokens skal senere bruges i
parseren. Opgave: der skal laves en scanner / leksikalsk analysator, som kan indlæse en ruteplan og aflevere en kø eller liste af tokens ud fra tekstinputtet. Brug et classlibrary til klasserne og lav en consol-application til at afprøve med. Du kan evt. opdele i en indlæsning af filen til en char-kø, liste eller string og så give dette til den leksikalske analysator. |
(*) Core C# and
.NET, Stephen C. Perry - se BlackBoard (**) .Net Application Development with C#..., Hanspeter Mössenböck - se BlackBoard (***) C# To the point -.., Hanspeter Mössenböck - - se BlackBoard |
Uge 50 | |||
Dag | Tidspunkt | Emne | Litteratur / Opgaver |
Mandag | 08:30 - 11:50 | Sproglære fortsat
Parser |
Bottom-up parsing: Recursive descent parser (top-down): Parse tree (resultat fra parser): Scanner / Leksikalsk analyse: EBNF_Syntaksstyret_Medlemsliste_bjbu (vælg Parser solution - 2 forskellige løsninger på Parser) EBNF_Syntaksstyret_Medlemsliste_nokn_bjbu (parser: regelbaseret, state, tabel - svarer til KBH note)
Lekikalsk analyse og parsing med brug af værktøj (LALR(1) -
Flex+Bisson) |
12:30 - 14:30 | Opgaveløsning | ||
Tirsdag | 08:30 - 11:50 | Sproglære fortsat
Parser |
Se mandag Medlemsliste med brug af "Flex" - "Bisson" lignende værktøj til C# for Leksikalsk analyse og parsing - Dette bliver ikke eksamensstof, men se hvor nemt det bliver når man "bare" kan beskrive grammatikken med regulære udtryk til leksikalske analysator og BNF til parseren |
12:30 - 14:30 | Opgaveløsning | ||
Onsdag | 08:30 - 11:50 | Opgaveløsning (ingen lærerstøtte) | |
12:30 - 14:30 | Opgaveløsning | ||
Torsdag | 08:30 - 11:50 | Sproglære fortsat Gennemgang efter behov |
|
12:30 - 14:30 | Opgaveløsning | ||
Fredag | 08:30 - 11:50 | Sproglære afsluttes / repetition af SDP startes - detailplan følger |
EBNF_Syntaksstyret_Medlemsliste_bjbu (2 varianter af parser
(state pattern og regelbaseret) - 2 varianter af scanner /
leksikalsk analysator (state pattern og simpel) Medlemsliste med brug af "Flex" - "Bisson" lignende værktøj til C# for Leksikalsk analyse og parsing - Dette bliver ikke eksamensstof, men se hvor nemt det bliver når man "bare" kan beskrive grammatikken med regulære udtryk til leksikalske analysator og BNF til parseren Ruteplan med brug af "Flex" - "Bisson" lignende værktøj til C# for Leksikalsk analyse og parsing - Dette bliver ikke eksamensstof, men se hvor nemt det bliver når man "bare" kan beskrive grammatikken med regulære udtryk til leksikalske analysator og BNF til parseren |
Afleveringsopgaver
(obligatoriske) denne uge: Parser, der kan opbygge en ruteplanen
model (syntakstræ for ruteplanen) ud fra en liste eller kø af
ruteplans-tokens. Opgave: der skal laves en den sidste del af ruteplans-projektet (parseren), der så sættes sammen med de øvrige dele til en hel løsning |
(*) Core C# and
.NET, Stephen C. Perry - se BlackBoard (**) .Net Application Development with C#..., Hanspeter Mössenböck - se BlackBoard (***) C# To the point -.., Hanspeter Mössenböck - - se BlackBoard |