Bool i stampanje stringova
Prvo jedno bitno pitanje za asistenta:
nigde u postavci ne pise da moramo da omogucimo nesto ovako:
var bool a;
begin
a = (1<2);
end;
Pise samo samo da je bool tipa int i da ima vrednosti 0 i 1. Da li to znaci
da ne moramo ili moramo da radimo prosledjivanje logickih izraza logickoj
promenljivoj? Jer ako je tipa int to znaci da je moguca i konverzija iz
int-a a i da obrade svih 6 logickih relacija moraju da se menjaju i da se
prilagode ovome. Ima posla...
------------------
OK, dve kolege su dale ideju za rad sa ispisom stringova pa evo i ja da dam
svoj doprinos. Ja sam smislio sledeci fazon:
ukoliko se na nekom mestu pojavi deklaracija char[] ili string moj kompajler
automatski ubaci bajtkod koji se dobija kada se prevede:
void prints(str : string) var int iter;
{
for iter = 0 to len(str)-1 do
print(str[iter]);
endfor
}
Nakon ubacivanja bajtkoda, naravno, generise se simbol tipa SFunction sa
opisom ove funkcije sa adr na pocetkom koda funkcije.
Bez obzira da li se takva neka deklaracija javlja za staticku ili lokalnu
prom, ovaj kod ce se umetnuti na tom mestu potpuno bezbedno (jer, npr. dok
se kupe deklaracije lokalnih prom. za funkciju generisanje njenog koda jos
uvek nije pocelo).
Potreban je two-pass komp (tj. nesto nalik linkeru) da bi se ovo umetanje
izvrsilo kada se prepozna poziv same funkcije prints tako da sam smislio
ovaj fazon. Ko hoce neka ga slobodno primeni... inace len samo radi
load(array) + arraylength i to je to.
--
Milan Aleksić
WebGrafit: http://galeb.etf.bg.ac.yu/~aleksicm/webgrafit.php
email+jabber: milanaleksic@gmail.com
web: http://drop.to/goblin
ICQ: 53177884
nigde u postavci ne pise da moramo da omogucimo nesto ovako:
var bool a;
begin
a = (1<2);
end;
Pise samo samo da je bool tipa int i da ima vrednosti 0 i 1. Da li to znaci
da ne moramo ili moramo da radimo prosledjivanje logickih izraza logickoj
promenljivoj? Jer ako je tipa int to znaci da je moguca i konverzija iz
int-a a i da obrade svih 6 logickih relacija moraju da se menjaju i da se
prilagode ovome. Ima posla...
------------------
OK, dve kolege su dale ideju za rad sa ispisom stringova pa evo i ja da dam
svoj doprinos. Ja sam smislio sledeci fazon:
ukoliko se na nekom mestu pojavi deklaracija char[] ili string moj kompajler
automatski ubaci bajtkod koji se dobija kada se prevede:
void prints(str : string) var int iter;
{
for iter = 0 to len(str)-1 do
print(str[iter]);
endfor
}
Nakon ubacivanja bajtkoda, naravno, generise se simbol tipa SFunction sa
opisom ove funkcije sa adr na pocetkom koda funkcije.
Bez obzira da li se takva neka deklaracija javlja za staticku ili lokalnu
prom, ovaj kod ce se umetnuti na tom mestu potpuno bezbedno (jer, npr. dok
se kupe deklaracije lokalnih prom. za funkciju generisanje njenog koda jos
uvek nije pocelo).
Potreban je two-pass komp (tj. nesto nalik linkeru) da bi se ovo umetanje
izvrsilo kada se prepozna poziv same funkcije prints tako da sam smislio
ovaj fazon. Ko hoce neka ga slobodno primeni... inace len samo radi
load(array) + arraylength i to je to.
--
Milan Aleksić
WebGrafit: http://galeb.etf.bg.ac.yu/~aleksicm/webgrafit.php
email+jabber: milanaleksic@gmail.com
web: http://drop.to/goblin
ICQ: 53177884
- Follow-Ups:
- Re: Bool i stampanje stringova
- From: "Jovan Popovic" <jovan@etf.bg.ac.yu>
- Re: Bool i stampanje stringova
Previous by date: Re: Prijava ispita
Next by date: Pitanje o nizovima
Previous by thread: Re: Prijava ispita Next by thread: Re: Bool i stampanje stringova
Previous by thread: Re: Prijava ispita Next by thread: Re: Bool i stampanje stringova