-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
m.4.r.m
به جای این حرفا و چه کنم چه کنم ها بگید ببینیم هر کدومتون چقدر از شما ها به اسمبلی مسلط هستید ؟ به جای این حرفا هر کسی یه اجر رو هم بزاره الان ساختمون تموم شده بود
از همین حالا من تحقیقاتم رو در مورد ساخت Front-End و Optimizer مربوط به کامپایلر رو شروع می کنم(اگر این کار به درستی صورت بگیره Port کردن کامپایلر روی پلتفرمهای مختلف زیاد سخت نخواهد بود و میشه کامپایلری برای سایر محیطها مثل Mac و Linux هم تولید کرد). بهتره که اول یک قسمت رو در SourceForge یا GitHub درست کنیم و کدها رو در اونجا قرار بدیم. کسی میتونه زحمت این کار رو بکشه و کارهای هماهنگی تیم رو انجام بده؟ به نظرم بهتره که یک قسمتی بسازیم که به جای این همه بحث های الکی و بی مورد کسانی که واقعاً و واقعاً مشتاق هستند که در این پروژه همکاری کنند در اون بخش بیان و فقط پیرامون مباحث فنی در مورد این پروژه بحث کنیم و بحث های عمومی و پیش پا افتاده اونجا صورت نگیره.
-
نقل قول: یا بی خیال VB6 بشید یا ...
من یک پیشنهاد دارم از مدیران میشه یک بخش خصوصی مختص به این کار برای کسانی که واقعا در این تیم می خوان کار کنن ایجاد بشه ؟ اینطوری بحث های بی مورد و بی جهت دست و پاگیر دوستانی که می خواهند واقعا کار کنند نمیشه
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
به جای این حرفا و چه کنم چه کنم ها بگید ببینیم هر کدومتون چقدر از شما ها به اسمبلی مسلط هستید ؟ به جای این حرفا هر کسی یه اجر رو هم بزاره الان ساختمون تموم شده بود
خب من که از اسمبلی هیچی بلد نیستم ... ولی خیلی دوست دارم توی این پروژه کمک کنم ... حتی یادگیری اسمبلی رو هم خیلی دوست دارم ...
ولی خب فعلا که اسمبلی بلد نیستم اومدم توی Source Forge دارم براتون یه قسمتی رو راه اندازی میکنم ...
نقل قول:
از همین حالا من تحقیقاتم رو در مورد ساخت Front-End و Optimizer مربوط به کامپایلر رو شروع می کنم(اگر این کار به درستی صورت بگیره Port کردن کامپایلر روی پلتفرمهای مختلف زیاد سخت نخواهد بود و میشه کامپایلری برای سایر محیطها مثل Mac و Linux هم تولید کرد). بهتره که اول یک قسمت رو در SourceForge یا GitHub درست کنیم و کدها رو در اونجا قرار بدیم. کسی میتونه زحمت این کار رو بکشه و کارهای هماهنگی تیم رو انجام بده؟ به نظرم بهتره که یک قسمتی بسازیم که به جای این همه بحث های الکی و بی مورد کسانی که واقعاً و واقعاً مشتاق هستند که در این پروژه همکاری کنند در اون بخش بیان و فقط پیرامون مباحث فنی در مورد این پروژه بحث کنیم و بحث های عمومی و پیش پا افتاده اونجا صورت نگیره.
من پیشنهادم اینه که هر کسی مقاله ای پیدا کرد اینجا بزاره که دوستان دیگه هم استفاده کنن ... کاری که بهروز عباسی عزیز هم میکنه ...
می تونیم توی بخش Open Source یه تاپیک اختصاصی براش بزنیم ...
ولی در مورد Source Forge من این کار رو انجام دادم ... اسمبلی که بلد نبودم ... گفتم همین یه کار که حالا از دستم بر میاد رو انجام بدم ...
در مورد هماهنگی هم بنده تا حدی که بتونم کمک میکنم ...
-
نقل قول: یا بی خیال VB6 بشید یا ...
قبلاً توی یه سایت اسمش یادم نیست (از مسعود بپرسید )یه گروه ساختیم که به صورت مسنجر باهم بحث میکردیم !! اون چیز خوبی بود
یه سوال مگه قرار نشد که یک مفسر ساخته بشه ؟؟
-
نقل قول: یا بی خیال VB6 بشید یا ...
در مورد اسمی که پیشنهاد دادم کسی نظری نداره ؟میخوام صفحه ی SourceForge اش رو درست کنم ... باید اسم پروژه وارد بشه ...
ممنون میشم نظرات رو اعلام کنید
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
Opc0d3
قبلاً توی یه سایت اسمش یادم نیست (از مسعود بپرسید )یه گروه ساختیم که به صورت مسنجر باهم بحث میکردیم !! اون چیز خوبی بود
RaidCall ???? :لبخند:
نقل قول:
نوشته شده توسط
Opc0d3
یه سوال مگه قرار نشد که یک مفسر ساخته بشه ؟؟
نه ... قرار شد همون کامپایلر باشه ...
-
نقل قول: یا بی خیال VB6 بشید یا ...
حالا که انجام پروژه حتمی شد به نظرم بهتره این تاپیک کلاً حذف بشه و یه تاپیک جدید و با محتوا ایجاد کنید
-
نقل قول: یا بی خیال VB6 بشید یا ...
آخه مشکل اینجاست صاحب پست معلوم نیست کجا داره چی کار میکنه :لبخند: چت هم پیداش نیست من بهش خبر بدم مسعود خودش باشه بهتره .
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
یه سوال مگه قرار نشد که یک مفسر ساخته بشه ؟؟
من ایده بهتری دارم. سعی کنیم که برای ساخت کامپایلر تا حدود زیادی از LLVM و ساختار PAX Compiler ایده بگیریم. به نظر من بهتره که نحوه کامپایل شدن برنامه رو به عهده کاربر نهایی بزاریم. در این مورد دو حالت پیش می یاد:
1- اگر کاربر مشخص کنه که می خواد برنامش کامپایلری باشه، این موقع کامپایلر یک فایل اجرایی مستقل تولید می کنه.
2- اگر کاربر بخواد که برنامش مفسری باشه، کامپایلر یک کد میانی تولید میکنه که این مورد باید توسط یک مفسر که از یک قسمت + Backend ایجاد شده استفاده میکنه اجرا بشه. انجام این کار به نظر من بهتره. در این میان خود به خود ساختاری به وجود میاد که برنامه کاملاً می تواند حالت دینامیک داشته باشد.
این موارد در محصولاتی مانند PaxCompiler وجود دارد و کاملاً هم قابل پیاده سازی است. این روش می تواند از تمامی ویژگی های مثبت کامپایلر و مفسر استفاده کند و به نظر من از لحاظ تئوری بهتر از ساختار کامپایلر های دات نتی و جاوایی و سایر محصولات کامپایلری مثل کامپایلر دلفی و MinGW و ... است. به نظرتون چطوره؟
-
نقل قول: یا بی خیال VB6 بشید یا ...
خوبه ... روی همین کار کنید ... می تونید یه سری به SF بزنید و از سورس پروژه هایی که شبیه هستند استفاده کنید ... مسعود گفت که درگیر درس و اینا هستش ولی سر میزنه ...
-
نقل قول: یا بی خیال VB6 بشید یا ...
-
نقل قول: یا بی خیال VB6 بشید یا ...
-
نقل قول: یا بی خیال VB6 بشید یا ...
اینجا هم آقای شاهین عشایری لطف کردن یک پست در مورد سورس کامپایلر Free Pascal گذاشتن که بد نیست یه نگاهی بهش بندازید ... می تونیم روی سورس این کامپایلر نگاه کنیم و چیزای زیادی ازش یاد بگیریم
لینک دانلود کد کامپایلر Free Pascal
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام بچه ها!
قبل این که درگیر قسمت طراحی خود کامپایلر بشیم می تونیم (به نظرم بهتره) یه سری ماکرو (لینک) بنویسیم، که در آینده دقیقا بهتون می گم چه ماکروهایی...
>>> یه سری برای تبدیل انواع مختلف به هم هست... مثلا تبدیل Integer به Byte...
- - - باید ببینیم Type هامون چیا هستن؟ (لینک)
- - - بعد ببینیم چه طوری با Assembly به هم تبدیل کنیم اونا رو... من قبلا رو این موضوع کار احتمالا کردم...
- - - فعلا قراره حتما هر متغیری تعریف بشه قبل از استفاده... اما احتمالا در آینده متغیر هایی که تعریف نشدن رو از نوع Variant (لینک) در نظر می گیریم...
- - - نوع String در زبانمون رو باید مشخص کنیم و به خوبی ساختارش رو درک کنیم... (لینک)
- - - توجه کنید دیگه الان اون قدیما نیست! واحد ممیز شناور هست که برای کار با اعداد اعشاری به کمکمون می آد... (لینک) واحد های دیگه ای هم هست... از این ها هم مطلع بشید بد نیست! (لینک) (لینک)
>>> یه سری برای جمع، تفریق، ضرب، تقسیم و یا اعمال دیگه ی هر نوع هست... مثل جمع دو Integer...
- - - خوب ماکروی عملگر ها رو بین انواع هم نوع تعریف می کنیم...
- - - بعدا می تونیم از تبدیل انواع استفاده کنیم...
- - - باید رفتار زبان در مقابل انواع رو تعیین کنیم... Weak-Typed بودن (لینک) و این جور چیزا...
>>> یه سری برای تخصیص حافظه ی پویا و کار با حافظه... (لینک)
- - - مسائل مربوط به حافظه در زبان های سطح بالا رو باید معادلش رو در Assembly درک کنید...
- - - مثلا چیا تو Stack هستن... چیا تو Heap... (لینک)
>>> برای آرایه ها...
- - - ساختار آرایه ها چه جوری باشه؟
- - - Redim کردن چه جوریه ساز و کارش؟
- - - نحوه ی کار Preserve...
>>> یه سری مربوط به فراخوانی ها...
- - - قرارداد های فراخوانی رو مطالعه کنید... (لینک) (لینک)
>>> ...
این ماکرو ها رو می نویسیم که بعدا موقع تبدیل سورس کد، خیلی راحت تر کدهامون رو به کدهای اسمبلی ای تبدیل کنیم که از این ماکرو ها توشون استفاده شده...
فکر کنم با انجام این کار، کارمون در حد ساختن مفسرها ساده می شه!
تازه می شه پروژه رو از دو جهت هم زمان پیگیری کرد... یکی از اول به آخر یعنی همون مسائل مربوط به تحلیلگر لغوی و تجزیه گر و این ها... یکی از آخر به اول یعنی نوشتن ماکرو های مورد نیازمون برای راحتی در موقعی که داره کد Asm تولید می شه...
ضمنا من یه مقدار وقت آزادم کم تره امسال... ولی فکر نکنید پیگیر پروژه نیستم...
همچنین دارم قسمت دوم آموزش برنامه نویسی Win32 با MASM رو ترجمه می کنم که به امید خدا در تاپیک مربوطه قرار می دم... اما هم وقت کم می آرم، هم حوصله می خواد!...
موفق باشید!
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام
PAX Compiler از زبان visual basic پشتیبانی می کنه و سینتکس پشتیبانی شده توسط اون چیزی شبیه VB.NET است. الان دارم یکسری تست بر روی این محصول انجام میدم تا ببینم چه نقاط مثبت و چه ضعفهایی داره. به نظر من از قسمتهای مختلف این محصول میشه ایده های خیلی خوبی گرفت. کد این کامپایلر هم در اینترنت وجود داره. این هم سایت سازنده:
http://www.paxcompiler.com/
نتایج حاصل از این تستها رو بعداً در همین تاپیک قرار خواهم داد.
در ضمن کار ساخت Parser رو هم شروع کردم که زمانی که به یه جای قابل قبولی رسید با توضیحات کامل قرار میدم که دوستان هم در توسعه اون مشارکت کنند.
به عنوان معرفی یک منبع فوق العاده برای ساخت کامپایلر توصیه می کنم که سایت زیر مورد مطالعه قرار بگیرد:
http://llvm.org/
یکی از مزایای خوب llvm این است که backend های آماده ای برای آن وجود دارد که باعث می شود که زیاد با اسمبلی درگیر نباشیم. برای ساخت کامپایلر با LLVM کافی است که کدهای سطح بالا را به کدهای IR تبدیل کنیم. IR تقریباً چیزی شبیه به دستورات زبان C است و نیازی نیست که خودمان نوع عای داده ساده را پیاده سازی کنیم، چرا که این موارد از قبل پیاده سازی شده اند. در مورد llvm فیلمهای آموزشی زیادی را می توان در youtube پیدا کرد.
موفق باشید...
-
1 ضمیمه
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
همچنین دارم قسمت دوم آموزش برنامه نویسی Win32 با MASM رو ترجمه می کنم که به امید خدا در تاپیک مربوطه قرار می دم
این Tut هم بد نیست خیلی جمع و جوره :کف:
-
1 ضمیمه
نقل قول: یا بی خیال VB6 بشید یا ...
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
Mohammad Salehi
ولی خوشم اومد با سلیقه ای داداش.:چشمک:
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
Mohammad Salehi
عاشق سبکتم!
الکی شلوغ پلوغ نیست!
استراتژی گوگل و جدیدا مایکروسافت...
-
نقل قول: یا بی خیال VB6 بشید یا ...
خیلی شبیه ایکون ویژوال استودیو نیست ؟
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
ولی خوشم اومد با سلیقه ای داداش.:چشمک:
ممنون ... لطف دارید
نقل قول:
عاشق سبکتم!
الکی شلوغ پلوغ نیست!
استراتژی گوگل و جدیدا مایکروسافت...
قربونت مسعود جان ... لطف داری...
نقل قول:
نوشته شده توسط
omidshaman
خیلی شبیه ایکون ویژوال استودیو نیست ؟
نه اون حلقه هاش به هم وصل شده ... حلقه هاش شبیه بیضی هستش ... جدیدا هم که دیگه اصن حلقه نیست ...! ( مال 2012 رو میگم )
-
نقل قول: یا بی خیال VB6 بشید یا ...
صفه قبلو نگاه کردم حدودا پیش از 28 تا پست پاک شده. میدون جنگه مگه اینجا:قهقهه:
حالا که قراره ی زبانی بسازید اخه چرا ب اسم وی بی چرا تقلید از وی بی
بهتر نیست خودتون ی سینتکس درست کنید
حالا هرچقدر هم زبان ضعیف باشه مهم نیست ولی به نظر من سعی کنید یه ایده نو بدین
نه این که کپی کنید
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
__UFNHGGI_H__
صفه قبلو نگاه کردم حدودا پیش از 28 تا پست پاک شده. میدون جنگه مگه اینجا:قهقهه:
حالا که قراره ی زبانی بسازید اخه چرا ب اسم وی بی چرا تقلید از وی بی
بهتر نیست خودتون ی سینتکس درست کنید
حالا هرچقدر هم زبان ضعیف باشه مهم نیست ولی به نظر من سعی کنید یه ایده نو بدین
نه این که کپی کنید
کپی نمیکنیم عبدالله جان ...
اگه آیکون برنامه رو دیدی و از روی آیکون اینو میگی .. باید بگم آیکون هیچ ربطی به آیکون VS نداره و من اصلا قصد نداشتم تقلید کنم ... آیکون رو اگه دقت کنی بیشتر شبیه زنجیر هستش تا شبیه علامت بینهایت ( آیکون VS شبیه علامت بینهایت هستش ) ...
زنجیر هم معنای نماد نظم و پیوستگی و ... هستش
این کامپایلر داره از صفر نوشته میشه ... و قصد نداریم از VB6 تقلید کنیم ... شاید سینتکسش شبیه VB6 باشه ... ولی تقلید نیست ...
دلیل شباهت سینتکس هم اینه که عده ی زیادی با VB6 کار کردن و سینتکسش رو دوست دارن ... نمیشه بخوایم به یه سینتکس متفاوت مجبورشون کنیم ... پس هر چه سینتکس شبیه به VB6 باشه بهتره ...
ولی امکاناتی که VB6 نداره رو میخوایم بهش اضافه کنیم...
موفق باشید
-
نقل قول: یا بی خیال VB6 بشید یا ...
در واقع بهتره کلمه vb6 رو به کار نبرید و بگید که زبانی از خانواده بیسیک هست.
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام!
نقل قول:
نوشته شده توسط
__UFNHGGI_H__
صفه قبلو نگاه کردم حدودا پیش از 28 تا پست پاک شده. میدون جنگه مگه اینجا:قهقهه:
حالا که قراره ی زبانی بسازید اخه چرا ب اسم وی بی چرا تقلید از وی بی
بهتر نیست خودتون ی سینتکس درست کنید
حالا هرچقدر هم زبان ضعیف باشه مهم نیست ولی به نظر من سعی کنید یه ایده نو بدین
نه این که کپی کنید
حرفتو قبول دارم در مورد ایده ...
البته نباید گفت این که شبیه VB6 هست یعنی کپیه... چه بسا VB6 یه نمونه ی ضعیف از این بشه... :لبخند:
اما در مورد ایده، خیلی دوست دارم فعلا که اول کار هستیم ایده هایی که جالبن و راحت تر هم پیاده سازی می شن بدین...
خیلی وقتا موقع برنامه نویسی یه سری ایده ها به ذهنم می رسه... مثلا اینا...
^ پشتیبانی داخلی از اعداد مختلط (Complex) و Hyper Complex که اعدادی فراتر از اعداد مختلط هستن... مثل Quaternion ها، Octonion ها و Sedenion ها...
^ پشتیبانی داخلی از Hyper Operator ها، مثلا Tetration که عملگر بعد از توان هست یا Pentation که عملگر بعد از Tetration هست... این جا رو ببینید...
^ شاید در فازهای بعدی پروژه، ارائه ی روشی ساده برای طراحی GUI با HyperTML5...!
^ قابلیت تعریف Type جدید برای متغیرهای عددی با دقت و اندازه ی دلخواه در 3 سوت...!
...
-
نقل قول: یا بی خیال VB6 بشید یا ...
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
IamOverlord
سلام!
حرفتو قبول دارم در مورد ایده ...
البته نباید گفت این که شبیه VB6 هست یعنی کپیه... چه بسا VB6 یه نمونه ی ضعیف از این بشه... :لبخند:
اما در مورد ایده، خیلی دوست دارم فعلا که اول کار هستیم ایده هایی که جالبن و راحت تر هم پیاده سازی می شن بدین...
خیلی وقتا موقع برنامه نویسی یه سری ایده ها به ذهنم می رسه... مثلا اینا...
^ پشتیبانی داخلی از
اعداد مختلط (
Complex) و
Hyper Complex که اعدادی
فراتر از اعداد مختلط هستن... مثل
Quaternion ها،
Octonion ها و
Sedenion ها...
^ پشتیبانی داخلی از
Hyper Operator ها، مثلا
Tetration که عملگر بعد از توان هست یا
Pentation که عملگر بعد از Tetration هست...
این جا رو ببینید...
^ شاید در فازهای بعدی پروژه، ارائه ی روشی ساده برای طراحی GUI با
HyperTML5...!
^ قابلیت تعریف Type جدید برای متغیرهای عددی با دقت و اندازه ی دلخواه در 3 سوت...!
...
دوست عزیز بازم قصد موج منفی ندارم.
ولی اعداد Hyper Complex به قدری پیچیده هستن که توی کل ایران فقط تو دبیرستان انرژی اتمی اونم بخش کوچیکش تدریس میشه.
اونوقت شما پشتیبانی ازش ایجاد میکنی که چه سودی داشته باشه؟
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
amin32
در واقع بهتره کلمه vb6 رو به کار نبرید و بگید که زبانی از خانواده بیسیک هست.
از خانواده بیسیک هم نیست .. چون قراره Open Source کار کنیم ... از طرفی میخوایم ثابت کار کنیم و تا جایی که میشه وابسته نباشیم...
اینجوری بهتره ... یه زبان برنامه نویسی قدرتمند ... به جای VB6 !!
-
نقل قول: یا بی خیال VB6 بشید یا ...
الان چه کسانی قراره در این پروژه کار کنن؟ به چی تسلط دارند؟ آیا دوستان با فازهای کامپایلر آشنایی دارند؟
راستش اگه وقت داشته باشم و تعداد افراد گروه به اندازه کافی باشه , خوشحال میشم فعالیت کنم. البته اگه وقت کنم.
خودم با بخشهای مربوط به backend و frontend و زبانهای مستقل از متن یک آشنایی نسبی دارم. البته متاسفانه سرم خیلی شلوغه.
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
darknes666
دوست عزیز بازم قصد موج منفی ندارم.
ولی اعداد Hyper Complex به قدری پیچیده هستن که توی کل ایران فقط تو دبیرستان انرژی اتمی اونم بخش کوچیکش تدریس میشه.
اونوقت شما پشتیبانی ازش ایجاد میکنی که چه سودی داشته باشه؟
اره راست می گه دیگه من که تو عمرم اولین بار همچین اسمیو می بینم !
من تو همون اعداد مختلط که تو دانشگاه درس میدن موندم که اصلا به چه دردی می خورن دیگه سوپر مختلطش پیش کش ! :لبخند:
کسی می تونه توضیح بده کاربرد اعداد مختلط چیه اصلا؟!
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
Mohammad Salehi
از خانواده بیسیک هم نیست .. چون قراره Open Source کار کنیم ... از طرفی میخوایم ثابت کار کنیم و تا جایی که میشه وابسته نباشیم...
اینجوری بهتره ... یه زبان برنامه نویسی قدرتمند ... به جای VB6 !!
اما به نظر من وقتی دارید از سینتکس basic استفاده میکنید , زبان میشه از خانواده بیسیک. این دیگه فکر میکنم ساده باشه. مگه اینکه یک سینتکس جدید ارائه بدید. مثلا vb6 رو میشه گفت از خانواده بیسیک هستش.
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
amin32
الان چه کسانی قراره در این پروژه کار کنن؟ به چی تسلط دارند؟ آیا دوستان با فازهای کامپایلر آشنایی دارند؟
راستش اگه وقت داشته باشم و تعداد افراد گروه به اندازه کافی باشه , خوشحال میشم فعالیت کنم. البته اگه وقت کنم.
خودم با بخشهای مربوط به backend و frontend و زبانهای مستقل از متن یک آشنایی نسبی دارم. البته متاسفانه سرم خیلی شلوغه.
فعلا که بنده هستم ... آقا مسعود ( IamOverlord ) ... آقای شاهین عشایری هم که از سواد زیادی در زمینه ی کامپایلر برخوردار هستند به تازگی بهمون پیوستن ...
همینطور ho3ein.3ven و m.4.r.m که تو کار زبان اسمبلی هستند ... البته جا داره از آقا بهروز عباسی هم تشکر کنیم که داره بهمون کمک میکنه ...
شما هم خوشحال میشیم همکاری کنید ... هر چند کم !
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
amin32
اما به نظر من وقتی دارید از سینتکس basic استفاده میکنید , زبان میشه از خانواده بیسیک. این دیگه فکر میکنم ساده باشه. مگه اینکه یک سینتکس جدید ارائه بدید. مثلا vb6 رو میشه گفت از خانواده بیسیک هستش.
نه ما قرار نیست از سینتکس basic استفاده کنیم ... شاید سینتکس ما شبیه VB6 بشه .. ولی صرفاً از سینتکس بیسیک استفاده نمی کنیم .. یه جور الهام گرفتن هستش .. وگرنه احتمال داره یه جاهایی از سینتکس رو از ++C الهام بگیریم .. یا مثلا از دلفی ... چون اینا هم از محبوبیت بالایی برخوردار هستند ... میشه برای یه سینتکس خوب ازشون ایده گرفت
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
omidshaman
اره راست می گه دیگه من که تو عمرم اولین بار همچین اسمیو می بینم !
من تو همون اعداد مختلط که تو دانشگاه درس میدن موندم که اصلا به چه دردی می خورن دیگه سوپر مختلطش پیش کش ! :لبخند:
کسی می تونه توضیح بده کاربرد اعداد مختلط چیه اصلا؟!
کاربرد این اعداد خیلی زیاده.(مختلط)
از کشف بوزون هیگز بگیر تا مدار های کامپیوتر.
ولی مجموعه ی اعداد Sedenions جواب معادلات خیلی خیلی پیچده ای رو تو خودش داره.
کاربرد این مجوعه ی Sedenions تازه داره رو میشه.
این مجموعه اینقدر پیچیدست که مایکروسافت 3 سال داره رو یه هدر فایل برای این اعداد کار میکنه.(البته من خودم شک دارم که راست باشه)
ما تو ریاضی با مجمو عه های اعداد ریاضی آشنایی داریم ترتیبش طبق ویکی اینه:
Real numbers ----> Complex numbers----> Quaternions ----> Octonions ----> Sedenions
درضمن عملگر Tetration چیزی به جز توان نیست.درواقع توان های تو در تو هست که پشتیبانی نمیخواد.
یه تابع ساده میتونه این کار رو انجام بده.
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
Mohammad Salehi
فعلا که بنده هستم ... آقا مسعود ( IamOverlord ) ... آقای
شاهین عشایری هم که از سواد زیادی در زمینه ی کامپایلر برخوردار هستند به تازگی بهمون پیوستن ...
همینطور
ho3ein.3ven و
m.4.r.m که تو کار زبان اسمبلی هستند ... البته جا داره از آقا
بهروز عباسی هم تشکر کنیم که داره بهمون کمک میکنه ...
شما هم خوشحال میشیم همکاری کنید ... هر چند کم !
البته فکر میکنم در زمینه طراحی کامپایلر , آشنایی با زبانهای مستقل از متن و در کل نظریه زبانها و ماشینها از همه موارد مهمتر هست. یک نگاهی به این تاپیک بندازید بد نیست:
https://barnamenevis.org/showthread.p...سی-جدید
اینجا بنده و IamOverlord عزیز خیلی تلاش کردیم تا دوستان دیگری رو که با این موارد آشنا هستن دعوت کنیم تا در پروژه سهیم باشن ولی ظاهرا کسی نبود و بنده مجبور شدم تقریبا به تنهایی پیاده سازی پروژه رو پیش ببرم که واقعا غیر ممکن بود. لطفا دوستان واضح مشخص کنن که آیا با این موارد آشنایی دارن؟
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
omidshaman
کسی می تونه توضیح بده کاربرد اعداد مختلط چیه اصلا؟!
مهمترین کاربردش حل معادلات دیفرانسیلی و ... هست البته مهمتر از اونا کسب نمره در امتحانه :لبخند:
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
amin32
البته فکر میکنم در زمینه طراحی کامپایلر , آشنایی با زبانهای مستقل از متن و در کل نظریه زبانها و ماشینها از همه موارد مهمتر هست. یک نگاهی به این تاپیک بندازید بد نیست:
https://barnamenevis.org/showthread.p...سی-جدید
اینجا بنده و IamOverlord عزیز خیلی تلاش کردیم تا دوستان دیگری رو که با این موارد آشنا هستن دعوت کنیم تا در پروژه سهیم باشن ولی ظاهرا کسی نبود و بنده مجبور شدم تقریبا به تنهایی پیاده سازی پروژه رو پیش ببرم که واقعا غیر ممکن بود. لطفا دوستان واضح مشخص کنن که آیا با این موارد آشنایی دارن؟
خب مسلماً الان بچه ها تعدادشون بیشتره ... مثلا آقای عشایری هم از مسائلی که گفتید سر در میاره ...
فکر کنم بهروز هم بلد باشه ... ولی بنده اطلاعات زیادی ندارم ...
با همین تعداد هم میشه پیش رفت ... کم کم افرادی بهمون اضافه میشن .. مث همین الان!
یا علی
-
نقل قول: یا بی خیال VB6 بشید یا ...
شاید نتونیم تو این زمینه مثل خیلی ها کد نویسی حرفه ای نداشته باشیم اما لاقل چند تا ذهن بهتر از یک ذهن کار می کنه ایده و ... در نوشتن کد های راحت تر میتونیم کمک حال باشیم . ما می توانیم
-
نقل قول: یا بی خیال VB6 بشید یا ...
این سایت هم برای شروع بد نیست
http://compilers.iecc.com/crenshaw/
به صورت پاسکل و دلفی کد هاشو نوشته اما تغییر دادنش و مفهومش سخت نیست
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
darknes666
دوست عزیز بازم قصد موج منفی ندارم.
ولی اعداد Hyper Complex به قدری پیچیده هستن که توی کل ایران فقط تو دبیرستان انرژی اتمی اونم بخش کوچیکش تدریس میشه.
اونوقت شما پشتیبانی ازش ایجاد میکنی که چه سودی داشته باشه؟
قصد نداری ولی میکنی:لبخندساده:
اتفاقا به نظرم اگه از این موارد پشتیبانی کنه خیلی خوب میشه.
اگه قرار باشه این زبان مثل زبان های دیگه باشه طرفدار آنچنانی پیدا نمیکنه. به نظرم باید چیزی داشته باشه که برنامه نویس ها رو جذب کنه.
مثلا regx که وی بی تقریبا نداره(یه عملگر like هست اونم که...)بعد تو مباحث کلاس باید از وی بی برتر باشه و مباحثی مثل extends,implements,abstract رو پشتیبانی کنه.
مواردی زیادی وجود داره ولی بحث کردن در مورد اینا یکم زوده.
-
نقل قول: یا بی خیال VB6 بشید یا ...
آره منم با محسن موافقم ... الان شما بخوای یه پروژه با VB6 بنویسی ممکنه بعضی جا ها کم بیاره ... ولی مثلا دلفی خیلی بهتره و احتمال این که کم بیاری به مراتب خیلی کمتر هستش...
به همین خاطره که میگم شکل کلی سینتکس می تونه شبیه VB6 باشه ... ولی کلمات کلیدی ... امکانات و... میتونن یه چیزی حداقل در حد دلفی باشن ...
---------
من به یه نفر از دوستانی هم که توی همین سایت می شناختم پیام دادم .. امیدوارم باهامون همکاری کنن...
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
محسن 15
قصد نداری ولی میکنی:لبخندساده:
اتفاقا به نظرم اگه از این موارد پشتیبانی کنه خیلی خوب میشه.
اگه قرار باشه این زبان مثل زبان های دیگه باشه طرفدار آنچنانی پیدا نمیکنه. به نظرم باید چیزی داشته باشه که برنامه نویس ها رو جذب کنه.
مثلا regx که وی بی تقریبا نداره(یه عملگر like هست اونم که...)بعد تو مباحث کلاس باید از وی بی برتر باشه و مباحثی مثل extends,implements,abstract رو پشتیبانی کنه.
مواردی زیادی وجود داره ولی بحث کردن در مورد اینا یکم زوده.
خیلی موارد دیگه هست که میتونین اونا رو بهبود ببخشین به جای این که این کار رو کنین.
اونقدر زیاد که اگر بتونین همشو بهبود ببخشین دیگه حرفی برای زدن دارین.
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
darknes666
خیلی موارد دیگه هست کی میتونین اونا رو بهبود ببخشین به جای این که این کار رو کنین.
اونقدر زیاد که اگر بتونین همشو بهبود ببخشین دیگه حرفی برای زدن دارین.
مثلا ؟http://freesmile.ir/smiles/600020_sc...one-s_head.gif
-
نقل قول: یا بی خیال VB6 بشید یا ...
اضافه کردن inline assembly
-
نقل قول: یا بی خیال VB6 بشید یا ...
الان خلاصه چی شد؟ با نظرات پراکنده دوستان که نمیشه روی کسی حساب کرد و پروژه رو شروع کرد. از روزی هم که تاپیک دوباره بالا اومده همش داره در مورد توجیه انجام این کار بحث میشه و به غیر از چند کار گرافیکی عالی جناب Mohammad Salehi ( که خیلی مهمه ولی مربوط میشه به مراحل نهایی کار ) کسی پروژه رو استارت نمیزنه. مطمئن باشید یک چنین تاپیک شلوغی به نتیجه نمیرسه. من یک پیشنهاد دارم. یک تاپیک جدید زده بشه در بخش open source و در اون افرادی که مایل هستند به طور جدی در پروژه شرکت کنن , اعلام آمادگی کنن و تخصص خودشون رو در هر کدوم از بخشهای مورد نیاز مشخص کنند. یعنی:
1- نظریه زبانها و ماشینها
2- فازهای کامپایلر
3- زبان اسمبلی برای backend
4- زبانی که کامپایلر قراره با اون نوشته بشه ( که ظاهرا vb6 هست )
بخش گرافیک هم که فکر میکنم Mohammad Salehi عزیز کافی باشه.
اینجوری اگه به اندازه کافی افراد فعال رو دور هم جمع کنیم, میتونیم با خیال راحت یک یا علی بگیم و پروژه رو استارت بزنیم.
البته یک مشکل دیگه ای هم هست , اینکه هنوز ماهیت زبان مشخص نیست تاپیک به عنوان توسعه vb ایجاد شده. بعضی از دوستان میگن قراره یک زبان جدید ایجاد بشه. بعضی میگن شبیه به vb باشه. البته این رو بدونید که ایجاد یک زبان جدید با syntax منحصر به فرد , اونقدر که فکر میکنید آسون نیست و کلی وقت میبره. مخصوصا اگه بخوایم استاندارد باشه.خلاصه این رو بدونید تا زیر و بم زبان رو مشخص نکنیم , کامپایلری هم وجود نداره و بهتره هر چه زودتر تکلیفش مشخص بشه. البته با مشورت همگی.
اینها فقط پیشنهاد بود ولی فکر نمیکنم غیر منطقی باشه!
-
نقل قول: یا بی خیال VB6 بشید یا ...
در مورد تاپیک من این کار رو انجام دادم ... ولی تاپیک های اون بخش نیاز به تائید مدیر داره ... ظاهرا هنوز مدیر تائیدش نکرده ... حالا به آقای کرامتی پیام دادم ... ببینم تائید میکنه ...
اگه تائید کرد دیگه اینجا فعالیت نمی کنیم ... یه لینک میزاریم اینجا و تاپیک رو قفل می کنیم ...
توی اون تاپیک هم فقط بحث تخصصی و تبادل اطلاعات هستش ...
نقل قول:
4- زبانی که کامپایلر قراره با اون نوشته بشه ( که ظاهرا vb6 هست )
به احتمال زیاد VB6 نیست ...
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
Mohammad Salehi
در مورد تاپیک من این کار رو انجام دادم ... ولی تاپیک های اون بخش نیاز به تائید مدیر داره ... ظاهرا هنوز مدیر تائیدش کرده ... حالا به آقای کرامتی پیام دادم ... ببینم تائید میکنه ...
اگه تائید کرد دیگه اینجا فعالیت نمی کنیم ... یه لینک میزاریم اینجا و تاپیک رو قفل می کنیم ...
توی اون تاپیک هم فقط بحث تخخصی و تبادل اطلاعات هستش ...
به احتمال زیاد VB6 نیست ...
پس به نظرم در ابتدای تاپیک بنویسید که "از دادن نظرات منفی از جمله : چرخ رو دوباره اختراع نکنید - این کار ایرانیها نیست و..... اکیدا خودداری فرمایید."
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
amin32
پس به نظرم در ابتدای تاپیک بنویسید که "از دادن نظرات منفی از جمله : چرخ رو دوباره اختراع نکنید - این کار ایرانیها نیست و..... اکیدا خودداری فرمایید."
بله اون رو که حتما می نویسم ...
یه سری موارد دیگه هم هست ...
مثلا افرادی که به صورت رسمی توی پروژه همکاری میکنن ..
وضعیت پروژه ( که تا کجا پیش رفته و چیا طراحی و تکمیل شدند )
لینک های مفیدی که بین کاربران رد و بدل میشه ...
و...
-
نقل قول: یا بی خیال VB6 بشید یا ...
من یه Document Archive دارم ... توش یه سرچی کردم و مقالاتی که به درد میخوردن رو جدا کردم ...
می تونید دانلود کنید :
http://mssdh.xzn.ir/Programming%20Languages.zip
9.16 MB
یکیشون برای افرادی که چیزی از طراحی کامپایلر سر در نمیارن خیلی خوبه ... قشنگ توضیح داده
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام دوستان!
در مورد اون عملگرها:
همون طور که می دونید اول می گیم جمع... بعد می رسیم به ضرب... و بعد توان...
خوب ضرب ساده تر نوشتن یه همچین چیزیه: a+a+...+a
...و توان ساده تر نوشتن یه همچین چیزی: a*a*...*a
خوب تا حالا به این فکر کرده بودید که آیا ریاضی دان ها به بعد از این فکر کردن یا نه؟! خوب نمی دونم شاید بگید بی کاریه!... حداقل برای من که مسئله ی جالبیه...
مثلا تویه زبان Fortran از ** برای توان استفاده می شه... ما هم می تونیم از همین ایده استفاده کنیم و عملگر جدیدمون رو به صورت ^^ نمایش بدیم...
a^^7=a^a^a^a^a^a^a
توجه کنید که اولویت توان از آخر به اول هست یعنی از راست به چپ... وگرنه اگه از اول به آخر توان ها رو حساب می کردیم که اصلا نیازی به تعریف عملگر جدید نبود و می شد این رو به عنوان معادلش رو نوشت: a^a^6
خوب به این ^^ که گفتم می گن Tetration یا Hyper4... و خیلی سریع رشد می کنه... مثلا 3^3 کجا و 3^^3 کجا...!
بعد از این هم با همین روشی که گفتم عملگر جدید پیدا می شه...
به Hyper0 هم فکر کنید! ++C رو یادتون هست؟
اصلا قبل از Hyper0 چیزی هست؟
می شه برای رسم فراکتال ها هم ازشون استفاده کرد...
ضمنا همون طور که منها مخالف جمع هست و تقسیم مخالف ضرب، اینا هم عملگر مخالف دارن... البته همون طور که برای توان، هم root داریم هم logarithm برای اینا هم دو تا داریم: super-root و super-logarithm...
مسائل جالبیه اگه دقت کنید...
در مورد اون اعداد:
به طور خلاصه یه عددی تعریف می شه که با نماد i نشون داده می شه و فرض می شه که اگه این عدد ضرب در خودش بشه، حاصل بشه منفی یک: i^2=-1
در حالت کلی اعداد مختلط به این شکل نشون داده می شن: a+i*b که a و b دو عدد حقیقی دلخواه هست...
که اتفاقا خیلی هم کاربرد دارن این اعداد مختلط...
حالا نکته ی جالبی که هست اینه که شما می تونی جذر هر عدد منفی ای رو حساب کنی! با یه تعریف ساده و جمع و جور...
حتی شما می تونی logarithm اعداد منفی رو هم حساب کنی! که این برای من بسیار جالب بود...
حوزه ی اعداد طبیعی نسبت به جمع بسته است، یعنی شما هر دو تا عدد طبیعی رو که جمع کنی حاصلش عدد طبیعی می شه... اما نسبت به تفریق بسته نیست...
ولی اعداد صحیح، هم نسبت به جمع بسته هستن هم نسبت به تفریق... اعداد صحیح نسبت به ضرب هم بسته هستن، اما نسبت به تقسیم دیگه بسته نیستن...
ولی اعداد گویا هم نسبت به جمع و تفریق بسته هستن هم نسبت به ضرب و تقسیم بسته هستن البته به شرطی که کاری که می کنیم تعریف شده باشه... منظورم همین تقسیم بر صفر هست...
ولی اعداد گویا نسبت به توان و رادیکال و لگاریتم بسته نیستن...
اما حوزه ی اعداد مختلط نسبت به همه ی اینایی که گفتم بسته هست! یعنی شما می خوای جمع بزن، لگاریتم بگیر، حتی سینوس و کسینوس رو حساب کن، ریشه ی یه عدد مختلط رو به فرجه ی یه عدد مختلط دیگه حساب کن،... حاصل عدد مختلط می مونه!
اما سوال جالب اینه که آیا حوزه ای بالا تر از اعداد مختلط هست؟ بله... و اتفاقا کاربرد هم دارن تو علم...
For this reason, quaternions are used in computer graphics,[11] computer vision, robotics, control theory, signal processing, attitude control, physics, bioinformatics, molecular dynamics, computer simulations, and orbital mechanics.
Quaternion ها که چهارتایی هستن: a+b*i+c*j+d*k که i، j، k اجزاء موهومی هستن...
Octonion ها که هشت تایی هستن: a+b*e1+c*e2+d*e3+e*e4+f*e5+g*e6+h*e7
Sedenion ها که شانزده تایی هستن...
و خواص جالبی هم دارن! مثلا در Quaternion ها شما دیگه نمی تونی بگی لزوما a*b با b*a برابر هست...!
به ترتیب هر چی می ری جلوتر یه سری خاصیت از بین می ره... جالبه بدونید در حوزه ی Sedenion ها ممکنه دو عدد غیر صفر، حاصل ضربشون صفر بشه!
...
پشتیبانی داخلی از این چیزایی که گفتم جالبه... ضمن این که گفتم اینا کاربرد هم دارن...