You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: load.textile
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -638,7 +638,7 @@ can be open, but in fact during the loading process other functions
638
638
like for example `rb_find_file_ext()` also do checks using `open`. How
639
639
many times is `open()` called in the whole process?
640
640
641
-
If you're wondering that, it's just a matter of having the right program available to count and see. You can easily find out using a system call tracer. On Linux, the tool to use would be `strace`; on Solaris, `truss`; or on BSD, `ktrace` or `truss`.
641
+
If you're wondering that, it's just a matter of having the right program available to count and see. You can easily find out using a system call tracer. On Linux, the tool to use would be `strace`; on Solaris, `truss`; or on BSD, `ktrace` or `truss`.
642
642
643
643
というように
644
644
OSによって名前がてんでバラバラなのだが、Googleで検索すればすぐ見付かる
@@ -796,9 +796,9 @@ By the way, what is `gcc` actually doing here? Usually we just say is "compiles"
796
796
797
797
h3. 真にダイナミックなリンク
798
798
799
-
And finally we get into our main topic. The "dynamic" in "dynamic linking" naturally means it "occurs at execution time", but what people usually refer to as "dynamic linking" is pretty much decided already at compile time. For example, the names of the needed functions, and which library they can be found in, are already known. For instance, if you need `cos()`, you know it's in `libm`, so you use `gcc -lm`. If you didn't specify the correct library at compile time, you'd get a link error.
799
+
And finally we get into our main topic. The "dynamic" in "dynamic linking" naturally means it "occurs at execution time", but what people usually refer to as "dynamic linking" is pretty much decided already at compile time. For example, the names of the needed functions, and which library they can be found in, are already known. For instance, if you need `cos()`, you know it's in `libm`, so you use `gcc -lm`. If you didn't specify the correct library at compile time, you'd get a link error.
800
800
801
-
But extension libraries are different. Neither the names of the needed functions, or the name of the library which defines them are known at compile time.
801
+
But extension libraries are different. Neither the names of the needed functions, or the name of the library which defines them are known at compile time.
Copy file name to clipboardExpand all lines: parser.textile
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -345,7 +345,7 @@ Syntax OK
345
345
346
346
Strange, it worked! What actually happens is this: consecutive newlines are simply discarded by the scanner, which returns only the first newline in a series.
347
347
348
-
By the way, although we said that `program` is the same as `compstmt`, if that was really true, you would question why `compstmt` exists at all. Actually, the distinction is there only for execution of semantic actions. `program` exists to execute any semantic actions which should be done once in the processing of an entire program. If it was only a question of parsing, `program` could be omitted with no problems at all.
348
+
By the way, although we said that `program` is the same as `compstmt`, if that was really true, you would question why `compstmt` exists at all. Actually, the distinction is there only for execution of semantic actions. `program` exists to execute any semantic actions which should be done once in the processing of an entire program. If it was only a question of parsing, `program` could be omitted with no problems at all.
349
349
350
350
To generalize this point, the grammar rules can be divided into 2 groups: those which are needed for parsing the program structure, and those which are needed for execution of semantic actions. The `none` rule which was mentioned earlier when talking about `stmts` is another one which exists for executing actions -- it's used to return a `NULL` pointer for an empty list of type `NODE*`.
Copy file name to clipboardExpand all lines: preface.textile
+35-35Lines changed: 35 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -33,7 +33,7 @@ included to help understand the topics.
33
33
The main themes of this book are the first and the second point above. Though,
34
34
what I want to emphasize the most is the third one: To acquire skill in reading
35
35
source code. I dare to say it's a "hidden" theme. I will explain why we need
36
-
this.
36
+
this.
37
37
38
38
39
39
It is often said "To be a skilled programmer, you should read source code
@@ -56,14 +56,14 @@ source code. When I started writing this book, I had some experience with the
56
56
Ruby language, but I did not fully understand the inner structure of the @ruby@
57
57
implementation. In other words, this book begins exploring @ruby@ from the same
58
58
starting place as the reader. This book is the summary of the process and
59
-
results of my code analysis from that point.
59
+
results of my code analysis from that point.
60
60
61
61
62
62
I asked Yukihiro Matsumoto, the author of @ruby@, for supervision. But I
63
63
thought the spirit of this book would be lost if each analysis was monitored by
64
64
the author of the language himself. Therefore I limited his review to the final
65
65
stage of writing. In this way, I tried to assure the correctness of the
66
-
contents, keeping the goal of reading code alive at the same time.
66
+
contents, keeping the goal of reading code alive at the same time.
67
67
68
68
To be honest, this book is not easy. In the very least, it is limited in its
69
69
simplicity by the inherent complexity of its aim. However, this complexity may
@@ -73,24 +73,24 @@ that you know the answer to in a heartbeat? How about a suspense novel whose
73
73
criminal you can guess halfway through? If you really want to come to new
74
74
knowledge, you need to solve a problem engaging all your capacities. This is
75
75
the book that lets you practice such idealism exhaustively. "I think,
76
-
therefore it's fun!" Everybody who finds it fun gives pleasure to the author.
76
+
therefore it's fun!" Everybody who finds it fun gives pleasure to the author.
77
77
78
78
h2. Target audience
79
79
80
80
Firstly, knowledge about the Ruby language isn't required. However, since the
81
81
knowledge of the Ruby language is absolutely necessary to understand certain
82
82
explanations of its structure, supplementary explanations of the language are
83
-
inserted here and there.
83
+
inserted here and there.
84
84
85
85
86
86
Knowledge about the C language is required, to some extent. I assume you have
87
87
experience calling @malloc()@ to assign a list or stack, and have used function
88
-
pointer at least a few times.
88
+
pointer at least a few times.
89
89
90
90
91
91
This book doesn't provide a proper introduction to an object-oriented language.
92
92
You will have a difficult time if you don't know the basics of at least one
93
-
object-oriented language. Furthermore, some examples are given in Java and C++.
93
+
object-oriented language. Furthermore, some examples are given in Java and C++.
94
94
95
95
h2. Structure of this book
96
96
@@ -157,7 +157,7 @@ for confirmation of compiling and testing the basic operation. The details of
157
157
this build test are given in @ doc/buildtest.html@ in the attached CD-ROM.
158
158
However, it doesn't necessarily assume the probability of the execution even
159
159
under the same environment listed in the table. The author doesn't guarantee
160
-
in any form the execution of @ruby@.
160
+
in any form the execution of @ruby@.
161
161
162
162
163
163
BeOS 5 Personal Edition/i386
@@ -192,9 +192,9 @@ Windows XP (Visual C++.NET, MinGW+Cygwin)
192
192
193
193
These numerous tests aren't of a lone effort by the author. Those test build
194
194
couldn't be achieved without magnificent cooperations by the people listed
195
-
below.
195
+
below.
196
196
197
-
I'd like to extend warmest thanks from my heart.
197
+
I'd like to extend warmest thanks from my heart.
198
198
199
199
200
200
Tietew
@@ -222,7 +222,7 @@ please be advised to contact the author by e-mail: @aamine@loveruby.net@.
222
222
223
223
h2. Web site
224
224
225
-
The web site for this book is @http://i.loveruby.net/ja/rhg/@.
225
+
The web site for this book is @http://i.loveruby.net/ja/rhg/@.
226
226
I will add information about related programs and additional documentation, as
227
227
well as errata. In addition, I'm going to publisize the first few chapters of
228
228
this book at the same time of the release. I will look for a certain
@@ -237,57 +237,57 @@ willingly approved me to publish a book about analyzing @ruby@, but also he
237
237
agreed to supervise the content of it. In addition, he helped my stay in
238
238
Florida with simultaneous translation. There are plenty of things beyond
239
239
enumeration I have to say thanks to him. Instead of writing all the things, I
240
-
give this book to him.
240
+
give this book to him.
241
241
242
242
243
243
Next, I would like to thank arton, who proposed me to publish this book. The
244
244
words of arton always moves me. One of the things I'm currently struggled due
245
-
to his words is that I have no reason I don't get a .NET machine.
245
+
to his words is that I have no reason I don't get a .NET machine.
246
246
247
247
248
248
Koji Arai, the 'captain' of documentation in the Ruby society, conducted a
249
249
scrutiny review as if he became the official editor of this book while I was
250
-
not told so. I thank all his review.
250
+
not told so. I thank all his review.
251
251
252
252
253
253
Also I'd like to mention those who gave me comments, pointed out mistakes and
254
254
submitted proposals about the construction of the book throughout all my work.
255
255
256
-
Tietew,
257
-
Yuya,
258
-
Kawaji,
259
-
Gotoken,
260
-
Tamura,
261
-
Funaba,
262
-
Morikyu,
263
-
Ishizuka,
264
-
Shimomura,
265
-
Kubo,
266
-
Sukeda,
267
-
Nishiyama,
268
-
Fujimoto,
269
-
Yanagawa,
270
-
(I'm sorry if there's any people missing),
271
-
I thank all those people contributed.
256
+
Tietew,
257
+
Yuya,
258
+
Kawaji,
259
+
Gotoken,
260
+
Tamura,
261
+
Funaba,
262
+
Morikyu,
263
+
Ishizuka,
264
+
Shimomura,
265
+
Kubo,
266
+
Sukeda,
267
+
Nishiyama,
268
+
Fujimoto,
269
+
Yanagawa,
270
+
(I'm sorry if there's any people missing),
271
+
I thank all those people contributed.
272
272
273
273
274
274
As a final note, I thank Otsuka , Haruta, and Kanemitsu who you for arranging
275
275
everything despite my broke deadline as much as four times, and that the
276
-
manuscript exceeded 200 pages than originally planned.
276
+
manuscript exceeded 200 pages than originally planned.
277
277
278
278
279
279
I cannot expand the full list here to mention the name of all people
280
280
contributed to this book, but I say that I couldn't successfully publish this
281
281
book without such assistance. Let me take this place to express my
282
-
appreciation. Thank you very much.
282
+
appreciation. Thank you very much.
283
283
284
-
p(=right).
284
+
p(=right).
285
285
286
286
287
287
If you want to send remarks, suggestions and reports of typographcal errors,
288
-
please address to " <aamine@loveruby.net>":mailto:aamine@loveruby.net.
288
+
please address to " <aamine@loveruby.net>":mailto:aamine@loveruby.net.
289
289
290
290
291
291
""Rubyソースコード完全解説" can be reserved/ordered at ImpressDirect. ":http://direct.ips.co.jp/directsys/go_x_TempChoice.cfm?sh_id=EE0040&spm_id=1&GM_ID=1721"(Jump to the introduction page)":http://direct.ips.co.jp/directsys/go_x_TempChoice.cfm?sh_id=EE0040&spm_id=1&GM_ID=1721
292
292
293
-
Copyright (c) 2002-2004 Minero Aoki, All rights reserved.
293
+
Copyright (c) 2002-2004 Minero Aoki, All rights reserved.
0 commit comments