🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: be.comp.programming
Article #1266

Yacc: tokens met verplicht dezelfde inhoud

#1266
From: Jo Vermeulen
Date: Mon, 13 Jun 2005 11:26
41 lines
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-mail

Show 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