De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Grammatica’s en Ontleden

Verwante presentaties


Presentatie over: "Grammatica’s en Ontleden"— Transcript van de presentatie:

1 Grammatica’s en Ontleden

2 Waar gaat het eigenlijk over?
Grammatica’s Ontleden Taal Bedenk een éénregelige definitie van taal, ontleden en grammatica Uitdaging:

3 Taal Een taal is… de verzameling van alle zinnen die “goed” zijn
Omdat je ouders/ leraren dat zeiden Omdat de Académie Française dat vindt Omdat de compiler het pikt Omdat we dat zo hebben afgesproken

4 Ontleden Ontleden is… het herkennen van de structuur van een zin
…Accolades… …puntkomma’s… …Expressies… …Onderwerp… …werkwoord… …Lijdend voorwerp… Correct Java! Ontleden is… het herkennen van de structuur van een zin …en daarmee aantonen dat hij tot een taal behoort Correct Nederlands!

5 Grammatica Regels die voorschrijven hoe het ontleden moet gebeuren

6 Zin Hoe mag een kandidaat-zin er uit zien? Rij symbolen!
Wat is dat? Hoe mag een kandidaat-zin er uit zien? “class Hello extends Applet {public void paint (Graphics gr)…” “Dit lijkt me een goed voorbeeld.” “ATTCGACCGTTA” “ ” “Isditeenzin?”

7 (in de Haskell-notatie)
Sequence (Rij) Definitie van Sequence over X met X een willekeurig type: [ ] is een sequence over X Als x een element van X is, en xs een sequence over X is, dan is x:xs ook een sequence over X [X] (in de Haskell-notatie)

8 (in de wiskunde-notatie)
Sequence (Rij) Inductieve definitie Definitie van Sequence over X met X een willekeurige verzameling: e is een sequence over X Als a een element van X is, en w een sequence over X is, dan is a w ook een sequence over X Niets anders is een sequence over X X* (in de wiskunde-notatie)

9 Taal Een Alfabet is… een eindige verzameling symbolen
Een Taal is… een deelverzameling van T* bij een bepaald alfabet T Een Zin is… een element van een taal Een Zin van een taal is… een element van die taal

10 Hoe definieer je een taal?
Alle elementen opsommen Inductieve definitie geven Een voorwaarde geven waaraan zinnen moeten voldoen { dit , is , alles } { a , b , c } * predicaat even getallen { n  {0..9}* | n%2=0 } palindromen { s  {a,b,c}* | s = sR }

11 Ontleden Bij een “opsom”-definitie van de taal: gewoon zoeken
Bij een “inductieve” definitie van de taal: inductieve opbouw uitpluizen Bij een “predicatieve” definitie van de taal: predicaat controleren

12 Genereren Bij een “opsom”-definitie van de taal: ‘t zijn ze al…
Bij een “inductieve” definitie van de taal: inductieve opbouw volgen Bij een “predicatieve” definitie van de taal: onmogelijk! (tenzij je alles probeert)

13 Liever inductief dan predicatief
Zijn deze definities equivalent? Palindromen predicatief Palindromen inductief { s  {a,b,c}* | s = sR } sound complete e is een palindroom a, b, en c zijn palindromen Als P en palindroom is dan zijn aPa , bPb en cPc het ook Niets anders is een palindroom

14 Inductieve definitie bevat herschrijfregels
P  e P  a P  b P  c P  aPa P  bPb P  cPc Genereren van zinnen: Begin met een P Pas naar believen de herschrijfregels toe Werk al het rood weg

15 Grammatica Een grammatica bestaat uit: Het alfabet Hulpsymbolen
Productieregels Een startsymbool

16 Grammatica Een grammatica bestaat uit (T, N, R, S) Het alfabet T
Hulpsymbolen N Productieregels R Een startsymbool S

17 Grammatica Een grammatica bestaat uit (T, N, R, S)
Het alfabet T eindig Hulpsymbolen N eindig TN=Ø Productieregels R eindig Een startsymbool S één S  N Met als elementen: A  w waarbij A  N w  (NT)*

18 Vorm van de herschrijfregels
A  w Contextvrije grammatica waarbij A  N w  (NT)* Contextgevoelige grammatica A  w waarbij A  (NT)* w  (NT)* (Rechts) reguliere grammatica A  w waarbij A  N w  T* N  T*

19 Afkorting-notatie Lang Kort P  e | a | b | c | aPa | bPb | cPc P  e
P  aPa P  bPb P  cPc

20 “Echt” Voorbeeld Contextvrije grammatica voor Java
Stat  Var = Expr | if (Expr) Stat else Stat | while (Expr) Stat Expr  Const | Var | Expr Op Expr Op  + | -


Download ppt "Grammatica’s en Ontleden"

Verwante presentaties


Ads door Google