function callback
۱۴۰۱ مرداد ۸, شنبه ساعت ۱۰:۳۹در حال پیاده سازی function callback هستم. برای پیاده سازی یک تابع وسط یک تابع دیگه باید از jmp استفاده کنم و آدرس اون تابع رو داخل متغییر نگه دارم تا بعدا بتونم اون رو صدا کنم ...
در حال پیاده سازی function callback هستم. برای پیاده سازی یک تابع وسط یک تابع دیگه باید از jmp استفاده کنم و آدرس اون تابع رو داخل متغییر نگه دارم تا بعدا بتونم اون رو صدا کنم ...
با یک ایده خیلی جالب از پیاده سازی object هایی که قبلا انجام دادم پیاده سازی کلاس ها رو با توجه به فایل تست classEmulating انجام دادم.
الان تعریف کلاس و متدها و استفاده از this برای اتصال متد ها به یکدیگر کاملا قابل استفاده هستن. در ادامه پیاده سازی به شکل prototype شبیه به js رو باید انجام بدم
آخرین تغییری که دادم این هست که کلمه ی کلیدی this رو حذف کردم و با این کار مثال های قبلی دیگه کار نمیکنن. در عوض یک شبیه سازی کلاس انجام دادم و فایل اون رو اضافه کردم که با تغییراتی که در ادامه اعمال میکنم مثال های قبلی هم کار خواهند کرد ...
test_a( this ) {
this.a = "test_a";
}
test_b( this ) {
this.b = "test_b";
}
main() {
var this1 = {};
test_a( this1 );
test_b( this1 );
print( this1 );
var this2 = {};
test_a( this2 );
this2.a = "test_a2";
test_b( this2 );
this2.b = "test_b2";
print( this2 );
print( this1 );
}
قبل از ادامه توسعه ی کلاس ها باید بتونم برای متغییر حالت ref تعریف کنم و این ref رو بتونم داخل تابع تغییر بدم. از این ref میخام برای کلاس ها و this استفاده کنم ...
فایل class.do و class1.do رو آپدیت کردم ...
داخل یک کلاس میشه متغییر تعریف کرد و این متغییر رو چه داخل متد ها و چه بیرون از متد ها هنگام تعریف میشه آپدیت کرد
توسعه مربوط به کلاس ها از نظر من کار بی معنایی هست که به اجبار دارم اون رو توسعه میدم. تا اینجای کار با تموم کردن یکسری خورده کاری ها میشه از dolang به عنوان یک vm استفاده کرد و زبان های دیگه رو تبدیل به dolang کرد و اونها رو اجرا کرد ...
اضافه شدن متغییر global تکمیل شد
در حال تکمیل قسمت مربوط به کلاس ها هستم
ویرایش ها رو در گیت ها گذاشتم
var test_var;
test_b() {
test_var = "bbb\n";
}
test_a() {
test_var = "aaa\n";
}
main() {
test_var = "test";
test_a();
print(test_var);
test_var = "test1";
test_b();
print(test_var);
var a = "test";
}
5 سال قبل 4php رو نوشتم و همیشه به دنبال نوشتن زبان jit بودم تا بالاخره بعد از ۵ سال تونستم dolang رو بنویسم. در توسعه اون به مشکل بابت خودش بر نخوردم. بلکه به مشکل بابت خودم برخوردم که میدونم اگر بخوام شروع کنم به انجام دادنش نیاز به وقت و انرژی خیلی زیادی دارم که به دلیل داشتن مشغله زیاد نمیخوام شروعش کنم. اما این رو میدونم که اون رو حتما به پایان میرسونم. اون هم به بهترین شکل ممکن.
https://www.imdb.com/interfaces/
رو تبدیل به api کردم ...
بیش از ۸ میلیون اطلاعات فیلم و سریال به همراه امتیاز و مابقی اطلاعات فیلم ها به صورت json api به صورت رایگان ...
فعلا اطلاعات به صورت هفتگی آپدیت میشه و در آینده به صورت روزانه ...
با انتشار اولین نسخه DoLang مشخص میشه که من چرا اسم زبانم رو DoLang گذاشتم. سعی کردم که زبان رو بشه به راحتی توسعه داد. هنوز خیلی از قسمت های اون نوشته نشده و دلیلش هم درد دست من هست. تا الان خیلی از قسمت ها رو زبان پشتیبانی میکنه و به زودی بعد از خوب شدن درد دستم تمامی قسمت های زبان رو تکمیل میکنم و برای تمام Cpu ها هم اون رو توسعه میدم. جذابیت DoLang این هست که خروجی به همراه Assembly هست و شما میتونید ساز و کار کامپایل و تبدیل کد به اسمبلی رو ببینید.
( قسمت هایی از کتاب رعنا. با نویسندگی خودم. برای خرید کتاب رعنا ( ۱۰۰ صفحه ) از قسمت کامنت ها پیام بدین. ۵۰ هزارتومان )
آخر باغ در اتاق کوچکی که صاحب باغ به من داده زندگی میکنم، صاحب باغ اینجا را به من داده تا هم در آن زندگی کنم و هم از باغ مراقبت کنم، اتاقی با دیوارهای سفید و یک لامپ زرد که وسط اتاق همیشه خدا روشن است، از همان روز اولی که من را دید از من خوشش امد، اخر من پسر سر به زیری بودم، به قول خودش من حتی یکبار هم به صورت دخترش نگاه نکرده ام، مادر دخترک چند سال پیش در تصادف مرده بود و پدر دخترش را خودش بزرگ کرده بود، راست میگفت، من حتی یکبار هم سرم را بالا نیاوردم تا صورت دخترش را نگاه کنم
از همان روز اول که دخترک با لباس سفید را در باغ بر سر قبر مادرش دیدم به خودم گفتم مادرش انطرفتر دارد نگاهش میکند، اما دریغ که دخترک نمیتواند مادرش را ببیند، هر بار که ساعت از ۱۲ رد میشود عروسکش را در دستانش میگیرد و با ان لباس ژولیده ای که بر تن دارد بر سر قبر مادرش می اید،
دخترک هر شب بر سر قبر مادرش گریه میکند و مادرش را صدا میزند، انطرف مادرش با دیدن اشکهای دخترش زجه میزند چون که دلش برای دخترش تنگ شده است
اقای خانه چند هفته ای بود که با دخترش به باغ نیامده بودند، خانم من را صدا کرد تا برای خرید خانه با او همراه شوم