Preface

In The Beginning

The Hackers Guide consists of three parts

  1. Ruby Program Structure - It's main components
  2. The language processing system in general
  3. Learning the technology which reads the source code

Ruby is a true Object Orientated Language. This document describes first the internal construction of the Ruby Language Interpreter. It is meant to help create a active development community. This book hopes to make the entire Ruby Language clear for developers.

In addition to knowing the Ruby processing system, also is presented general knowledge of Interpreter Construction, such as a scanner, and parser, and it's techniques of appraisal. This is not an exhaustive document on language processing of this type, but covers enough for the reader who does not know ruby fully.

A main theme of this book is this:
" In order to become skillful in the programming art, you should read the code of others"

As a programmer with almost thirty years experience, I have discovered some very neat paradims in Ruby code, that I have never seen before!

The Reader Should

First, knowledge of Ruby is not necessary. It will help of course.

Second. 'C' Language knowledge is necessary!

A foundation in Object Orientated Languages (Java/C++) will also be helpful.

Construction Of This Book

The principle parts of the this Book are as Follows:

  1. Object's
  2. Syntax Analysis
  3. Appraisal
  4. File Loading and Threads

1st Section Objects (Chapters 1-7)

Chap 1)	 Ruby Minimum - Basic Ruby Language Definition
chap 2)	 Structure of Ruby Objects
chap 3)	 Names - Name, Symbols, and Object ID Hash Tables
chap 4)	 Class and Module Definitions and Functions
chap 5)	 Garbage Collection (Formation and Release of Storage)
chap 6)	 Constants and Variables
chap 7)	 Ruby Data/Program Security 

2nd Section Syntax Analysis (Chapters 8-12)

chap 8)  Details of the Ruby Language
chap 9)  Introduction to Parsers and Scanners (YACC, etc)
chap 10) Construction of the Parser
chap 11) Description of the Scanner
chap 12) The Syntactic Tree

3rd Section Appraisal (Chapters 12-17)

chap 13) Evaluator - Outline of 4th Section
chap 14) Ruby Context and Stack
chap 15) Finding Methods and their Execution
chap 16) Handling Blocks (And their Context)
chap 17) Eval Functions

4th Section File Loading and Threads (Chapters 18 & 19)

chap 18) Loading Files (Require and Load)
chap 19) Threads


The original work is Copyright © 2002 - 2004 Minero AOKI.
Translated by Vincent ISAMBART
Translations and Additions by C.E. Thornton
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike2.5 License.