این کتاب پیاده سازی مفسر برای زبان های برنامه نویسی است. همچنین کتابی در مورد چگونگی طراحی زبانی است که ارزش پیادهسازی را داشته باشد. کتاب با مثالهای عملی و فراوان توضیح داده شده و مثل کتاب معروف dragon فقط تئوریطور نیست.
#interpreters #compiler #book #online #practical #design #interpreter
https://craftinginterpreters.com/contents.html
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
#interpreters #compiler #book #online #practical #design #interpreter
https://craftinginterpreters.com/contents.html
➖➖➖➖➖➖➖➖➖
🕊 @gopher_academy
👍3🐳1🍓1
🔵 عنوان مقاله
Building a Simple Stack-Based Virtual Machine in Go
🟢 خلاصه مقاله:
** این مقاله از Phakorn Kiong با یک نمونه عملی نشان میدهد چگونه در Go یک VM ساده مبتنی بر Stack بسازیم. هسته سیستم شامل bytecode، یک instruction pointer، یک stack برای دادهها و چند opcode پایه مثل PUSH، POP، ADD، SUB، MUL، DIV، PRINT و HALT است. اجرای برنامه بهصورت حلقه fetch–decode–execute انجام میشود؛ هر opcode خوانده میشود، عمل مربوط روی stack اجرا میگردد و IP جلو میرود. قالب bytecode ساده است و مقادیر یا بهصورت فوری یا از یک constant pool خوانده میشوند. برای پایداری، کنترل خطاهایی مثل stack underflow/overflow و division by zero در نظر گرفته شده است. نمونههایی مثل محاسبه و چاپ 2*(3+4) برای تست آورده میشود و میتوان یک assembler کوچک برای تولید bytecode اضافه کرد. مسیرهای توسعه شامل کنترل جریان (JMP/JZ)، مقایسهها (EQ/LT/GT)، متغیرها با LOAD/STORE، و توابع با CALL/RET است؛ همچنین ابزارهایی مانند tracer، disassembler، REPL و تستها پیشنهاد میشوند. هدف مقاله آموزشی است و “Here’s the code” کد کامل و خوانا را برای شروع و گسترش فراهم میکند.
#Go #Golang #VirtualMachine #StackVM #Bytecode #Interpreter #Compiler #SystemsProgramming
🟣لینک مقاله:
https://golangweekly.com/link/174423/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Building a Simple Stack-Based Virtual Machine in Go
🟢 خلاصه مقاله:
** این مقاله از Phakorn Kiong با یک نمونه عملی نشان میدهد چگونه در Go یک VM ساده مبتنی بر Stack بسازیم. هسته سیستم شامل bytecode، یک instruction pointer، یک stack برای دادهها و چند opcode پایه مثل PUSH، POP، ADD، SUB، MUL، DIV، PRINT و HALT است. اجرای برنامه بهصورت حلقه fetch–decode–execute انجام میشود؛ هر opcode خوانده میشود، عمل مربوط روی stack اجرا میگردد و IP جلو میرود. قالب bytecode ساده است و مقادیر یا بهصورت فوری یا از یک constant pool خوانده میشوند. برای پایداری، کنترل خطاهایی مثل stack underflow/overflow و division by zero در نظر گرفته شده است. نمونههایی مثل محاسبه و چاپ 2*(3+4) برای تست آورده میشود و میتوان یک assembler کوچک برای تولید bytecode اضافه کرد. مسیرهای توسعه شامل کنترل جریان (JMP/JZ)، مقایسهها (EQ/LT/GT)، متغیرها با LOAD/STORE، و توابع با CALL/RET است؛ همچنین ابزارهایی مانند tracer، disassembler، REPL و تستها پیشنهاد میشوند. هدف مقاله آموزشی است و “Here’s the code” کد کامل و خوانا را برای شروع و گسترش فراهم میکند.
#Go #Golang #VirtualMachine #StackVM #Bytecode #Interpreter #Compiler #SystemsProgramming
🟣لینک مقاله:
https://golangweekly.com/link/174423/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Phakorn
Building a Simple Virtual Machine | Breakpoint 🛑
Explore building a simple VM in Go using stack-based architecture. Learn the fundamentals of virtual machines through hands-on implementation.
❤1
🔵 عنوان مقاله
Scriggo: Template Engine and Go Embeddable Interpreter
🟢 خلاصه مقاله:
Scriggo یک موتور قالب و مفسر قابلجاسازی برای Go است که تجربهای مشابه ERB در Ruby/Rails را به اکوسیستم Go میآورد. با آن میتوانید منطق و عبارتهای Go را مستقیماً داخل قالبها قرار دهید و محتوای پویا بسازید.
ویژگی مهم Scriggo این است که قالبها بدون نیاز به کامپایل مجدد برنامه قابل تغییر و اعمال هستند؛ بنابراین چرخه آزمون و تغییر بسیار سریع میشود و میتوانید منطق ارائه و قوانین رندر را بهسرعت اصلاح کنید.
این ابزار بهصورت کتابخانه در برنامههای Go ادغام میشود و برای ساخت خروجیهای پویا مانند صفحات CMS، ایمیلها یا تولید محتوای مبتنی بر قالب مناسب است؛ ترکیبی از امکانات Go با تفسیر زماناجرا برای رسیدن سریعتر از ایده به خروجی.
#Go #Scriggo #TemplateEngine #Interpreter #ERB #RubyOnRails #Templating
🟣لینک مقاله:
https://golangweekly.com/link/177198/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Scriggo: Template Engine and Go Embeddable Interpreter
🟢 خلاصه مقاله:
Scriggo یک موتور قالب و مفسر قابلجاسازی برای Go است که تجربهای مشابه ERB در Ruby/Rails را به اکوسیستم Go میآورد. با آن میتوانید منطق و عبارتهای Go را مستقیماً داخل قالبها قرار دهید و محتوای پویا بسازید.
ویژگی مهم Scriggo این است که قالبها بدون نیاز به کامپایل مجدد برنامه قابل تغییر و اعمال هستند؛ بنابراین چرخه آزمون و تغییر بسیار سریع میشود و میتوانید منطق ارائه و قوانین رندر را بهسرعت اصلاح کنید.
این ابزار بهصورت کتابخانه در برنامههای Go ادغام میشود و برای ساخت خروجیهای پویا مانند صفحات CMS، ایمیلها یا تولید محتوای مبتنی بر قالب مناسب است؛ ترکیبی از امکانات Go با تفسیر زماناجرا برای رسیدن سریعتر از ایده به خروجی.
#Go #Scriggo #TemplateEngine #Interpreter #ERB #RubyOnRails #Templating
🟣لینک مقاله:
https://golangweekly.com/link/177198/web
➖➖➖➖➖➖➖➖
👑 @gopher_academy
Scriggo
The Go language template engine and embeddable interpreter
Scriggo is the world’s most powerful template engine and Go embeddable interpreter
❤2