«« ( Date ) »» // «« ( Thread ) »» // ri4pp - 2004

Re: Domaci konacno...

by Jovan Popovic
petak, 03. decembar 2004 - 10:51.

>
> Ako sam vas dobro razumeo:
> - microjava specifikacija nije kompletna
> - mi treba da je dopunimo ključnim rečima
> - ključna reč je svaka reč koja ima posebno značenje u bilo kom
> kontekstu
>
> Ja se i dalje ne slažem sa vama. int, char, main takođe mogu da
> budu imena identifikatora i po tome se ne razlikuju od "običnih
> imena promenljivih".

Ovo nema veze sa leksickom analizom nego sa sintaksnom i na to ne treba
obracati paznju.

Za ovaj problem postoje dva rešenja:
> - možete da kažete šta sve želite da bude ključna reč osim onih
> navedenih u specifikaciji (gde se ne pominju int, char, main...)
> - možemo mi sami da procenimo šta treba da dodamo. U tom
> slučaju ja mislim da je specifikacija kompletna, i da ako dodam
> nešto na spisak ključnih reči to će mi samo zakomplikovati
> parser i gramatiku.

Vas zadatak je da proanalizirate MJ fajlove i da prepoznate sta bi trebalo
da budu "kljucne" reci. Koliko ce vase analize biti uspesne zavisi od vas
samih.

Kada jednog dana odete sa ovog fakulteta dobijacete probleme tipa : " Evo
je neka stara aplikacija je upisivala podatke u "ovakav" fajl, ajde
napravi program koji cita podatke iz tog fajla" , i nikog ne zanima sto
niste nikada videli taj format ili da je format fajla iz kog citate nije
definisan, ili je programer koji je upisivao podatke u taj fajl je u
Norveskoj i nemate nikakvu specifikaciju tj. jedina specifikacija je " Pa,
fajl izgleda ovako". U praksi zahtevi su uvek nedovoljno definisani i vi
morate da pocnete da razmisljate o njima i da ih dopunjujete.

Ne ocekujte da ce domaci biti u stilu:

Napraviti klasu A u paketu B koji se nalazi u paketu C koja importuje
paket D koji se nalazi u paketu F, koja ima metodu binko koja prihvata
parametre n i m koji su tipa int; i skalpro koja prihvata parametre a[10]
i b[10] koji su nizovi od 10 int--a...

Ovakvi zadaci dolaze ne nekom drugom predmetu, i mislim da ste ih
prosli(ne znam koliko su vam koristili).

Posle domacih zadataka iz prevodilaca vi biste trebali da budete sposobni
da samostalno implementirate kompajlere za bilo koji jezik bez tudje
pomoci.

Na prevodiocima se ocekuje da dobijete problem i pocnete da razmisljtate o
njemu dodefinisete sve sto je nejasno i implementirate svoja resenja, a ne
da cekate da vam neko sve definise.
Ovo je razlika izmedju inzenjera(tj. onog ko razmislja, analizira i
projektuje) i programera (tj. onog ko ne zeli da razmislja i kada mu se
kaze napisi mi funkciju skalpro on napise funkciju skalpro). Ja se nadam
da ste vi upisali ovaj fakultet da bi postali inzenjeri.

U vasim analizama ce te imati greske sto je razumljivo ali i to je deo
inzenjerskog posla. Kardinalne greske ce se teze bodovate a sitnije se
nece uzimati u obzir.

Pozdrav,
Jovan


>
> ----- Original Message -----
> From: "Jovan Popovic" <jovan@etf.bg.ac.yu>
> To: <ri4pp@titan.etf.bg.ac.yu>
> Sent: Friday, December 03, 2004 8:19 AM
> Subject: Re: [ri4pp] Domaci konacno...
>
>
>> Kljucna rec je termin koji koristim za sve "reci" u mikrojavi koje se
>> semanticki razlikuju od obicnih imena promenjivih (identifikatora) tu
>> spadaju int, char, main (main nije obicno ime funkcije nego rec koja je
>> u
>> MJ rezervisana za glavnu metodu) i ostale koje trebate da nadjete.
>>
>> Sto se tice gramatike dotle jos nismo stigli i u domacem nigde ne pise
>> da
>> treba da je uzimate u obzir. Na vezbama sam par puta pomenuo da
>> specifikacija leksickih elemenata u MJ nije kompletna i vi morate da je
>> dopunite.
>
> -----------------------------------------------------------------
> unsubscribe:
> minimalist@titan.etf.bg.ac.yu?subject=unsubscribe%20ri4pp
> -----------------------------------------------------------------
>
>