Article View: be.comp.programming
Article #1266Yacc: tokens met verplicht dezelfde inhoud
From: Jo Vermeulen
Date: Mon, 13 Jun 2005 11:26
Date: Mon, 13 Jun 2005 11:26
41 lines
2563 bytes
2563 bytes
Hallo,
Ik vroeg me af of het mogelijk is in een Yacc grammar (te parsen met
Bison) af te dwingen dat twee tokens de zelfde inhoud hebben?
Het probleem is te vergelijken met het testen of een tag afgesloten
wordt in XML/HTML. Bv.
<author>
<name>John Doe</name>
...
</author>
Hier moeten we zeker zijn dat de token's tussen <> en </> een identieke
waarde hebben. Er mag dus niet <auteur></author> staan.
Je kan bv. specifieren dat een "tag" bestaat uit:
(LEQ = '<', GEQ = '>', SLASH = '/', NAME = een geldige tagnaam)
tag : LEQ NAME GEQ content LEQ SLASH NAME GEQ { $$ = new Tag($2, $3); }
;
Waarbij je content later nog definieert (bestaat in feite ook uit ��n of
meerdere tags).
Nu voldoet echter <auteur>...</author> aan die grammar, terwijl dat niet
zou mogen!
Ik wil nog even herhalen dat mijn probleem niet specifiek over
XML/HTML-achtige talen gaat, maar over Featherweight Java. Hierbij moet
de constructor toekenningen precies in de vorm van this.var = var
bevatten. Een toekenning als this.var = varretje is hierbij ongeldig, en
zulke fout zou ik graag door de parser laten oplossen.
Alvast bedankt!
mvg,
--
Jo Vermeulen <jo@lumumba.luc.ac.be>
Technical Details
Message-ID:
<P6ydnTSX_PT68DDfRVnysQ@scarlet.biz>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local01.nntp.dca.giganews.com!nntp.scarlet.biz!news.scarlet.biz.POSTED!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Thread: fcea4,a1b5e636917a7906,start X-Google-Thread: 107324,a1b5e636917a7906,start X-Google-Attributes: gidfcea4,gid107324,public X-Google-Language: DUTCH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!border1.nntp.dca.giganews.com!nntp.giganews.com!local01.nntp.dca.giganews.com!nntp.scarlet.biz!news.scarlet.biz.POSTED!not-for-mail NNTP-Posting-Date: Mon, 13 Jun 2005 06:26:31 -0500 Date: Mon, 13 Jun 2005 13:26:30 +0200 From: Jo Vermeulen <jo@lumumba.luc.ac.be> User-Agent: Mozilla Thunderbird 1.0 (Macintosh/20041206) X-Accept-Language: nl-NL, nl, en MIME-Version: 1.0 Newsgroups: be.comp.programming,nl.comp.programmeren Subject: Yacc: tokens met verplicht dezelfde inhoud Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 8bit Message-ID: <P6ydnTSX_PT68DDfRVnysQ@scarlet.biz> Lines: 41 NNTP-Posting-Host: 81.11.196.166 X-Trace: sv3-JkLRlv94YN5eTCnvl/DRrT0V0t7I/v1QoVS7kwxRdbL0bUOpme1K90Io+xLliPkNpJl+hWaSrVXpE4N!qBQKDbbNkSJIzQOpKSqD+qHvgmvMLOBNxvZvanJfMijCrHK8yeHN+i+zEPVeDGdfhJOlyMvrfJA= X-Complaints-To: abuse@scarlet.be X-DMCA-Complaints-To: abuse@scarlet.biz X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.32