You are on page 1of 4

LinguaggidiProgrammazioneeCompilatori

1)SiconsiderilaseguentegrammaticacontextfreeG={N,T,S,P}con:
N={S,B}
T={op,bit}
S=S
P={
SopB
Bbit
}
doveopuntokenconlessemiin{+,}ebituntokenconlessemiin{0,1}.
ScrivereunprogrammaYACCpergenerareuntraduttoreI/Ochestampainoutputilbitinputoil
suonegatoasecondacheilvaloredi op sia+o,rispettivamente. Usareobbligatoriamente
LEXperlacostruzionedell'analizzatorelessicale.
Alcuniesempi:

perlinput+0
perlinput1

deveesserestampato0
deveesserestampato0

2)Scriverelalgoritmodiparsingprogramperlatecnicadiparsingpredittivononricorsivo

3)Fornirelaproduzioneelazionesemanticaperiltypecheckingdeicostruttiifthenesequenza
distatements

LinguaggidiProgrammazioneeCompilatori

1)DatoillinguaggioregolareL={xyn/n0}sull'alfabetoA={x,y},costruireildiagramma
statitransizionecorrispondenteapplicandol'algoritmodiThompson

2)Dareleseguentidefinizioni:
GrammaticaLALR
Typecheckingstaticoedinamico

3)Scrivereilcodicea3indirizziperlastringasorgente:
(ab)+c
Siconsiderinobecreal,eainteger

LinguaggidiProgrammazioneeCompilatori

(1) Scrivereil(pseudo)codiceperlascansionedelpuntatore forward nellatecnicadi buffering


dellinputconsentinelle.

(2)Rispondereaiseguentiquesiti:
2.1)elencareleproprietdegliautomicostruitidallalgoritmodiThompson
2.2)dareladefinizionedigrammaticaSLR
2.3)dareladefinizionedischemaditraslazione

(3)Scriverelalgoritmoperlacostruzionedelgrafodelledipendenze

LinguaggidiProgrammazioneeCompilatori

1)ScrivereunprogrammaLEXcontenentelacoppiapatternactiondove:
pattern unespressione regolare che fa match con numeri appartenenti allinsieme
{0,1,+1,2,+2,3,+3,}eracchiusitraparentesitonde
actionunazionecherestituisceinoutputlaprimacifradelnumero

Esempi:

perillessemainput(+243)

deveesserestampato2

perillessemainput(41)

deveesserestampato4

perillessemainput(+78406) deveesserestampato7
perillessemainput(0)

deveesserestampato0

2)CostruireilgotografoSLRperlaseguentegrammaticacontextfree:
SABb
AAc
Aa
Bc

3)ScriverelalgoritmoperilcalcolodellafunzioneFollow

You might also like