«« ( Date ) »» // «« ( Thread ) »» // ir4pp1 - 2009

Re: Pitanje za asistenta (stringovi)...

by Bojan Vitnik
sreda, 12. avgust 2009 - 17:33.

> za string promenljive usvojiti ista pravila kao u jeziku Java.
> Pod konstantama podrazumevane su konstante tipa:
> "string1" ili "string2".

> Pozdrav,
> Milos
Znači a, b i s su promenljive tipa string?
Ako je tako da li znači da je primer dat u tekstu zadatka sintaksno
neispravan?
class C
string a = "string 1";
string b = "string 2";
{
void main()
string s = "aaa"; {}
}

Naime, po sintaksi MicroJave, nije dozvoljena dodela vrednosti promenljivoj
pri njenoj deklaraciji.
Sledeće pravilo govori upravo to:
VarDecl = Type ident ["[" "]"] {"," ident ["[" "]"]} ";" <- nema dodele vrednosti!
Dodela vrednosti pri deklaraciji je međutim dozvoljena pri deklaraciji konstanti:
ConstDecl = "final" Type ident "=" (number | charConst) ";" <- imamo dodelu vrednosti!

Znači pitanje glasi, da li je gornji primer sintaksno neispravan i trebao bi da glasi ovako:
class C
string a;
string b;
{
void main()
string s; { a = "string 1"; b = "string 2"; s = "aaa";}
}
ili mi treba da proširimo gramatiku MicroJave tako da dozvoljava dodelu vrednosti
pri deklaraciji promenljive? U tom slučaju da li da se ograničimo samo na string tip
ili da ovo omogućimo i za int i char tipove?