[BC3] Wat is parsen precies?

Pagina: 1
Acties:
  • 1.775 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Ik hoor het veel en kan me er iets bij voorstellen wat het is, maar wat is het nu echt?

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-06 16:03

dusty

Celebrate Life!

In principe : Ontleden.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
ehhm... nu snap ik het nog steeds niet helemaal.

Mischien iets meer in de trant van:

wat ontleden enzo?

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


Acties:
  • 0 Henk 'm!

  • EyE
  • Registratie: Mei 2000
  • Laatst online: 16:08

EyE

een text-input lezen (meestal een file)
en dat omzet naar een syntax-boom
dan is gestructureerd opgeslagen (in geheugen) wat het programma moet doen.

Acties:
  • 0 Henk 'm!

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Ah kijk nu komen we ergens...

Maar wat is die syntaxboom?

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


Acties:
  • 0 Henk 'm!

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Oke tot hier snap ik het nog wel, maar hoe zit dat dan met parsen in bijv. XML of PHP?

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op maandag 07 mei 2001 11:04 schreef dusty het volgende:
In principe : Ontleden.
edit:

Bijvoorbeeld bij compilen:

parsen is ontleden van (bijv.) tekst in een voor een ander deel van de "compiler" begrijpelijk is.
De rest van de compiler kijkt dan of het correcte "statements" (functieaanroepen, parameter gebruik etc) zijn en maakt er een zwikje voor de/een "virtual machine" uitvoerbare code van...
Die code is dan trouwens bytecode.
Zo zit het geloof ik :)
(Btw voor de wijsneuzen: dat is niet alleen voor java zo, kijk maar wat er overblijvt van een c++ programma en de (linux/win32/whatever)kernel maakt in principe een VM voor de programmatuur)

Acties:
  • 0 Henk 'm!

  • GarBaGe
  • Registratie: December 1999
  • Laatst online: 21:23
Parsen is het abstraheren van gegevens. Meestal uit een string.
Voorbeeld string: "output=output.dat"
Dat zou dan een regel uit een of ander config bestandje kunnen zijn, welke dan specificeert dat het hoofdprogramma de naam "output.dat" moet gebruiken om de uitvoer te bewaren.
Deze regel moet je dus "parsen" om te "begrijpen"....

Het is er nu nog vast niet duidelijker op geworden.... :)

Ryzen9 5900X; 16GB DDR4-3200 ; RTX-4080S ; 7TB SSD


Acties:
  • 0 Henk 'm!

  • EyE
  • Registratie: Mei 2000
  • Laatst online: 16:08

EyE

Op maandag 07 mei 2001 11:10 schreef 4of9 het volgende:
Maar wat is die syntaxboom?
Ehm, beetje moeilijk te typen
Kijk in deze pdf-slides
pagina 13 t/m 15 legt uit hoe een programmacode gecompiled wordt
* eerst scannen p.13 rechts
* dan parsen naar syntax-tree p.14 links
* dan semantische analyse (typechecking etc) p.14 rechts
* dan omzetten naar stackcode/assembly p.15 links

Acties:
  • 0 Henk 'm!

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

stel je hebt een config bestand voor je programma met de volgende regel:
maxConnections = 10;
nu wil je dat je programma dit bestand leest en de instellingen overneemt..

Nu laat je het programma de String(de regel) inlezen, en laat je opslitsen, het eerste deel wordt dan maxConnections, het programma leest dat in en merkt: o functie maxConnections, dan moet het 3e deel een getal zijn. en leest dat in.

En dit noem je parsen. je zet (nutteloze) text om in voor het programma gebruikelijke data. En dat is over het algemeen geen leuk werk, omdat het a: simpel is en b: tijdrovend is

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23-06 11:51

Janoz

Moderator Devschuur®

!litemod

Parsen wordt niet alleen bij het compileren of interpreteren van code, maar ook om bevoorbeeld config files in te lezen of een protocol uit te lezen.

Parsen is eigenlijk het opslaan van data in een door het programma gebruikte datatype.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • Exirion
  • Registratie: Februari 2000
  • Laatst online: 23:30

Exirion

Gadgetfetisjist

Modern Compiler Design - Dick Grune et al
Parsing Techniques, A Practical Guide - Dick Grune et al

Hele goeie boeken die allerlei soorten parsing met verscillende algoritmen bespreken :)

"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein


Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 23-06 11:51

Janoz

Moderator Devschuur®

!litemod

Op maandag 07 mei 2001 11:30 schreef 4of9 het volgende:
Oke tot hier snap ik het nog wel, maar hoe zit dat dan met parsen in bijv. XML of PHP?
Parsen in XML?
XML moet zelf geparsed worden voordat je er iets mee kunt doen (tenzij je het gewoon op het scherm dumpt)

Een parser kun je in elke taal schrijven, dus ook in PHP (terugverwijzing naar ander topic: Parsen is het makkelijkst met een functionele taal :) )

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Dus XML word geparsed. Hij parsed dus je gedefineerde tags van uit dat filetje waarin je je tags vastlegd?

Mischien heeft iemand een nuttige link waarin dit soort dingen staan?

iig bedankt voor alle uitleg tot nu toe, snap het al wat beter!

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


Acties:
  • 0 Henk 'm!

  • Exirion
  • Registratie: Februari 2000
  • Laatst online: 23:30

Exirion

Gadgetfetisjist

Op maandag 07 mei 2001 11:26 schreef Exirion het volgende:
Parsing Techniques, A Practical Guide - Dick Grune et al
Deze is al een tijd uitverkocht, maar is ook gratis te downloaden als PDF/PS file. Het gaat vrij diep op de materie in, maar je kunt ook gewoon wat inleiding lezen.

"Logica brengt je van A naar B, verbeelding brengt je overal." - Albert Einstein


Acties:
  • 0 Henk 'm!

Anoniem: 2935

parse (pîrs)
v. parsed, pars·ing, pars·es
v. tr.


1. To break (a sentence) down into its component parts of speech with an explanation of the form, function, and syntactical relationship of each part.
2. To describe (a word) by stating its part of speech, form, and syntactical relationships in a sentence.
3.
a. To examine closely or subject to detailed analysis, especially by breaking up into components: What are we missing by parsing the behavior of chimpanzees into the conventional categories recognized largely from our own behavior? (Stephen Jay Gould).
b. To make sense of; comprehend: I simply couldn''t parse what you just said.

4. Computer Science. To analyze or separate (input, for example) into more easily processed components.

Bron: dictionary.com

Waarbij je bij programmeertalen vooral aan de combi van 1. en 4. moet denken...

Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-06 16:03

dusty

Celebrate Life!

Op maandag 07 mei 2001 13:13 schreef Blues het volgende:
Waarbij je bij programmeertalen vooral aan de combi van 1. en 4. moet denken...
Dat zeg ik Ontleden :+

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Waarbij je bij programmeertalen vooral aan de combi van 1. en 4. moet denken...
en bij wazige code aan 3b. :)

Today's subliminal thought is:


Acties:
  • 0 Henk 'm!

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Op maandag 07 mei 2001 13:42 schreef Annie het volgende:

[..]

en bij wazige code aan 3b. :)
wat heeft 3b met mijn code te maken:?
;)
Pagina: 1