You are on page 1of 12

Build Your Own Lisp

Daniel Holden

http://www.freetechbooks.com/build-your-own-lisp-t988.html

About The Author Daniel Holden

Daniel Holden is a PhD student at Edinburgh University. His research is in data driven tools for
character animation.
 Daniel Holden
 Homepage

 About Me

 My name is Daniel Holden. I'm a PhD student at Edinburgh University studying Graphics
& Animation and using Machine Learning to produce data-driven tools for animators. I
am a Programmer, Digital Artist, and Writer. My interests are Computer Graphics, Game
Development, Theory of Computation, and Programming Languages.

I am a jack-of-all-trades and I like to get my hands dirty with everything I can. I love learning
new things and engaging with new people or ideas. I believe strongly in creativity and self
expression through programming.

Eu sunt un jack-of-all-trades şi îmi place să-mi mana murdara cu tot ce pot. Îmi place de învăţare
lucruri noi şi angajarea cu oameni noi sau idei. Cred cu tărie în creativităţii şi exprimarea sinelui
prin programare.

 On the website I post about everything. From programming projects and publications to
short fiction and articles. I hope you'll enjoy it and find something that interests you.

 contact@theorangeduck.com

Learn C and build your own programming language in 1000 lines of code!

Tag(s): C / C++

Publication date: 22 Oct 2014

ISBN-10: 1501006622
ISBN-13: 9781501006623

Paperback: 212 pages

Views: 2,050

Type: N/A

Publisher: CreateSpace Independent Publishing Platform

License: n/a

Post time: 17 May 2016 11:00:00

http://www.bookaholic.ro/unde-gasim-carti-online-si-carti-electronice-gratuite.html

http://www.freetechbooks.com/build-your-own-lisp-t988.html

From the Book Description:


Daniel Holden wrote:
If you've ever wondered how to build your own programming language or wanted to learn C but
weren't sure where to start, this is the book for you. In under 1000 lines of code you’ll start
building your very own programming language, and in doing so learn how to program in C, one
of the world’s most important programming languages. Along the way we’ll learn about the
weird and wonderful nature of Lisps, the unique techniques behind function programming, the
methods used to concisely solve problems, and the art of writing beautiful code.
Microsoft® Translator
Dacă aţi întrebat vreodată cum de a construi propriul limbaj de programare sau a vrut să înveţe C, dar nu au fost
sigur de unde să încep, aceasta este cartea pentru tine. Sub 1000 linii de cod veţi începe construirea ta foarte
propriul limbaj de programare, şi în acest sens a învăţa cum să program în C, unul din lume cele mai importante
limbaje de programare. Pe drum ne veţi afla despre caracterul ciudat şi minunat al Lisps, tehnici unice în spatele
funcţia de programare, metodele de concis rezolva probleme, şi arta de a scrie codul de frumos

Build Your Own Lisp is a fun and creative journey through a fascinating area of computer
science, and an essential read for any programmer, new or old!

Build Your Own Lisp


Learn C and build your own programming language in 1000 lines of code!

If you're looking to learn C, or you've ever wondered how to build your own programming language, this
is the book for you. Microsoft® Translator
Dacă sunteţi în căutarea pentru a afla C sau v-aţi întrebat vreodată cum de a construi propriul limbaj de programare,
aceasta este cartea pentru tine.
In just a few lines of code, I'll teach you how to use C, and together, we'll start building your
very own language.

Microsoft® Translator
În doar câteva linii de cod, vă vom învăţa cum să folosească C, şi împreună, vom începe construirea limba ta foarte
proprii.

Along the way we'll learn about the weird and wonderful nature of Lisps, how to develop a real-
world project, concisely solve problems, and write beautiful code!

This book is free to read online, so you can get started right away! But for those who want to
show their support, or who want the best reading experience, this book is also available for
purchase in print format, or for cheap in all major e-book formats.

Aceasta carte este gratuit pentru a citi on-line, astfel încât puteţi începe imediat! Dar pentru cei
care doresc pentru a arăta sprijinul lor, sau care doresc cea mai bună experienţă de lectură,
această carte este, de asemenea, disponibile pentru achiziţionare în format de imprimare, sau
pentru ieftine în toate formatele majore de e-carte.

Ada Lovelace • Your typical brogrammer.


http://www.buildyourownlisp.com/contents

Contents • Build Your Own Lisp

-----------------------------------------------------------

Chapter 1 • Introduction

About

Who this is for

Why learn C

How to learn C

Why build a Lisp

Your own Lisp

-----------------------------------------------------------------

Chapter 2 • Installation

Setup

Text Editor

Compiler

Hello World

Compilation

Errors
Documentation

----------------------------------------------------------

Chapter 3 • Basics

Overview

Programs

Variables

Function Declarations

Structure Declarations

Pointers

Strings

Conditionals

Loops

-------------------------------------------------------------------

Chapter 4 • An Interactive Prompt

Read, Evaluate, Print

An Interactive Prompt

Compilation

Editing input

The C Preprocessor

----------------------------------------------------------------------
Chapter 5 • Languages

What is a Programming Language?

Parser Combinators

Coding Grammars

Natural Grammars

----------------------------------------------------------------------

Chapter 6 • Parsing

Polish Notation

Regular Expressions

Installing mpc

Polish Notation Grammar

Parsing User Input

-------------------------------------------------------------------------

Chapter 7 • Evaluation

Trees

Recursion

Evaluation

Printing

-------------------------------------------------------------------------

Chapter 8 • Error Handling


Crashes

Lisp Value

Enumerations

Lisp Value Functions

Evaluating Errors

Plumbing

--------------------------------------------------------------------

Chapter 9 • S-Expressions

Lists and Lisps

Pointers

The Stack & The Heap

Parsing Expressions

Expression Structure

Constructors & Destructors

Reading Expressions

Printing Expressions

Evaluating Expressions

-------------------------------------------------------------

Chapter 10 • Q-Expressions

Adding Features
Quoted Expressions

Reading Q-Expressions

Builtin Functions

First Attempt

Macros

Builtins Lookup

-------------------------------------------------------------------

Chapter 11 • Variables

Immutability

Symbol Syntax

Function Pointers

Cyclic Types

Function Type

Environment

Variable Evaluation

Builtins

Define Function

Error Reporting

----------------------------------------------------------------------------

Chapter 12 • Functions

What is a Function?
Function Type

Lambda Function

Parent Environment

Function Calling

Variable Arguments

Interesting Functions

----------------------------------------------------------------------------

Chapter 13 • Conditionals

Doing it yourself

Ordering

Equality

If Function

Recursive Functions

-------------------------------------------------------------------------------

Chapter 14 • Strings

Libraries

String Type

Reading Strings

Comments

Load Function

Command Line Arguments


Print Function

Error Function

Finishing Up

---------------------------------------------------------------------------

Chapter 15 • Standard Library

Minimalism

Atoms

Building Blocks

Logical Operators

Miscellaneous Functions

List Functions

Conditional Functions

Fibonacci

-----------------------------------------------------------------------

Chapter 16 • Bonus Projects

Only the Beginning

Native Types

User Defined Types

List Literal

Operating System Interaction

Macros
Variable Hashtable

Pool Allocation

Garbage Collection

Tail Call Optimisation

Lexical Scoping

Static Typing

Conclusion

Credits

FAQ

Source

Github

You might also like