Compiler
Andras Tantos
andras_tantos at tantos.homelinux.org
Tue May 6 11:16:45 CEST 2003
> most meg pc-re csinalok egy visual/database/basic
> nyelvet
>
> mar szepen fordul
> igaz egyszer vinyo/alaplap hiba miat fel is fordult es kezdhetem elolrol
> (legalabis majdnem)
>
> de az egesz complier projectben 2 furmanyos dologvan (latszolag egyszeru de
> nagyon nagyot lehet vele szivni)
>
> 1. valtozok definialasa (helyfoglalas etc....)
> 2. kifejezes kiertekeles (pl sin(22*xfugveny(123*cos(12)+12)*b+yfugveny(a))
> )
Azert meg van egy-ket furmany, amint kicsit komolyabb nyelvrol beszelunk:
- Exception handling
- Tobbszoros leszarmazas
- Template-ek es kornyekuk
En inkabb ugy latom, a kovetkezo nagy megoldando problemak vannak egy fordito
irasakor:
- Hibauzenetek/figyelmeztetesek ertelmes generalasa
- A nyelv pontos es helyes ertelmezese (kulonosen nehez abban az esetben, ha a
nyelv szabvanyos, lasd C,C++,Fortran)
- A 'tortenelmi forrasok' (legacy code) kezelese. Azaz eleg sok melo es
kuszkodes, amig egy C fordito kepes a legtobb tobb tiz eves reges-regi kod
leforditasara
- Konyvtarak: nezett mar bele valaki az STL forraskodba? Nem szeretnem ujra
irni...
- Ertelmes regiszter-allokacio (kulonosen olyan architekturakon, mint az
x86-os)
- Az egesz optimalizalas, ugy altalaban
- Annak biztositasa, hogy a fordito mindig helyes es ervenyes kodot general,
azaz a teszteles
> en iranyadonak a visual basic 6-ost tartom
> erdemes megnezni mit fordit
> messze leveri a C, delphi forditot
> (ps: errol nem akarok vitat inditani. ezt en tenykent kezelem (ugyanis
> probaltam))
A Visual Basic 6-os a Visual C++ (nem tudom hanyas) back-end-jet hasznalta
kod-generalasra. Biztos hogy jol hasonlitottad ossze a kod-generalast? Pl.
optimalizacio be volt kapcsolva, jol volt beallitva? Ugyanolyan nyelvi
eszkozoket hasznaltal a forraskodban (peldak lasd fent)?
> leirast en amit talatam az mind nagyon szep es nyilvan okos is de a
> legyegyszerub dolgot is valami roppant bonnyolult objektuum orientaltan
> akarjjak megcsinalni.
>
> a www.prog.hu-n vannak cikkek
>
> de sem a modszer sem a megoldas nem hatekony
> (viszont az osszes algoritmusnak nagyon szep neve van)
> de a paraszti es az szerintem jobban optimalizal
> mint a programozas muveszete es a szuper algoritmusok cimu konyvek
En egyet se talaltam, pedig erdeket volna. Tudnal kicsit konkretabb lenni?
> sajnos nem azok az emberek irnak forditokat akik annak idejen irtak meg
> 8-bites procikra (primo, sinclair, commodore)
Azokra nem igen volt fordito. Zommel interpreter-ek voltak, nagy kulonbseg.
Amugy szerintem a forditokat nagyon is okos emberek irjak, es egyik-masik
fordito (es a benne hasznalt algoritmusok) nagyon jo munkat vegez. De ebbe
tenyleg ne menjunk bele, ez mar vegleg off...
Hogy az eredeti kerdesre is valaszoljak (jo iromanyok forditokrol):
Compilers: Principles, Techniques, and Tools
by Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman (Contributor)
http://www.amazon.com/exec/obidos/tg/detail/-/0201100886/002-4420160-0703212?vi=glance
Ez ugyan nem online es eleg draga, de ezt olvastam, es tudom ajanlani, bar nem
ifjusagi regeny... Az amazon link-et azert adom, mert ott talasz hivatkozast
meg tobb ilyen temaju konyvre. Ezen kivul a GCC dokumentacioja is eleg
erdekes olvasmany, bar abba meg nem merultem el tulzottan.
Udv,
Tantos Andras
More information about the Elektro
mailing list