Re: Pitanja za asistenta : ENUM revisited
Isprobao sam dva kompajlera za C, a vezano za enum
1. Microsoft
- ov kompajler za Visual Studio 2005
Ovaj kompajler tretira
enum promenljive kao zaseban tip, cak im se mora vrednost dodeliti
preko simbola, a ne preko brojeva, npr
enum Nabrajanje {jedan =
1, dva, tri, cetiri, pet};
enum Nabrajanje broj =
1;
GRESKA
enum Nabrajanje broj = jedan; O.K
2. GCC kompajler enum tretira cisto kao niz #define
deklaracija i blazeno je nesvestan ogranicenja enum tipa, tj za gornji
primer moze da se napise
broj =
500;
O.K
broj =
'a';
O.K
Znaci bukvalno enum tip tretira kao celobrojni tip (Nisam
probao sta bi uradio,ako bi mu ubacio neki long podatak)
ZAKLJUCAK : Linija manjeg otpora - simboli iz enum nabrajanja (govorim o
Mikro Javi) se tretiraju kao konstante tipa int ili char, ali
promenljive se ubacuju kao tip int, tj nema uvodjenja novog
Struct!
PREDLOG : Dodatni poeni za realizaciju enum
kao iz MICROSOFT- ovog kompajlera!
Da li zakljucak O.K
sad par pitanja
>
> 1.
Gde sme da se u kontekstu
> MikroJava gramatike deklarise ENUM -
U C- u moze da se deklarise bilo gde,
> tj moze i zasebno, moze i
u skopu deklaracije promenljive, moze ENUM i da
> nema
ime
> npr
> enum {jedan = 1, dva, tri, cetiri,
pet}
> broj;
>
> enum Nabrajanje {jedan = 1,
dva, tri, cetiri, pet};
>
> Ja sam pretpostavio, a u
duhu MikroJave da se ENUM deklarise samo
> u
deklarativnom delu glavne klase, bilo u sklopu deklaracije
> globalne promenljive, bilo zasebno. A da se posle koristi samo kao
tip. Tj
> ono sto je deklarisano je deklarisano, nema vise
deklarisanja ENUM - a u
> metodama, a smeju da koriste
preko
> enum Nabrajanje loc_var;
>
>
Da li je ovo O.K?
>
> 2. Sta sa enum u drugom delu
domaceg
> - ako se uvedu konstante iz enum -a kao konstante u
tabelu simbola, kako
> tretirati promenljive tipa enum Nabrajanje
- kao integere, ili kao char -
> ove ako je
>
enum Nabrajanje {a = 'a', b, c, d,};
>
> Da
>
li uvoditi novu Struct!
>
> Uopste mislim da
ova situacija sa
> enum zahteva dodatna razjasnjenja
>
>
> On Mon, June 16, 2008
> 02:09, Milos
Gligoric wrote:
>> 1. U osnovi je to. Ukoliko uocite
> da nisu zadovoljeni svi zahtevi onda
>> treba izmeniti
>>
> taj deo
>>
>> 2. Da
oporavak se vrsi do ]. Doslo je do
> malog nesporazuma
>>
>> 3. Mislimo li na isto ?
> Promenljive
koje su tipa nabrajanja. Da kao i
>> ostale
>>
> promenljive
>>
>> Pozdrav,
>>
Milos
>>
>>
>> --- On Sun, 6/15/08,
kum70@verat.net
> <kum70@verat.net> wrote:
>>
>
From: kum70@verat.net
> <kum70@verat.net>
>> Subject: [ir4pp1] Pitanja za asistenta
>
>> To: ir4pp1@rti.etf.bg.ac.yu
>> Date: Sunday, June
15,
> 2008, 11:48 PM
>>
>> 1. Prvi
domaci, tacka 2.b) 01)
>> Koristiti leksi&amp;#269;ki
analizator ura&amp;#273;en u
> ta&amp;#269;ki 1.
>> U
>> slu&amp;#269;aju da
>
postoji leksi&amp;#269;ka greška u
>> MikroJava
fajlu
> koji se analizira, opis greške treba ispisati na
izlaz i
>>
> ignorisati je u
>>
sintaksnoj analizi.
>> Da li se ovde
> mislim na
>> Symbol simbol=getScanner().next_token();
>>
> if (simbol!=null) {
>> while (simbol.sym==sym.INVALID)
{
>> System.out.println("LEKSICKA GRESKA:
>
"+simbol.value+"
>> !!!");
>>
> simbol=getScanner().next_token();
>> Ili treba josh
neshto
> dopisivati?
>> 2. Kako vrsiti oprovak od
greske pri neispravno
> zadatom izrazu za
>>
indeksiranje prilikom pristupa elementu niza
> ako nije do prvog
znaka ]?
>> 3.Da li enum konstante ulaze u zbir
>
promjenjeivih ne-niz tipa kod dijela
>> zadatka o pronalazenju
> specificnih klasa?
>>
>> pozdrav
>>
>>
>>
>>
>
-----------------------------------------------------------------
>> unsubscribe:
>>
>
minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ir4pp1
>>
>
-----------------------------------------------------------------
>>
>>
>>
>
-----------------------------------------------------------------
> unsubscribe:
>
minimalist@rti.etf.bg.ac.yu?subject=unsubscribe%20ir4pp1
>
-----------------------------------------------------------------
>
>
>
- References:
- Re: Pitanja za asistenta : ENUM revisited
- From: Milos Gligoric <glisa0001@yahoo.com>
- Re: Pitanja za asistenta : ENUM revisited
Previous by date: Re: Pitanja za asistenta : ENUM revisited
Next by date: Re: Pitanja za asistenta
Previous by thread: Re: Pitanja za asistenta : ENUM revisited Next by thread: Re: Pitanja za asistenta
Previous by thread: Re: Pitanja za asistenta : ENUM revisited Next by thread: Re: Pitanja za asistenta