Thread View: pl.comp.lang.c
2 messages
2 total messages
Started by (fir)
Mon, 13 Feb 2017 19:20
jezyk ą
Author: (fir)
Date: Mon, 13 Feb 2017 19:20
Date: Mon, 13 Feb 2017 19:20
89 lines
3793 bytes
3793 bytes
nazwa to troche zart (fonetycznie mozna tez czytac jako om)
chodzi mi o to ze chyab chcialbym sie pobawic w pisanie
kompilatora (takiego ktoryby przerabial prosty jezyk
przeze mnie zdefiniowany na wirtualny asembler mojej tez
mojej wlasnej produkcji)
aby to bylo mozliwie latwe pomyslalem ze powinno to byc cos prostszego od b (a bardziej skomplikowanego od a/asma więc ą ;-)
[ogolnie chodzi o dwa cele na raz
1) chce napisac mozliwie prosty kompilator
2) chce sobie oszczedzic pisania procedur w asmie tak ze
ten jezyk powinien jednak pozwalac pisac prosciej niz
w asmie
pytanie jak powinien wygladac taki prosty jezyk - jakies idee?- ogolnie wyszlo mi ze to powinno byc cos c-podobnego (bo c jest najlepszy) powinno byc jednak maksymalnie proste tak
by maksymalnie uproscic pisanie kompilatora
obecnie wymyslilem o tak ze moglbym sie pozbyc wszysttkich zmiennych lokalnych jako ze w asmie mam 26 rejestrow (od a do z) moge dozwolic po prostu uzywanie tylko tych rejestrow jako lokalnych (w razie potrzeby moge ich dodac nawet wiecej w asemblerze) byloby to raczej prostsze niz nawet b
zastanawiam sie czy moze jednak powinienem to uproscic jeszcze
bardziej (?)
pozatym musze sie zastanowic jak przerobic kodw c powiedzmy taki jak ponizej na to ą (om) no i jak napisac ten prosty kompilator
jak ktos ma jakies uwago to chetnie przeczytam, jak sie sam zastanowie moze dopisze pare uwag
nizej przyklad kodu do przerobienia i pozniej skompilowania
int mandelbrot_n( float cRe, float cIm, int max_iter )
{
float re = cRe;
float im = cIm;
float rere=re*re;
float imim=im*im;
for(int n=1; n<=max_iter; n++)
{
im = (re+re)*im + cIm;
re = rere - imim + cRe;
rere=re*re;
imim=im*im;
if ( (rere + imim) > 4.0 )
return n;
}
return 0;
}
void mandelbrot_test(int CLIENT_X, int CLIENT_Y, double ox, double oy, double lx, int max_iter)
{
SetupPalette( 550, 455, 45 );
double ly = lx * CLIENT_Y / CLIENT_X;
double dx = lx / CLIENT_X;
double dy = ly / CLIENT_Y;
double ax = ox - lx * 0.5 + dx * 0.5;
double ay = oy - ly * 0.5 + dy * 0.5;
for( int j=0 ; j<CLIENT_Y; j++ )
{
double c_im = ay + j * dy;
for( int i=0 ; i<CLIENT_X; i++ )
{
double c_re = ax + i * dx;
int n = mandelbrot_n(c_re, c_im, max_iter);
SetPixelSafe(i ,j, palette[n]);
}
}
}
Re: jezyk ą
Author: (fir)
Date: Mon, 13 Feb 2017 22:45
Date: Mon, 13 Feb 2017 22:45
2 lines
1470 bytes
1470 bytes
ostatnio zreszta zaczalem nazywac ten jezyk nie jako ą a po porstu jako a czy tez A bo w sumie jest to w pewnym sensie uproszczony subset B wiec nazwa poniekad zgodna
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads