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!
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.
The principle parts of the this Book are as Follows:
1. Object's 2. Syntax Analysis 3. Appraisal 4. File Loading and Threads
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
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
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
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
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike2.5 License.