- Tapa blanda
- Usado

Librería: WeBuyBooks, Rossendale, LANCS, Reino UnidoWeBuyBooks
Vendedor de IberLibro desde 14 de noviembre de 2005
Condición: Usado - Bueno
EUR 8,68
Cantidad disponible: 1 disponible
Añadir al carritoDescripción del artículo del vendedor
Most items will be dispatched the same or the next working day. A copy that has been read, but is in excellent condition. Pages are intact and not marred by notes or highlighting. The spine remains undamaged.
N° de ref. del artículo rev4598428365
- Título
- Writing A Compiler In Go
- Autor
- Ball, Thorsten
- Editorial
- Thorsten Ball
- Año de publicación
- 2018
- Estado
- Very Good
- Encuadernación
- paperback
- Idioma
- inglés
- ISBN 10
- 398201610X
- ISBN 13
- 9783982016108
- Peso del artículo
- 520 gramos
This is the sequel to Writing An Interpreter In Go. We're picking up right where we left off and write a compiler and a virtual machine for Monkey.
Runnable and tested code front and center, built from the ground up, step by step — just like before. But this time, we're going to define bytecode, compile Monkey and execute it in our very own virtual machine. It's the next step in Monkey's evolution. It's the sequel to … a programming language.
Writing A Compiler In Go is the sequel to Writing An Interpreter In Go.
It starts right where the first one stopped, with a fully-working, fully-tested Monkey interpreter in hand, connecting both books seamlessly, ready to build a compiler and a virtual machine for Monkey. In this book, we use the codebase (included in the book!) from the first part and extend it. We take the lexer, the parser, the AST, the REPL and the object system and use them to build a new, faster implementation of Monkey, right next to the tree-walking evaluator we built in the first book.
The approach is unchanged, too. Working, tested code is the focus, we build everything from scratch, do baby steps, write tests firsts, use no 3rd-party-libraries and see and understand how all the pieces fit together.It's a continuation in prose and in code. Do you need to read the first part before this one? If you're okay with treating the code from the first book as black box, then no. But that's not what these books are about; they're about opening up black boxes, looking inside and shining a light. You'll have the best understanding of where we're going in this book, if you know where we started.
Learn how to write a compiler and a virtual machine
Our main goal in in this book is to evolve Monkey. We change its architecture and turn it into a bytecode compiler and virtual machine.We'll take the lexer, the parser, the AST and the object system we wrote in the first book and use them to build our own Monkey compiler and virtual machine … from scratch! We'll build them side-by-side so that we'll always have a running system we can steadily evolve.What we end up with is not only much closer to the programming languages we use every day, giving us a better understanding of how they work, but also 3x faster. And that's without explicitly aiming for performance.
Here's what we'll do:
- We define our own bytecode instructions, specifying their operands and their encoding. Along the way, we also build a mini-disassembler for them.
- We write a compiler that takes in a Monkey AST and turns it into bytecode by emitting instructions
- At the same time we build a stack-based virtual machine that executes the bytecode in its main loop
We also
- build a symbol table and a constant pool
- do stack arithmetic
- generate jump instructions
- build frames into our VM to execute functions with local bindings and arguments!
- add built-in functions to the VM
- get real closures working in the virtual machine and learn why closure-compilation is so tricky
“Sinopsis” puede pertenecer a otra edición de este título.
WeBuyBooks
Rossendale, LANCS, Reino Unido
Vendedor de IberLibro desde 14 de noviembre de 2005
Tarifas de envío de Reino Unido a Estados Unidos de America
| Artículo | De 5 a 10 días hábiles | De 5 a 10 días hábiles |
|---|---|---|
| Primer artículo | EUR 8,12 | EUR 8,12 |
Métodos de pago
Especialidad
General Secondhand BooksInformación empresarial del vendedor
Revival Books Ltd
Unit 11 Hugh Business Park, Bacup Road, Waterfoot
Rossendale, Reino Unido BB4 7BT
Condiciones de venta
WeBuyBooks
Hall Carr Mill
Fallbarn Road
Rawtenstall
Lancashire BB4 7NX
Email: Sales@webuybooks.co.uk
Tel: 01706 227207
Company Reg. No. 07693718
VAT Number 901 5786 27
Authorised Representatives: Michael Lane and Damian Carr
Derecho al desistimiento
Si es un consumidor, puede rescindir el contrato de acuerdo con lo siguiente. Por consumidor se entiende cualquier persona física que actúe con fines ajenos a su actividad comercial, empresarial, oficio o profesión.
Información sobre el derecho de desistimiento
Derecho legal de desistimiento
Tiene derecho a rescindir este contrato en un plazo de 14 días sin dar ningún motivo.
El periodo de desistimiento vencerá a los 14 días desde que usted, o un tercero que no sea el transportista e indicado por usted, adquiera la posesión física del último bien o del último lote o pieza.
Para ejercer el derecho de desistimiento, complete de forma electrónica y envíe una declaración clara en nuestro sitio web, desde "Mis compras" en "Mi cuenta". Le enviaremos sin demora un acuse de recibo de dicho desistimiento a través de un soporte duradero (por ejemplo, por correo electrónico).
Para cumplir con el plazo de desistimiento, basta con que envíe su comunicación relativa al ejercicio del derecho de desistimiento antes de que venza el periodo de desistimiento.
Efectos del desistimiento
Si rescinde este contrato, le reembolsaremos todos los pagos que hayamos recibido de usted, incluidos los gastos de envío (excepto los gastos adicionales que surjan si elige un tipo de envío que no sea el tipo de envío estándar más económico que ofrecemos).
Podemos hacer una deducción del reembolso por la pérdida de valor de cualquier bien suministrado, si la pérdida es el resultado de una manipulación innecesaria por su parte.
Efectuaremos el reembolso sin demoras indebidas y, a más tardar, 14 días después de que se nos informe de su decisión de rescindir este contrato.
Efectuaremos el reembolso utilizando el mismo medio de pago que utilizó para la transacción inicial, a menos que haya acordado expresamente lo contrario; en cualquier caso, no incurrirá en ningún cargo como resultado de dicho reembolso.
Podremos retener el reembolso hasta que hayamos recibido los bienes o hasta que nos haya presentado una prueba de que los ha devuelto, lo que ocurra primero.
Deberá devolver los bienes o entregarlos a WeBuyBooks, Rossendale, LANCS, United Kingdom, +44 01706227207, sin demoras indebidas y, en cualquier caso, en un plazo máximo de 14 días a partir del día en que nos comunique su desistimiento del presente contrato. El plazo se cumple si devuelve la mercancía antes de que venza el periodo de 14 días. Tendrá que asumir los gastos directos de devolución de los bienes. Usted solo es responsable de la disminución del valor de los bienes como resultado de una manipulación distinta a la necesaria para establecer la naturaleza, las características y el funcionamiento de los bienes.
Excepciones al derecho de desistimiento
El derecho de desistimiento no se aplica a lo siguiente:
- La entrega de periódicos, diarios o revistas, con la excepción de los contratos de suscripción; y
- El suministro de contenido digital que no se proporcione en un soporte tangible (por ejemplo, en un CD o DVD) si, al hacer el pedido, aceptó que podíamos empezar a entregarlo y que no podría desistir una vez iniciada la entrega.
Condiciones de envío
Shipping costs are based on books weighing 2.2 LB, or 1 KG. If your book order is heavy or oversized, we may contact you to let you know extra shipping is required.