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