No diky za komentar.
Samo, ze su tu aj ine casti toho suboru a este dalsich 7 suborov, ale na co ich tu budem davat,
islo mi len o to, ci /logicky / spravne volam funkcie eval_[term, expr, factor]
a ci sa neda napr. napisat kratsi, krajsi a prehladnejsi kod tychto funkci, vzhladom
na buducu rozsiritelnost, napr. o abs. hodnotu, faktorial, komplex. cisla, mat. funkcie atd.
To ze to je v jednom subore a potom ked to funguje sa to da do jednej triedy + jej metody,
to teraz neriesim, lebo to nie je projekt so 100-kami objektov a metod.
Ale vzhladom na mnozstvo tutorialov, ktore som presiel,to moholi autori aspon spoment,
ze je taky uzus, ze vsetko sa dava do samostatnych suborov.
No nie su tam poznamky, ale ked napisem / eval_factor/, tak co tam dam do poznamky ? ze pocita factor ? -
ved to je jasne z tych volani, parsuje to string v c.in a vola jednotlive funkcie , podobne komentovat
vypocet cisla cez eval_num je asi zbytocne, je to tak jednoduchy kod, ze ked sa na to hocikto pozrie,
tak je to jasne, keby to bol zlozity kod, kde nie je jasne co robi, tak tam by boli komenty nutne, napr,
10000 riadkovnie co ako :
.section .rodata
string:
.ascii "Ahoj,svet!\n"
length:
.quad . -string
.section .text
.globl _start
_start:
movq $4, %rax
movq $1, %rbx
movq $string, %rcx
movq length, %rdx
int $0x80
movq %rax, %rbx
movq $1, %rax
int $0x80
V dalsom tutoriali som videl, ze najlepsia cast ako predat retazec je:
"public static class StringC { public String in; };"
boli tam spomenute aj 2 ine moznosti, ale ta bola odporucana, tak neviem preco jeto zle,
ked to funguje.
No Javu a OOP sa ucim z tutorialov, ale asi jedina vec ako sa to naucit, je nieco nakodovat.
Uzivatelske rozhranie ma teraz az tak nezaujima, lebo sa vzdy meni sposob, v zavislosti od platformy,
a ja neviem ci budem robit pre Android, iOS, Wphone, C++, C#, linux_API (GTK+, Qt), win_API ...(Visual C++)
V java.lang.Math som nenasiel ani jednu funkciu pre parser a lexer, ani nejaku sablonu, jak to niekto ini urobil,
asi este neviem dobre hladat.
Len tiez neviem ci to niekto implementoval tak ako to ja potrebujem,napr. aby ta a kalkulacka pocitala PRESNE
aj cisla ako 300! s presnostou na vsetky platne cislice, ci napr. des. cisla s presnostou na napr. 4096 platnych des. cislic.
Tiez by to malo byt rozsiritelne na "velke" prvocisla.
Tam uz to asi s implementaciou Math nepojde, lebo to nepocita s 32768-bitmi, ale max. s 80-bitmi.
Potom bude treba tie funkcie optimalizovat na konkretne CPU, ak ho aplikacia deteguje, co sa bez ASM nezaobide,
tiez to nejako spojit so serverom, aby tie vypocty vedel robit napr. iny pocitac s konkretnym CPU.
No nic, clovek sa asi dnes nikde nic nenauci, a musi si to proste odsediet a odprogramovat, lenze na to treba zdravie
a to ja nemam.
Este ma v Eclipse Indigo zaujima, ze ako debugovat, pretoze stale rozmyslat ci stlacit F5 a F6 je dost unavujuce
a ked stlacim F5 a ma to vykonat nejaky kod, ktory nie je moj, ale je v java knizniciach, tak vypise nejaku hlasku,
ze nemoze najst zdrojovy kod napr. ret = ret2.substring( i+1 ); a debuger zostane stat.
Potom niekedy sa mi stava, ze pocas debugovania prestane reagovat Eclipse,neda sa dostat do menu a pouzit terminate,
neda sa ani editovat nejaky text v zdrojakoch. Restartnem Eclipse a znova to iste, musim restartnut cely comp,
zatial som skusal len v Eclipse Indigo v Ubuntu 11.xx, neviem ci sa to sprava podobne aj pod Win7.