Re: bison

From: Jan D. (Jan.Djarv_at_mbox200.swipnet.se)
Date: 2001-11-12 23:05:28

Jan D. wrote:

> Göran Uddeborg wrote:
> 
>> Jan D. writes:
>>
>>>> #: src/derives.c:43
>>>> msgid "DERIVES"
>>>> msgstr "GENERERAR"
>>>>
>>> Eftersom jag inte har koden här vet jag inte om detta är rätt.  Men 
>>> det skulle
>>> kunna vara en utskrift i en parsningsföljd.  I såfall ska det vara 
>>> "HÄRLEDER".
>>>
>>
>> Så här förklaras det:
>>
>> /* set_derives finds, for each variable (nonterminal), which rules can
>>    derive it.  It sets up the value of derives so that derives[i -
>>    ntokens] points to a vector of rule numbers, terminated with -1.
>>
>> Jag hade för mig att det hette att en grammatik/icketerminal
>> "genererar" ett visst språk.  Men mitt minne kanske är kanske inte att
>> lita på.  Jag ändrar.
>>
> 
> 
> Nu när du säger det så har du nog rätt.  Jag tror "härleder" hör samman 
> med att parsern går "bakåt", från "token" till regler.  Genererar är mer 
> framåtsträvande.  Fast varfär heter det då "derives".  man säger väl 
> "generates a language" i engelskan också (i allafall i en av mina böcker)?
> 


Nu har jag läst lite i gamla böcker.  Genererar säger man om strängar 
med terminaler.  D.v.s. en grammatik G genererar ett antal strängar där 
varje sträng består av terminaler i språket.

Om det finns en sekvens w(0) -> w(1)-> w(2) -> ...w(n) där w(0), w(1) 
o.s.v. är antigen en terminal eller en regel i språket, säger man att 
sekvensen är en härledning av w(n) från w(0) i grammatiken G.

	Jan D.

Arkiv genererat av hypermail 2.1.1.