Tentamen vraag 1 nElke reguliere zin is ook contextvrij nElke reguliere taal is ook contextvrij nElke contextvrije grammatica is ook regulier nonsens “regulier”

Slides:



Advertisements
Verwante presentaties
1 Tentamen 21 januari 2008 uitleg Algemene kennisvragen a)“Wat verstaan we onder de complexiteit van een algoritme?” –Cruciaal: wat gebeurt er met.
Advertisements

Grammatica’s en Ontleden
Grammaticale modellen
Functies op Proposities evalueer:: Bedeling  Prop  Bool tautologie:: Prop  Bool contradictie:: Prop  Bool equivalentie:: Prop  Prop  Bool vervulbaar::
Inleidend probleem Data structuur (hiërarchie van classes)
AI91  Het Probleem  Grammatica’s  Transitie netwerken Leeswijzer: Hoofdstuk AI Kaleidoscoop College 9: Natuurlijke taal.
Numerieke Natuurkunde
Flow controle Keuzes maken. Het if-statement Soms moet code alleen in bepaalde situaties uit gevoerd worden Hiervoor heeft C de if-else constructie: if(voorwaarde1){
MICPRG Les 11 Microcontroller Programmeren in C. 112 Datastructuren in C Werkgeheugen (PC en microcontroller): Statische datastructuren (vaste grootte):
Reguliere talen nReguliere grammatica: versimpelde Contextvrije grammatica nFinite-state Automaton: andere manier om een taal te beschrijven nReguliere.
Algoritmiek Object-georiënteerd Programmeren
Taaltheorie en Taalverwerking Week 5: – Natuurlijke Taal Syntax. (Uitbreiding op CFG: Features.) – Human Parsing: Center-Embedding.
Taal nEen Alfabet is… een eindige verzameling symbolen nEen Taal is… een deelverzameling van T* bij een bepaald alfabet T nEen Zin is… een element van.
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 2 definitie.
Reguliere talen nReguliere grammatica: versimpelde Contextvrije grammatica nFinite-state Automaton: andere manier om een taal te beschrijven nReguliere.
Overloading My name is overloading, cause we are many.
Tircms03-p les 7 Standaardfuncties. In header opnemen bijv: using namespace std // C++ // oude C.
Samenvatting hst. 3 sec. 1-3 ( ) :: Parser a b  Parser a b  Parser a b ( ) :: Parser a (b  c)  Parser a b  Parser a c ( ) :: (b  c)  Parser a b.
Tircms03-p les 2 Hfdst 3,4 Meer operatoren Functies.
Tentamen vraag 1 Als L en M talen zijn, dan nL  M is gelijk aan { s  t | s  L, t  M } nL M is gelijk aan { s t | s  L, t  M } nL n is gelijk aan.
Parsing 1. Situering Contextvrije grammatica’s Predictive (of recursive-descent) parsing LR-parsing Parser generator: Yacc Error recovery 2.
Tircms02-p les 3 Functies Strings Structuren. Functies 1. main() 2. { int k; k = 10 ; printf(“%d\n”,fac(k)); } 3. int fac(n) int n; 4. { int f; f= 1;
Computertechniek Hogeschool van Utrecht / Institute for Computer, Communication and Media Technology 1 C programmeren voor niet-C programmeurs les 3 redirection,
Les 1: Zaterdag 10 mei 2014 Wim Peeters
Definitie LL(1) Een grammatica is LL(1) nAls je op grond van het eerstvolgende input-symbool kunt kiezen uit alternatieven Formeel: nAls de lookahead-sets.
In een reguliere taal… zin yxz S E A B vuwuwxzvuwxzvvuwxzvvvuwxzvvv lengte  n.
Instructie Programmeren Task 7
Definitie Taal van een grammatica nZij grammatica G = ( T, N, R, S ) nde taal van G is { z  T* | S  * z } L(G)
1 PI1 week 9 Complexiteit Sorteren Zoeken. 2 Complexiteit van algoritmen Hoeveel werk kost het uitvoeren van een algoritme (efficiëntie)? –tel het aantal.
Studiehouding Ergens verstand van krijgen kost tijd… Uren die je alleen in je boeken doorbrengt maken het verschil. Er is niets mis met onafhankelijkheid.
Programma opdrachten methoden klasse variabelen en Geheugen objecten klasse zijn gegroepeerd in hebben als type veranderen bewerken.
Opbouw van het Netwerk void Lees (string filenaam ) { while ( (regel=sr.ReadLine()) != null ) { string [] r = regel.Split(" ", StringSplitOptions.RemoveEmpty.
Bestanden Lezen Schrijven Afbeeldingen. Bestandstypen.txt.png eigen.
Trillingen en Cirkelbewegingen
4/10/2017 Opleiding BINNENISOLATIE voor thermische renovatie Module 3 Train the trainer – 06/12/ Brugge.
Isaac Newton Omdat een beetje extra bijscholing nooit kwaad kan 
Wageningen University Meteorologie en Luchtkwaliteit
Materialen en moleculen
Hoe deel je gesteenten in? Codering; Streckeisen
Havo 5: Stoffen en Materialen
Veevoeding Blok 3 en 4: Ruwvoerbalans melkveehouderij
Dynamica van luchtstromen
Natuurkunde Overal Hoofdstuk 1: Beweging in beeld.
Bomen en struiken IVN Helden.
STUUR DIT AAN EEN SLIMME VROUW... EN AAN ALLE MANNEN... DIE ER TEGEN KUNNEN !!! Na 5000 jaar moppen over vrouwen... uiteindelijk moppen over mannen.
Roundtable De Gefragmenteerde Organisatie
Welkom.
Mictieklachten bij mannen
BASISVEILIGHEID (VCA)
Hoofdstuk 6 Warmte.
Outdoor Advanced - Specialist Tuin en Openbaar Groen 3.1,
Jorismavo Examenvoorlichting
Hoofdstuk 3 In beweging.
Hoofdstuk 9.2 Strings.
Gameprogrammeren: Char en String
Wat gaan we doen? Theorie (14 colleges + 3 deeltentamens)
Tinpro015b-les 1 C++ voor C-kenners Voor Technische Informatica.
Tinpro015b-les5 Invoer en Uitvoer.
Gameprogrammeren: Herhalingen
Voorbeeld: Simulatie van bewegende deeltjes
Israëlzondag Thema: Dansen in de kerk Zondag 8 oktober 2017 Liturgie ♫
Wat gaan we doen? Theorie (14 colleges + 3 deeltentamens)
Voortborduren op eerder gedaan werk
Opdrachten herhalen public void tekenScherm (object o, PEA pea)
LG-5 LG-6 LG-7 LG-8 LG-1 LG-2 LG-3 LG-4 LG-9 LG-10 LG-11 LG-12 LG-13
Jan Depauw Onderzoeker/Lector KdG
Implementatie Zoekboom
Speciale groep bij familie: KOPP / KOV
Nieuwigheden vanaf schooljaar
Gameprogrammeren: Arrays
Transcript van de presentatie:

Tentamen vraag 1 nElke reguliere zin is ook contextvrij nElke reguliere taal is ook contextvrij nElke contextvrije grammatica is ook regulier nonsens “regulier” en “contextvrij” zegt men niet van “zin” waar onwaar Een reguliere grammatica moet aan strengere regels voldoen

Tentamen vraag 2 Een links-recursieve grammatica is vaak een probleem, want nZo’n grammatica is altijd ambigu nZo’n grammatica termineert niet nHet is lastig om een parser voor de taal ervan te schrijven nonsens Een grammatica is geen programma, dus “termineren” is geen issue Waar de standaard-aanpak levert een niet-terminerende parser, dus je moet de grammatica eerst transformeren onwaar S ->Sa | a is linksrecursief, maar niet ambigu

Tentamen vraag 3 Zij G een CF-grammatica (T, N, R, S) W is een zin van L(G) als er een string u is met nS  uen u  w nS  w  Ren u  w nS  u en u  * w waar dit is zowat de definitie van L(G) onwaar, i.h.a. het herschrijven mag meer dan één stap kosten nonsens dit is een herschrijfregel, niet iets dat waar kan zijn

Tentamen vraag 4 Als G 1 en G 2 CF-grammatica’s zijn, dan is nL(G 1 )  L(G 2 ) altijd CF n G 1  G 2 soms CF nL(G 1 )  L(G 2 ) nooit CF waar eenvoudige constructie: R = R 1  R 2  {S  S 1, S  S 2 } onwaar de doorsnede is niet altijd CF, maar soms wel: bijv. als G 1 =G 2 nonsens een grammatica is een 4tupel, niet een verzameling

G = ( {a,b}, {S,T,X,Y,Z},{ }, S } Tentamen vraag 6a S  a X Y  a Z S  a Y Y  b X S  b Z Y  b Y X  a Y T  a Z X  b T Z  a Z Z  

Tentamen vraag 6b XY a S Z b a XYT b a b a b a YZ

Tentamen vraag 6c R = R 1  R 2  {S  S 1 S 2 } nBeschrijft de taal van concatenaties van zinnen uit resp. G 1 en G 2 L(G) = L(G 1 ) L(G 2 ) nNiet regulier want S  S 1 S 2 voldoet niet aan de regulariteits-eis nR = R 1  R 2 ’ R 2 ’ is R 2 met bij de regels die niet op een terminal eindigen een S2 aan het eind S = S 1

Tentamen vraag 5a nDefinieer stdTypes = [“int”, “long”, “double”, … ] lexStdType :: Parser Char Token lexStdType = (map token stdTypes) choice StdType ®

Tentamen vraag 5b nDefinieer type Klasse = (String, [Elem]) data Elem = D Decl | M Meth | S Stat … Meth = … … Decl = … … Type = … … Stat = … (Type, String, [Decl], Stat) (Type, String) data type

Tentamen vraag 5b vervolg data Type = Void | Prim String | Obj String | Gen Type Type | Array Type data Stat = Exec Expr | If Expr Stat Stat | While Expr Stat | Return Expr | Try Stat [(Decl,Stat)] | Block [Elem]

Tentamen vraag 5c (Decl) pDecl :: Parser Token Decl pDecl = pType  pLowerId (\x y  (x,y)) ® pDeclPK = (\x _  x) ® pDecl  symbol Puntkomma

Tentamen vraag 5c (Klasse) pKlasse :: Parser Token Klasse pKlasse = symbol KeyClass (\_ x y  (x,y)) ®  pUpperId  braced (many ( ) ) pDeclPK  pMeth D ® M ® braced p = pack (symbol AcOpen) p (symbol AcSluit)

Tentamen vraag 5c (Meth) pMeth :: Parser Token Meth pMeth = ( pType  pVoid ) (\x y z u  (x,y,z,u)) ®  pLowerId  parenth (option (listOf pDecl symbol Komma) [ ] ) pVoid = const Void ® symbol KeyVoid  pBlock

Tentamen vraag 5c (Stat) pStat :: Parser Token Stat pStat = If ® symbol KeyIf  …  …  While ® symbol KeyWhile  …  …