From e1224052f8969ec7ebfb0a382368c91c1424242d Mon Sep 17 00:00:00 2001 From: Thomas Stephens Date: Thu, 5 Dec 2013 17:12:31 -0600 Subject: [PATCH 01/26] Fixing the first couple simple errors --- src/OEBPS/book.html | 2 +- src/OEBPS/content.opf | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/OEBPS/book.html b/src/OEBPS/book.html index 3ddf1d3..0bb5019 100644 --- a/src/OEBPS/book.html +++ b/src/OEBPS/book.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/content.opf b/src/OEBPS/content.opf index f11e4af..1bc77ac 100644 --- a/src/OEBPS/content.opf +++ b/src/OEBPS/content.opf @@ -6,7 +6,7 @@ Structure and Interpretation of Computer Programs Harold Abelson and Gerald Jay Sussman with Julie Sussman - 0-262-01153-0 + 0-262-01153-0 Creative Commons Attribution-Noncommercial 3.0 Unported License. en-US http://mitpress.mit.edu/sicp/full-text/book/book.html @@ -257,4 +257,4 @@ - \ No newline at end of file + From f07f24c377e965f51039a5ab7bdfc7da8d366820 Mon Sep 17 00:00:00 2001 From: Thomas Stephens Date: Thu, 5 Dec 2013 20:01:19 -0600 Subject: [PATCH 02/26] Don't add LaTeX source to epub file --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 7a2514e..d5174e2 100644 --- a/Makefile +++ b/Makefile @@ -25,7 +25,7 @@ NORMAL_MARK := $(BUILD_DIR)/normal.mark TEX_FILES := $(wildcard $(LATEX_DIR)/*.tex) SVG_FILES := $(patsubst %.tex,%.svg,$(subst $(LATEX_DIR),$(IMAGES_DIR),$(TEX_FILES))) GIF_FILES := $(patsubst %.tex,%.gif,$(subst $(LATEX_DIR),$(IMAGES_DIR),$(TEX_FILES))) -CONTENT := $(shell find src -type f -not -name .DS_Store) src/mimetype +CONTENT := $(shell find src -type f -not -name .DS_Store -not -name \*.tex -not -name \*.sty) src/mimetype XML := $(shell find src -type f -name \*html) From 7ce34ec223f189cde1d15aa51c2178dbaeba65ca Mon Sep 17 00:00:00 2001 From: Thomas Stephens Date: Thu, 5 Dec 2013 20:43:00 -0600 Subject: [PATCH 03/26] Removing all errors from book.html, including correcting reference to CSS --- src/OEBPS/book.html | 4 ++-- src/OEBPS/content.opf | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/OEBPS/book.html b/src/OEBPS/book.html index 0bb5019..2673f59 100644 --- a/src/OEBPS/book.html +++ b/src/OEBPS/book.html @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@ -
  
+
 cover 
diff --git a/src/OEBPS/content.opf b/src/OEBPS/content.opf index 1bc77ac..673d4b8 100644 --- a/src/OEBPS/content.opf +++ b/src/OEBPS/content.opf @@ -54,7 +54,7 @@ - + From 576e9651591055cc606bf6954e08f652592b8e95 Mon Sep 17 00:00:00 2001 From: Thomas Stephens Date: Thu, 5 Dec 2013 20:58:09 -0600 Subject: [PATCH 04/26] Fixing Content-Type http-equiv attributes --- src/OEBPS/book-Z-H-1.html | 2 +- src/OEBPS/book-Z-H-10.html | 2 +- src/OEBPS/book-Z-H-11.html | 2 +- src/OEBPS/book-Z-H-12.html | 2 +- src/OEBPS/book-Z-H-13.html | 2 +- src/OEBPS/book-Z-H-14.html | 2 +- src/OEBPS/book-Z-H-15.html | 2 +- src/OEBPS/book-Z-H-16.html | 2 +- src/OEBPS/book-Z-H-17.html | 2 +- src/OEBPS/book-Z-H-18.html | 2 +- src/OEBPS/book-Z-H-19.html | 2 +- src/OEBPS/book-Z-H-2.html | 2 +- src/OEBPS/book-Z-H-20.html | 2 +- src/OEBPS/book-Z-H-21.html | 2 +- src/OEBPS/book-Z-H-22.html | 2 +- src/OEBPS/book-Z-H-23.html | 2 +- src/OEBPS/book-Z-H-24.html | 2 +- src/OEBPS/book-Z-H-25.html | 2 +- src/OEBPS/book-Z-H-26.html | 2 +- src/OEBPS/book-Z-H-27.html | 2 +- src/OEBPS/book-Z-H-28.html | 2 +- src/OEBPS/book-Z-H-29.html | 2 +- src/OEBPS/book-Z-H-3.html | 2 +- src/OEBPS/book-Z-H-30.html | 2 +- src/OEBPS/book-Z-H-31.html | 2 +- src/OEBPS/book-Z-H-32.html | 2 +- src/OEBPS/book-Z-H-33.html | 2 +- src/OEBPS/book-Z-H-34.html | 2 +- src/OEBPS/book-Z-H-35.html | 2 +- src/OEBPS/book-Z-H-36.html | 2 +- src/OEBPS/book-Z-H-37.html | 2 +- src/OEBPS/book-Z-H-38.html | 2 +- src/OEBPS/book-Z-H-4.html | 2 +- src/OEBPS/book-Z-H-5.html | 2 +- src/OEBPS/book-Z-H-6.html | 2 +- src/OEBPS/book-Z-H-7.html | 2 +- src/OEBPS/book-Z-H-8.html | 2 +- src/OEBPS/book-Z-H-9.html | 2 +- src/OEBPS/book-Z-H-9a.html | 2 +- 39 files changed, 39 insertions(+), 39 deletions(-) diff --git a/src/OEBPS/book-Z-H-1.html b/src/OEBPS/book-Z-H-1.html index 5a9cf74..84cc744 100644 --- a/src/OEBPS/book-Z-H-1.html +++ b/src/OEBPS/book-Z-H-1.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-10.html b/src/OEBPS/book-Z-H-10.html index 5aefee3..2085670 100644 --- a/src/OEBPS/book-Z-H-10.html +++ b/src/OEBPS/book-Z-H-10.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-11.html b/src/OEBPS/book-Z-H-11.html index e370191..a197685 100644 --- a/src/OEBPS/book-Z-H-11.html +++ b/src/OEBPS/book-Z-H-11.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-12.html b/src/OEBPS/book-Z-H-12.html index 0d3c22e..531978b 100644 --- a/src/OEBPS/book-Z-H-12.html +++ b/src/OEBPS/book-Z-H-12.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-13.html b/src/OEBPS/book-Z-H-13.html index e8bdafb..115f7d6 100644 --- a/src/OEBPS/book-Z-H-13.html +++ b/src/OEBPS/book-Z-H-13.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-14.html b/src/OEBPS/book-Z-H-14.html index da2d53b..0744e1e 100644 --- a/src/OEBPS/book-Z-H-14.html +++ b/src/OEBPS/book-Z-H-14.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-15.html b/src/OEBPS/book-Z-H-15.html index 8d25020..7d8a8c0 100644 --- a/src/OEBPS/book-Z-H-15.html +++ b/src/OEBPS/book-Z-H-15.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-16.html b/src/OEBPS/book-Z-H-16.html index 89cca5c..6278251 100644 --- a/src/OEBPS/book-Z-H-16.html +++ b/src/OEBPS/book-Z-H-16.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-17.html b/src/OEBPS/book-Z-H-17.html index 3d6d067..8934b3f 100644 --- a/src/OEBPS/book-Z-H-17.html +++ b/src/OEBPS/book-Z-H-17.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-18.html b/src/OEBPS/book-Z-H-18.html index 9f9931c..c7abcbb 100644 --- a/src/OEBPS/book-Z-H-18.html +++ b/src/OEBPS/book-Z-H-18.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-19.html b/src/OEBPS/book-Z-H-19.html index 67eedc7..0cac08d 100644 --- a/src/OEBPS/book-Z-H-19.html +++ b/src/OEBPS/book-Z-H-19.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-2.html b/src/OEBPS/book-Z-H-2.html index 1979fbe..996c9fe 100644 --- a/src/OEBPS/book-Z-H-2.html +++ b/src/OEBPS/book-Z-H-2.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-20.html b/src/OEBPS/book-Z-H-20.html index 04b2f85..4fab08f 100644 --- a/src/OEBPS/book-Z-H-20.html +++ b/src/OEBPS/book-Z-H-20.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-21.html b/src/OEBPS/book-Z-H-21.html index b4771c8..0251a09 100644 --- a/src/OEBPS/book-Z-H-21.html +++ b/src/OEBPS/book-Z-H-21.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-22.html b/src/OEBPS/book-Z-H-22.html index bdb4325..99c56aa 100644 --- a/src/OEBPS/book-Z-H-22.html +++ b/src/OEBPS/book-Z-H-22.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-23.html b/src/OEBPS/book-Z-H-23.html index b1682be..f02b680 100644 --- a/src/OEBPS/book-Z-H-23.html +++ b/src/OEBPS/book-Z-H-23.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-24.html b/src/OEBPS/book-Z-H-24.html index dbccd1b..8de20f0 100644 --- a/src/OEBPS/book-Z-H-24.html +++ b/src/OEBPS/book-Z-H-24.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-25.html b/src/OEBPS/book-Z-H-25.html index e7c77f0..1610752 100644 --- a/src/OEBPS/book-Z-H-25.html +++ b/src/OEBPS/book-Z-H-25.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-26.html b/src/OEBPS/book-Z-H-26.html index 58b113c..2f2a030 100644 --- a/src/OEBPS/book-Z-H-26.html +++ b/src/OEBPS/book-Z-H-26.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-27.html b/src/OEBPS/book-Z-H-27.html index d893585..c92ee12 100644 --- a/src/OEBPS/book-Z-H-27.html +++ b/src/OEBPS/book-Z-H-27.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-28.html b/src/OEBPS/book-Z-H-28.html index df38aac..8bac8be 100644 --- a/src/OEBPS/book-Z-H-28.html +++ b/src/OEBPS/book-Z-H-28.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-29.html b/src/OEBPS/book-Z-H-29.html index d5d7fb5..14bb4ee 100644 --- a/src/OEBPS/book-Z-H-29.html +++ b/src/OEBPS/book-Z-H-29.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-3.html b/src/OEBPS/book-Z-H-3.html index 4f83bc1..9d58739 100644 --- a/src/OEBPS/book-Z-H-3.html +++ b/src/OEBPS/book-Z-H-3.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-30.html b/src/OEBPS/book-Z-H-30.html index 4593ee0..f9eebca 100644 --- a/src/OEBPS/book-Z-H-30.html +++ b/src/OEBPS/book-Z-H-30.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-31.html b/src/OEBPS/book-Z-H-31.html index b1c4cd5..1760f9b 100644 --- a/src/OEBPS/book-Z-H-31.html +++ b/src/OEBPS/book-Z-H-31.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-32.html b/src/OEBPS/book-Z-H-32.html index c40cd44..5fec0e7 100644 --- a/src/OEBPS/book-Z-H-32.html +++ b/src/OEBPS/book-Z-H-32.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-33.html b/src/OEBPS/book-Z-H-33.html index 691638b..59ecf1d 100644 --- a/src/OEBPS/book-Z-H-33.html +++ b/src/OEBPS/book-Z-H-33.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-34.html b/src/OEBPS/book-Z-H-34.html index a2e8d1a..7150785 100644 --- a/src/OEBPS/book-Z-H-34.html +++ b/src/OEBPS/book-Z-H-34.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-35.html b/src/OEBPS/book-Z-H-35.html index d37c8cb..2d4cc82 100644 --- a/src/OEBPS/book-Z-H-35.html +++ b/src/OEBPS/book-Z-H-35.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-36.html b/src/OEBPS/book-Z-H-36.html index caf89f0..2bc9f31 100644 --- a/src/OEBPS/book-Z-H-36.html +++ b/src/OEBPS/book-Z-H-36.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-37.html b/src/OEBPS/book-Z-H-37.html index 18b5839..125d145 100644 --- a/src/OEBPS/book-Z-H-37.html +++ b/src/OEBPS/book-Z-H-37.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-38.html b/src/OEBPS/book-Z-H-38.html index 1163670..3dcc25b 100644 --- a/src/OEBPS/book-Z-H-38.html +++ b/src/OEBPS/book-Z-H-38.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-4.html b/src/OEBPS/book-Z-H-4.html index d4f738c..ff648ea 100644 --- a/src/OEBPS/book-Z-H-4.html +++ b/src/OEBPS/book-Z-H-4.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-5.html b/src/OEBPS/book-Z-H-5.html index 0624dba..1a9aad8 100644 --- a/src/OEBPS/book-Z-H-5.html +++ b/src/OEBPS/book-Z-H-5.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-6.html b/src/OEBPS/book-Z-H-6.html index c509e42..206a4e2 100644 --- a/src/OEBPS/book-Z-H-6.html +++ b/src/OEBPS/book-Z-H-6.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-7.html b/src/OEBPS/book-Z-H-7.html index fa35053..9ed8f4b 100644 --- a/src/OEBPS/book-Z-H-7.html +++ b/src/OEBPS/book-Z-H-7.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-8.html b/src/OEBPS/book-Z-H-8.html index 9a141a4..683d58c 100644 --- a/src/OEBPS/book-Z-H-8.html +++ b/src/OEBPS/book-Z-H-8.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-9.html b/src/OEBPS/book-Z-H-9.html index 4a91cfe..d567ea5 100644 --- a/src/OEBPS/book-Z-H-9.html +++ b/src/OEBPS/book-Z-H-9.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs diff --git a/src/OEBPS/book-Z-H-9a.html b/src/OEBPS/book-Z-H-9a.html index a43d554..3bb41f6 100644 --- a/src/OEBPS/book-Z-H-9a.html +++ b/src/OEBPS/book-Z-H-9a.html @@ -5,7 +5,7 @@ (c) Dorai Sitaram, http://www.cs.rice.edu/~dorai/tex2page --> - + Structure and Interpretation of Computer Programs From 1eb81a2030fee8682709f8056365012636d02568 Mon Sep 17 00:00:00 2001 From: Thomas Stephens Date: Thu, 5 Dec 2013 21:11:43 -0600 Subject: [PATCH 05/26] Replacing illegal align attributes with correct CSS styles --- src/OEBPS/book-Z-H-1.html | 2 +- src/OEBPS/book-Z-H-10.html | 20 +++++++------- src/OEBPS/book-Z-H-11.html | 10 +++---- src/OEBPS/book-Z-H-12.html | 22 ++++++++-------- src/OEBPS/book-Z-H-13.html | 2 +- src/OEBPS/book-Z-H-14.html | 22 ++++++++-------- src/OEBPS/book-Z-H-15.html | 50 +++++++++++++++++------------------ src/OEBPS/book-Z-H-16.html | 54 +++++++++++++++++++------------------- src/OEBPS/book-Z-H-17.html | 12 ++++----- src/OEBPS/book-Z-H-18.html | 14 +++++----- src/OEBPS/book-Z-H-19.html | 2 +- src/OEBPS/book-Z-H-2.html | 2 +- src/OEBPS/book-Z-H-21.html | 22 ++++++++-------- src/OEBPS/book-Z-H-22.html | 36 ++++++++++++------------- src/OEBPS/book-Z-H-23.html | 16 +++++------ src/OEBPS/book-Z-H-24.html | 54 +++++++++++++++++++------------------- src/OEBPS/book-Z-H-25.html | 2 +- src/OEBPS/book-Z-H-26.html | 6 ++--- src/OEBPS/book-Z-H-28.html | 2 +- src/OEBPS/book-Z-H-29.html | 14 +++++----- src/OEBPS/book-Z-H-30.html | 2 +- src/OEBPS/book-Z-H-31.html | 44 +++++++++++++++---------------- src/OEBPS/book-Z-H-32.html | 4 +-- src/OEBPS/book-Z-H-33.html | 4 +-- src/OEBPS/book-Z-H-34.html | 4 +-- src/OEBPS/book-Z-H-35.html | 18 ++++++------- src/OEBPS/book-Z-H-38.html | 2 +- 27 files changed, 221 insertions(+), 221 deletions(-) diff --git a/src/OEBPS/book-Z-H-1.html b/src/OEBPS/book-Z-H-1.html index 84cc744..ae33b40 100644 --- a/src/OEBPS/book-Z-H-1.html +++ b/src/OEBPS/book-Z-H-1.html @@ -13,7 +13,7 @@

Structure and Interpretation
of Computer Programs

-
second edition 
+
second edition 

Harold Abelson and Gerald Jay Sussman
with Julie Sussman 

diff --git a/src/OEBPS/book-Z-H-10.html b/src/OEBPS/book-Z-H-10.html index 2085670..8e03f43 100644 --- a/src/OEBPS/book-Z-H-10.html +++ b/src/OEBPS/book-Z-H-10.html @@ -237,7 +237,7 @@

1.1  The Elements of Programming upward” form of the evaluation rule is an example of a general kind of process known as tree accumulation.

-

Figure 1.1:  Tree representation, showing the value of each subcombination.
+

Figure 1.1:  Tree representation, showing the value of each subcombination.

@@ -528,7 +528,7 @@

1.1  The Elements of Programming or zero and taking different actions in the different cases according to the rule

-

+

This construct is called a case analysis, and there is a special form in Lisp for notating such a case @@ -675,7 +675,7 @@

1.1  The Elements of Programming

Exercise 1.2.  Translate the following expression into prefix form -

+

@@ -727,7 +727,7 @@

1.1  The Elements of Programming As a case in point, consider the problem of computing square roots. We can define the square-root function as -

+

This describes a perfectly legitimate mathematical function. We could use it to recognize whether one number is the square root of another, or @@ -757,10 +757,10 @@

1.1  The Elements of Programming x/y.21 For example, we can compute the square root of 2 as follows. Suppose our initial guess is 1:

-

Guess Quotient Average
  
1 (2/1) = 2 -((2 + 1)/2) = 1.5
  
1.5 (2/1.5) = 1.3333 -((1.3333 + 1.5)/2) = 1.4167
  
1.4167 (2/1.4167) = 1.4118 -((1.4167 + 1.4118)/2) = 1.4142
  
1.4142 ......

+

Guess Quotient Average
  
1 (2/1) = 2 +((2 + 1)/2) = 1.5
  
1.5 (2/1.5) = 1.3333 +((1.3333 + 1.5)/2) = 1.4167
  
1.4167 (2/1.4167) = 1.4118 +((1.4167 + 1.4118)/2) = 1.4142
  
1.4142 ......

Continuing this process, we obtain better and better approximations to the square root.

@@ -862,7 +862,7 @@

1.1  The Elements of Programming Exercise 1.8.  Newton's method for cube roots is based on the fact that if y is an approximation to the cube root of x, then a better approximation is given by the value -

+

Use this formula to implement a cube-root procedure analogous to the square-root procedure. (In section 1.3.4 we will see how to implement Newton's method in general as an abstraction @@ -892,7 +892,7 @@

1.1  The Elements of Programming figure 1.2) that mirrors the decomposition of the problem into subproblems.

-

Figure 1.2:  Procedural decomposition of the sqrt program.
+

Figure 1.2:  Procedural decomposition of the sqrt program.

diff --git a/src/OEBPS/book-Z-H-11.html b/src/OEBPS/book-Z-H-11.html index a197685..46b7d6e 100644 --- a/src/OEBPS/book-Z-H-11.html +++ b/src/OEBPS/book-Z-H-11.html @@ -66,7 +66,7 @@

1.2  Procedures and the Processe -

Figure 1.3:  A linear recursive process for computing 6!.
+

Figure 1.3:  A linear recursive process for computing 6!.

@@ -111,7 +111,7 @@

1.2  Procedures and the Processe and stipulating that n! is the value of the product when the counter exceeds n.

-

Figure 1.4:  A linear iterative process for computing 6!.
+

Figure 1.4:  A linear iterative process for computing 6!.

@@ -264,7 +264,7 @@

1.2  Procedures and the Processe

0, 1, 1, 2, 3, 5, 8, 13, 21, …

In general, the Fibonacci numbers can be defined by the rule -

+

We can immediately translate this definition into a recursive procedure for computing Fibonacci numbers:

@@ -274,7 +274,7 @@

1.2  Procedures and the Processe         (else (+ (fib (- n 1))
                 (fib (- n 2))))))

-

Figure 1.5:  The tree-recursive process generated in computing (fib 5).
+

Figure 1.5:  The tree-recursive process generated in computing (fib 5).

@@ -543,7 +543,7 @@

1.2  Procedures and the Processe sin xx if x is sufficiently small, and the trigonometric identity -

+

to reduce the size of the argument of sin. (For purposes of this exercise an angle is considered “sufficiently small” if its magnitude is not greater than 0.1 radians.) These diff --git a/src/OEBPS/book-Z-H-12.html b/src/OEBPS/book-Z-H-12.html index 531978b..a6a57dc 100644 --- a/src/OEBPS/book-Z-H-12.html +++ b/src/OEBPS/book-Z-H-12.html @@ -78,7 +78,7 @@

1.3  Formulating Abstractions wi       (+ (cube a) (sum-cubes (+ a 1) b))))

The third computes the sum of a sequence of terms in the series -

+

which converges to π/8 (very slowly):49

(define (pi-sum a b)
@@ -104,7 +104,7 @@

1.3  Formulating Abstractions wi summation of a series and invented “sigma notation,” for example

-

+

to express this concept. The power of sigma notation is that it allows mathematicians to deal with the concept of summation @@ -167,7 +167,7 @@

1.3  Formulating Abstractions wi formulating further concepts. For instance, the definite integral of a function f between the limits a and b can be approximated numerically using the formula -

+

for small values of dx. We can express this directly as a procedure:

@@ -183,7 +183,7 @@

1.3  Formulating Abstractions wi Exercise 1.29.  Simpson's Rule is a more accurate method of numerical integration than the method illustrated above. Using Simpson's Rule, the integral of a function f between a and b is approximated as -

+

where h = (b - a)/n, for some even integer n, and yk = f(a + kh). (Increasing n increases the accuracy of the approximation.) Define @@ -217,7 +217,7 @@

1.3  Formulating Abstractions wi Show how to define factorial in terms of product. Also use product to compute approximations to π using the formula52 -

+

b.  If your product procedure generates a recursive process, write one that generates @@ -400,7 +400,7 @@

1.3  Formulating Abstractions wi    <body>)

which can be thought of as saying

-

let <var1> have the value <exp1> and
<var2> have the value <exp2> and
<varn> have the value <expn>
in <body> +

let <var1> have the value <exp1> and
<var2> have the value <exp2> and
<varn> have the value <expn>
in <body>

The first part of the let expression is a list of @@ -687,7 +687,7 @@

1.3  Formulating Abstractions wi

Exercise 1.37.  a. An infinite continued fraction is an expression of the form -

+

As an example, one can show that the infinite continued fraction expansion with the Ni and the Di all equal to 1 produces 1/φ, where φ is the golden ratio (described in @@ -696,7 +696,7 @@

1.3  Formulating Abstractions wi infinite continued fraction is to truncate the expansion after a given number of terms. Such a truncation – a so-called k-term finite continued fraction – has the form -

+

Suppose that n and d are procedures of one argument (the term index i) that return the Ni and Di of the terms of the continued fraction. Define a procedure cont-frac @@ -731,7 +731,7 @@

1.3  Formulating Abstractions wi

Exercise 1.39.  A continued fraction representation of the tangent function was published in 1770 by the German mathematician J.H. Lambert: -

+

where x is in radians. Define a procedure (tan-cf x k) that computes an approximation to the tangent function based on Lambert's @@ -816,7 +816,7 @@

1.3  Formulating Abstractions wi If xg(x) is a differentiable function, then a solution of the equation g(x) = 0 is a fixed point of the function xf(x) where -

+

and Dg(x) is the derivative of g evaluated at x. Newton's method is the use of the fixed-point method we saw above to @@ -834,7 +834,7 @@

1.3  Formulating Abstractions wi function and dx is a small number, then the derivative Dg of g is the function whose value at any number x is given (in the limit of small dx) by -

+

Thus, we can express the idea of derivative (taking dx to be, say, 0.00001) as the procedure

diff --git a/src/OEBPS/book-Z-H-13.html b/src/OEBPS/book-Z-H-13.html index 115f7d6..bb48140 100644 --- a/src/OEBPS/book-Z-H-13.html +++ b/src/OEBPS/book-Z-H-13.html @@ -19,7 +19,7 @@

Building Abstractions with Data

-

+

diff --git a/src/OEBPS/book-Z-H-14.html b/src/OEBPS/book-Z-H-14.html index 0744e1e..f3b460c 100644 --- a/src/OEBPS/book-Z-H-14.html +++ b/src/OEBPS/book-Z-H-14.html @@ -75,15 +75,15 @@

2.1  Introduction to Data Abstra then add, subtract, multiply, divide, and test equality by using the following relations:

-

+

-

+

-

+

-

+

-

+

We can express these rules as procedures:

@@ -222,9 +222,9 @@

2.1  Introduction to Data Abstra each level are the interfaces that define the abstraction barriers and connect the different levels.

-

 
+

 
-
Figure 2.1:  Data-abstraction barriers in the rational-number package.
+
Figure 2.1:  Data-abstraction barriers in the rational-number package.

@@ -334,7 +334,7 @@

2.1  Introduction to Data Abstra integer n and any non-zero integer d, if x is (make-rat n d), then

-

+

In fact, this is the only condition make-rat, numer, and denom must fulfill in order to form a suitable basis for a @@ -453,7 +453,7 @@

2.1  Introduction to Data Abstra the value of a parallel equivalent resistance Rp of two resistors R1 and R2 using the formula -

+

Resistance values are usually known only up to some tolerance guaranteed by the manufacturer of the resistor. For example, if you @@ -595,11 +595,11 @@

2.1  Introduction to Data Abstra noticed that the formula for parallel resistors can be written in two algebraically equivalent ways:

-

+

and

-

+

He has written the following two programs, each of which computes the parallel-resistors formula differently:

diff --git a/src/OEBPS/book-Z-H-15.html b/src/OEBPS/book-Z-H-15.html index 7d8a8c0..9f53356 100644 --- a/src/OEBPS/book-Z-H-15.html +++ b/src/OEBPS/book-Z-H-15.html @@ -38,11 +38,11 @@

2.2  Hierarchical Data and the C structures. Figure 2.3 shows two ways to use pairs to combine the numbers 1, 2, 3, and 4.

-

Figure 2.2:  Box-and-pointer representation of (cons 1 2).
+

Figure 2.2:  Box-and-pointer representation of (cons 1 2).

-

Figure 2.3:  Two ways to combine 1, 2, 3, and 4 using pairs.
+

Figure 2.3:  Two ways to combine 1, 2, 3, and 4 using pairs.

@@ -69,7 +69,7 @@

2.2  Hierarchical Data and the C

-

Figure 2.4:  The sequence 1, 2, 3, 4 represented as a chain of pairs.
+

Figure 2.4:  The sequence 1, 2, 3, 4 represented as a chain of pairs.

@@ -439,7 +439,7 @@

2.2  Hierarchical Data and the C printed by the interpreter. Figure 2.5 shows the representation of this structure in terms of pairs.

-

Figure 2.5:  Structure formed by (cons (list 1 2) (list 3 4)).
+

Figure 2.5:  Structure formed by (cons (list 1 2) (list 3 4)).

@@ -449,7 +449,7 @@

2.2  Hierarchical Data and the C Figure 2.6 shows the structure in figure 2.5 viewed as a tree.

-

Figure 2.6:  The list structure in figure 2.5 viewed as a tree.
+

Figure 2.6:  The list structure in figure 2.5 viewed as a tree.

@@ -760,7 +760,7 @@

2.2  Hierarchical Data and the C which combines the elements using +, starting from an initial 0. The plan for even-fibs is analogous.

-

Figure 2.7:  The signal-flow plans for the procedures sum-odd-squares (top) and even-fibs (bottom) reveal the +

Figure 2.7:  The signal-flow plans for the procedures sum-odd-squares (top) and even-fibs (bottom) reveal the commonality between the two programs.

@@ -1209,7 +1209,7 @@

2.2  Hierarchical Data and the C

-Exercise 2.42.  

+Exercise 2.42.  

@@ -1221,7 +1221,7 @@

2.2  Hierarchical Data and the C

- +
Figure 2.8:  A solution to the eight-queens puzzle.Figure 2.8:  A solution to the eight-queens puzzle.
@@ -1317,11 +1317,11 @@

2.2  Hierarchical Data and the C satisfy the closure property, allow us to easily build arbitrarily complicated patterns.

-

+

            
-
Figure 2.9:  Designs generated with the picture language.
+
Figure 2.9:  Designs generated with the picture language.

@@ -1366,29 +1366,29 @@

2.2  Hierarchical Data and the C flip-horiz produces a painter that draws the original painter's image left-to-right reversed.

-

+

            
-
+
            
-
Figure 2.10:  Images produced by the wave painter, with respect +
Figure 2.10:  Images produced by the wave painter, with respect to four different frames. The frames, shown with dotted lines, are not part of the images.

-

+

            
-
+
            
-
Figure 2.11:  Images of William Barton Rogers, founder and first +
Figure 2.11:  Images of William Barton Rogers, founder and first president of MIT, painted with respect to the same four frames as in figure 2.10 (original image reprinted with the permission of the MIT Museum).
@@ -1401,13 +1401,13 @@

2.2  Hierarchical Data and the C

(define wave2 (beside wave (flip-vert wave)))
(define wave4 (below wave2 wave2))

-

+

            

(define wave2                         (define wave4
  (beside wave (flip-vert wave)))       (below wave2 wave2))

-

Figure 2.12:  Creating a complex figure, +

Figure 2.12:  Creating a complex figure, starting from the wave painter of figure 2.10.

@@ -1451,12 +1451,12 @@

2.2  Hierarchical Data and the C       (let ((smaller (right-split painter (- n 1))))
        (beside painter (below smaller smaller)))))

-

+

           

     right-split n                   corner-split n

-

Figure 2.13:  Recursive plans for right-split and corner-split.
+

Figure 2.13:  Recursive plans for right-split and corner-split.

@@ -1475,17 +1475,17 @@

2.2  Hierarchical Data and the C           (beside (below painter top-left)
                  (below bottom-right corner))))))

-

+

            

     (right-split wave 4)         (right-split rogers 4)

-

+

            

    (corner-split wave 4)         (corner-split rogers 4)

-

Figure 2.14:  The recursive operations right-split and corner-split applied to the painters wave and rogers. +

Figure 2.14:  The recursive operations right-split and corner-split applied to the painters wave and rogers. Combining four corner-split figures produces symmetric square-limit designs as shown in figure 2.9.
@@ -1580,7 +1580,7 @@

2.2  Hierarchical Data and the C produces a frame, and three corresponding selectors origin-frame, edge1-frame, and edge2-frame (see exercise 2.47).

-

Figure 2.15:  A frame is described by three vectors – an +

Figure 2.15:  A frame is described by three vectors – an origin and two edges.

@@ -1591,7 +1591,7 @@

2.2  Hierarchical Data and the C will be used to shift and scale images to fit the frame. The map transforms the unit square into the frame by mapping the vector v = (x,y) to the vector sum -

+

For example, (0,0) is mapped to the origin of the frame, (1,1) to the vertex diagonally opposite the origin, and (0.5,0.5) to the center of the frame. We can create a frame's coordinate map with the diff --git a/src/OEBPS/book-Z-H-16.html b/src/OEBPS/book-Z-H-16.html index 6278251..f092bd4 100644 --- a/src/OEBPS/book-Z-H-16.html +++ b/src/OEBPS/book-Z-H-16.html @@ -174,13 +174,13 @@

2.3  Symbolic Data

two arguments. Differentiation of any such expression can be carried out by applying the following reduction rules:

-

+

-

+

-

+

-

+

Observe that the latter two rules are recursive in nature. That is, to obtain the derivative of a sum we first find the derivatives of the @@ -200,11 +200,11 @@

2.3  Symbolic Data

procedures to implement the following selectors, constructors, and predicates:

-

(variable? e) Is e a variable?
(same-variable? v1 v2) Are v1 and v2 the same variable?

+

(variable? e) Is e a variable?
(same-variable? v1 v2) Are v1 and v2 the same variable?

-(sum? e)

Is e a sum?
(addend e) Addend of the sum e.
(augend e) Augend of the sum e.
(make-sum a1 a2) Construct the sum of a1 and a2.

+(sum? e)

Is e a sum?
(addend e) Addend of the sum e.
(augend e) Augend of the sum e.
(make-sum a1 a2) Construct the sum of a1 and a2.

-(product? e)

Is e a product?
(multiplier e) Multiplier of the product e.
(multiplicand e) Multiplicand of the product e.
(make-product m1 m2) Construct the product of m1 and m2. +(product? e)

Is e a product?
(multiplier e) Multiplier of the product e.
(multiplicand e) Multiplicand of the product e.
(make-product m1 m2) Construct the product of m1 and m2.
Using these, and the primitive predicate number?, which identifies numbers, we can express the differentiation rules as the @@ -306,7 +306,7 @@

2.3  Symbolic Data

The program produces answers that are correct; however, they are unsimplified. It is true that

-

+

but we would like the program to know that x · 0 = 0, 1 · y = y, and 0 + y = y. The answer for the second example should have been @@ -358,7 +358,7 @@

2.3  Symbolic Data

Exercise 2.56.  Show how to extend the basic differentiator to handle more kinds of expressions. For instance, implement the differentiation rule

-

+

by adding a new clause to the deriv program and defining @@ -612,7 +612,7 @@

2.3  Symbolic Data

than the node entry and that all elements in the right subtree be larger.

-

Figure 2.16:  Various binary trees that represent the set { 1,3,5,7,9,11 }.
+

Figure 2.16:  Various binary trees that represent the set { 1,3,5,7,9,11 }.

@@ -695,7 +695,7 @@

2.3  Symbolic Data

structures for which searching and insertion both can be done in θ(log n) steps.40

-

Figure 2.17:  Unbalanced tree produced by adjoining 1 through 7 in sequence.
+

Figure 2.17:  Unbalanced tree produced by adjoining 1 through 7 in sequence.

@@ -841,7 +841,7 @@

2.3  Symbolic Data

symbols, we will need to use log2n bits per symbol. If all our messages are made up of the eight symbols A, B, C, D, E, F, G, and H, we can choose a code with three bits per character, for example -

A 000 C 010 E 100 G 110
B 001 D 011 F 101 H 111 +

A 000 C 010 E 100 G 110
B 001 D 011 F 101 H 111
With this code, the message

@@ -862,7 +862,7 @@

2.3  Symbolic Data

data more efficiently (i.e., using fewer bits per message) if we assign shorter codes to the frequent symbols. Consider the following alternative code for the letters A through H: -

A 0 C 1010 E 1100 G 1110
B 100 D 1011 F 1101 H 1111 +

A 0 C 1010 E 1100 G 1110
B 100 D 1011 F 1101 H 1111
With this code, the same message as above is encoded as the string

@@ -897,7 +897,7 @@

2.3  Symbolic Data

the decoding process. We will see below how they are used to help construct the tree.

-

Figure 2.18:  A Huffman encoding tree.
+

Figure 2.18:  A Huffman encoding tree.

@@ -961,25 +961,25 @@

2.3  Symbolic Data

there is only one node left, which is the root of the entire tree. Here is how the Huffman tree of figure 2.18 was generated:

-

Initial leaves {(A 8) (B 3) (C 1) - (D 1) (E 1) (F 1) (G 1) (H 1)}

+

Initial leaves {(A 8) (B 3) (C 1) + (D 1) (E 1) (F 1) (G 1) (H 1)}

-Merge

{(A 8) (B 3) ({C D} 2) (E -1) (F 1) (G 1) (H 1)}

+Merge

{(A 8) (B 3) ({C D} 2) (E +1) (F 1) (G 1) (H 1)}

-Merge

{(A 8) (B 3) ({C D} 2) -({E F} 2) (G 1) (H 1)}

+Merge

{(A 8) (B 3) ({C D} 2) +({E F} 2) (G 1) (H 1)}

-Merge

{(A 8) (B 3) ({C D} 2) -({E F} 2) ({G H} 2)}

+Merge

{(A 8) (B 3) ({C D} 2) +({E F} 2) ({G H} 2)}

-Merge

{(A 8) (B 3) ({C D} 2) ({E F G H} 4)}

+Merge

{(A 8) (B 3) ({C D} 2) ({E F G H} 4)}

-Merge

{(A 8) ({B C D} 5) ({E F G H} 4)}

+Merge

{(A 8) ({B C D} 5) ({E F G H} 4)}

-Merge

{(A 8) ({B C D E F G H} 9)}

+Merge

{(A 8) ({B C D E F G H} 9)}

-Final merge

{({A B C D E F G H} 17)}
+Final merge

{({A B C D E F G H} 17)}
The algorithm does not always specify a unique tree, because there may not be unique smallest-weight nodes at each step. Also, the choice of the order in which the two nodes are merged (i.e., which will be the @@ -1161,7 +1161,7 @@

2.3  Symbolic Data

rock songs. (Note that the “symbols” of an “alphabet” need not be individual letters.)

-

A 2 NA 16
BOOM 1 SHA 3
GET 2 YIP 9
JOB 2 WAH 1 +

A 2 NA 16
BOOM 1 SHA 3
GET 2 YIP 9
JOB 2 WAH 1
Use generate-huffman-tree (exercise 2.69) to generate a corresponding Huffman tree, and use diff --git a/src/OEBPS/book-Z-H-17.html b/src/OEBPS/book-Z-H-17.html index 8934b3f..ab8a10e 100644 --- a/src/OEBPS/book-Z-H-17.html +++ b/src/OEBPS/book-Z-H-17.html @@ -95,7 +95,7 @@

2.4  Multiple Representations fo is a “vertical” barrier that gives us the ability to separately design and install alternative representations.

-

Figure 2.19:  Data-abstraction barriers in the complex-number system.
+

Figure 2.19:  Data-abstraction barriers in the complex-number system.

@@ -155,7 +155,7 @@

2.4  Multiple Representations fo to be able to determine the real part of a complex number that is specified by polar coordinates.

-

Figure 2.20:  Complex numbers as points in the plane.
+

Figure 2.20:  Complex numbers as points in the plane.

@@ -214,8 +214,8 @@

2.4  Multiple Representations fo or to construct a complex number with a given magnitude and angle, he uses the trigonometric relations

-

-

+

+

which relate the real and imaginary parts (x, y) to the magnitude and the angle (r, A).44 Ben's representation is @@ -374,7 +374,7 @@

2.4  Multiple Representations fo   (make-from-real-imag-rectangular x y))
(define (make-from-mag-ang r a)
  (make-from-mag-ang-polar r a))

-

Figure 2.21:  Structure of the generic complex-arithmetic system.
+

Figure 2.21:  Structure of the generic complex-arithmetic system.

@@ -476,7 +476,7 @@

2.4  Multiple Representations fo representation package to the system we need not change any existing procedures; we need only add new entries to the table.

-

Figure 2.22:  Table of operations for the complex-number system.
+

Figure 2.22:  Table of operations for the complex-number system.

diff --git a/src/OEBPS/book-Z-H-18.html b/src/OEBPS/book-Z-H-18.html index c7abcbb..256e93b 100644 --- a/src/OEBPS/book-Z-H-18.html +++ b/src/OEBPS/book-Z-H-18.html @@ -48,7 +48,7 @@

2.5  Systems with Generic Operat that one can design the individual arithmetic packages separately and combine them to produce a generic arithmetic system. -

Figure 2.23:  Generic arithmetic system.
+

Figure 2.23:  Generic arithmetic system.

@@ -213,7 +213,7 @@

2.5  Systems with Generic Operat it to the appropriate package is stripped off (by applying contents) and the next level of tag (if any) becomes visible to be used for further dispatching.

-

Figure 2.24:  Representation of 3 + 4i in rectangular form.
+

Figure 2.24:  Representation of 3 + 4i in rectangular form.

@@ -507,7 +507,7 @@

2.5  Systems with Generic Operat to distinguish those objects that can be lowered, such as 6 + 0i, from those that cannot, such as 6 + 2i.)

-

Figure 2.26:  Relations among types of geometric figures.
+

Figure 2.26:  Relations among types of geometric figures.

@@ -854,7 +854,7 @@

2.5  Systems with Generic Operat then we also are automatically able to handle operations on polynomials of different coefficient types, such as

-
+

Because we installed the polynomial addition and multiplication procedures add-poly and mul-poly in the generic @@ -966,7 +966,7 @@

2.5  Systems with Generic Operat Exercise 2.91.  A univariate polynomial can be divided by another one to produce a polynomial quotient and a polynomial remainder. For example,

-

+

Division can be performed via long division. That is, divide the highest-order term of the dividend by @@ -1066,10 +1066,10 @@

2.5  Systems with Generic Operat functions. These are “fractions” whose numerator and denominator are polynomials, such as

-

+

The system should be able to add, subtract, multiply, and divide rational functions, and to perform such computations as -

+

(Here the sum has been simplified by removing common factors. Ordinary “cross multiplication” would have produced a fourth-degree polynomial over a fifth-degree polynomial.)

diff --git a/src/OEBPS/book-Z-H-19.html b/src/OEBPS/book-Z-H-19.html index 0cac08d..84f9b5c 100644 --- a/src/OEBPS/book-Z-H-19.html +++ b/src/OEBPS/book-Z-H-19.html @@ -21,7 +21,7 @@

-

+

diff --git a/src/OEBPS/book-Z-H-2.html b/src/OEBPS/book-Z-H-2.html index 996c9fe..b0fff5f 100644 --- a/src/OEBPS/book-Z-H-2.html +++ b/src/OEBPS/book-Z-H-2.html @@ -15,7 +15,7 @@

-

+

diff --git a/src/OEBPS/book-Z-H-21.html b/src/OEBPS/book-Z-H-21.html index 0251a09..9b0f75f 100644 --- a/src/OEBPS/book-Z-H-21.html +++ b/src/OEBPS/book-Z-H-21.html @@ -46,7 +46,7 @@

3.2  The Environment Model of Ev binding for that variable. If no frame in the sequence specifies a binding for the variable, then the variable is said to be unbound in the environment.

-

Figure 3.1:  A simple environment structure.
+

Figure 3.1:  A simple environment structure.

@@ -134,7 +134,7 @@

3.2  The Environment Model of Ev frame. In general, define creates definitions by adding bindings to frames.

-

Figure 3.2:  Environment structure produced by +

Figure 3.2:  Environment structure produced by evaluating (define (square x) (* x x)) in the global environment.
@@ -163,7 +163,7 @@

3.2  The Environment Model of Ev (* x x). Since the value of x in E1 is 5, the result is (* 5 5), or 25. -

Figure 3.3:  Environment created by evaluating (square 5) +

Figure 3.3:  Environment created by evaluating (square 5) in the global environment.

@@ -227,7 +227,7 @@

3.2  The Environment Model of Ev consists of some code, together with a pointer to the global environment.

-

Figure 3.4:  Procedure objects in the global frame.
+

Figure 3.4:  Procedure objects in the global frame.

@@ -239,7 +239,7 @@

3.2  The Environment Model of Ev

(sum-of-squares (+ a 1) (* a 2))

-

Figure 3.5:  Environments created by evaluating (f 5) +

Figure 3.5:  Environments created by evaluating (f 5) using the procedures in figure 3.4.

@@ -336,7 +336,7 @@

3.2  The Environment Model of Ev except that the body of the procedure is itself a lambda expression.

-

Figure 3.6:  Result of defining make-withdraw +

Figure 3.6:  Result of defining make-withdraw in the global environment.

@@ -356,7 +356,7 @@

3.2  The Environment Model of Ev evaluated in the global environment. Figure 3.7 shows the resulting environment structure.

-

Figure 3.7:  Result of evaluating (define W1 (make-withdraw 100)).
+

Figure 3.7:  Result of evaluating (define W1 (make-withdraw 100)).

@@ -381,7 +381,7 @@

3.2  The Environment Model of Ev the first frame in the environment, while balance will be found by following the enclosing-environment pointer to E1.

-

Figure 3.8:  Environments created by applying the procedure +

Figure 3.8:  Environments created by applying the procedure object W1.

@@ -399,7 +399,7 @@

3.2  The Environment Model of Ev variable for the procedure object W1. Figure 3.9 shows the situation after the call to W1.

-

Figure 3.9:  Environments after the call to W1.
+

Figure 3.9:  Environments after the call to W1.

@@ -418,7 +418,7 @@

3.2  The Environment Model of Ev reference the balance stored in E2. Thus, changes to the local state of one object do not affect the other object.

-

Figure 3.10:  Using (define W2 (make-withdraw 100)) +

Figure 3.10:  Using (define W2 (make-withdraw 100)) to create a second object.

@@ -485,7 +485,7 @@

3.2  The Environment Model of Ev procedure good-enough? has been called for the first time with guess equal to 1.

-

Figure 3.11:  Sqrt procedure with internal definitions.
+

Figure 3.11:  Sqrt procedure with internal definitions.

diff --git a/src/OEBPS/book-Z-H-22.html b/src/OEBPS/book-Z-H-22.html index 99c56aa..a64ecc4 100644 --- a/src/OEBPS/book-Z-H-22.html +++ b/src/OEBPS/book-Z-H-22.html @@ -63,22 +63,22 @@

3.3  Modeling with Mutable Data< in terms of cons, car, and cdr. To modify list structures we need new operations.

-

Figure 3.12:  Lists x: ((a b) c d) and y: (e +

Figure 3.12:  Lists x: ((a b) c d) and y: (e f).

-

Figure 3.13:  Effect of (set-car! x y) on the lists in +

Figure 3.13:  Effect of (set-car! x y) on the lists in figure 3.12.

-

Figure 3.14:  Effect of (define z (cons y (cdr x))) on +

Figure 3.14:  Effect of (define z (cons y (cdr x))) on the lists in figure 3.12.

-

Figure 3.15:  Effect of (set-cdr! x y) on the lists in +

Figure 3.15:  Effect of (set-cdr! x y) on the lists in figure 3.12.

@@ -224,11 +224,11 @@

3.3  Modeling with Mutable Data< interlinked structure of pairs in which many individual pairs are shared by many different structures.

-

Figure 3.16:  The list z1 formed by (cons x x).
+

Figure 3.16:  The list z1 formed by (cons x x).

-

Figure 3.17:  The list z2 formed by +

Figure 3.17:  The list z2 formed by (cons (list 'a 'b) (list 'a 'b)).

@@ -399,8 +399,8 @@

3.3  Modeling with Mutable Data< are inserted, a queue is sometimes called a FIFO (first in, first out) buffer.

-

Operation Resulting Queue
(define q (make-queue))
(insert-queue! q 'a) a
(insert-queue! q 'b) a b
(delete-queue! q) b
(insert-queue! q 'c) b c
(insert-queue! q 'd) b c d
(delete-queue! q) c d -
Figure 3.18:  Queue operations.
+

Operation Resulting Queue
(define q (make-queue))
(insert-queue! q 'a) a
(insert-queue! q 'b) a b
(delete-queue! q) b
(insert-queue! q 'c) b c
(insert-queue! q 'd) b c d
(delete-queue! q) c d +
Figure 3.18:  Queue operations.

@@ -455,7 +455,7 @@

3.3  Modeling with Mutable Data< pointers. Figure 3.19 illustrates this representation.

-

Figure 3.19:  Implementation of a queue as a list with front and rear +

Figure 3.19:  Implementation of a queue as a list with front and rear pointers.

@@ -494,7 +494,7 @@

3.3  Modeling with Mutable Data< final pair in the queue to point to the new pair, and also set the rear pointer to the new pair.

-

Figure 3.20:  Result of using (insert-queue! q 'd) +

Figure 3.20:  Result of using (insert-queue! q 'd) on the queue of figure 3.19.

@@ -516,7 +516,7 @@

3.3  Modeling with Mutable Data< which can be found by following the cdr pointer of the first item (see figure 3.21):22

-

Figure 3.21:  Result of using (delete-queue! q) on +

Figure 3.21:  Result of using (delete-queue! q) on the queue of figure 3.20.

@@ -606,7 +606,7 @@

3.3  Modeling with Mutable Data< b:  2
c:  3

-

Figure 3.22:  A table represented as a headed list.
+

Figure 3.22:  A table represented as a headed list.

@@ -670,7 +670,7 @@

3.3  Modeling with Mutable Data< special header symbol, since the key that identifies the subtable serves this purpose.)

-

Figure 3.23:  A two-dimensional table.
+

Figure 3.23:  A two-dimensional table.

@@ -887,7 +887,7 @@

3.3  Modeling with Mutable Data< or of the inputs. That is, the output will become 1 if at least one of the input signals is 1; otherwise the output will become 0.

-

Figure 3.24:  Primitive functions in the digital logic simulator.
+

Figure 3.24:  Primitive functions in the digital logic simulator.

@@ -903,7 +903,7 @@

3.3  Modeling with Mutable Data< Many of the difficulties in the design of digital circuits arise from this fact.

-

Figure 3.25:  A half-adder circuit.
+

Figure 3.25:  A half-adder circuit.

@@ -960,7 +960,7 @@

3.3  Modeling with Mutable Data< building block for creating still more complex circuits. (For example, see exercise 3.30.)

-

Figure 3.26:  A full-adder circuit.
+

Figure 3.26:  A full-adder circuit.

@@ -1061,7 +1061,7 @@

3.3  Modeling with Mutable Data<

-

Figure 3.27:  A ripple-carry adder for n-bit numbers.
+

Figure 3.27:  A ripple-carry adder for n-bit numbers.

@@ -1414,7 +1414,7 @@

3.3  Modeling with Mutable Data< of another multiplier box, whose m2 is connected to a constant 5 and whose m1 is connected to one of the terms in a sum.

-

Figure 3.28:  The relation 9C = 5(F - 32) +

Figure 3.28:  The relation 9C = 5(F - 32) expressed as a constraint network.

diff --git a/src/OEBPS/book-Z-H-23.html b/src/OEBPS/book-Z-H-23.html index f02b680..9c96061 100644 --- a/src/OEBPS/book-Z-H-23.html +++ b/src/OEBPS/book-Z-H-23.html @@ -173,7 +173,7 @@

3.4  Concurrency: Time Is of the To make concurrent programs behave correctly, we may have to place some restrictions on concurrent execution.

-

Figure 3.29:  Timing diagram showing how interleaving the order of events +

Figure 3.29:  Timing diagram showing how interleaving the order of events in two banking withdrawals can lead to an incorrect final balance.

@@ -196,7 +196,7 @@

3.4  Concurrency: Time Is of the permitting Paul's deposit to his private account to proceed concurrently with Peter's withdrawal from the shared account.

-

Figure 3.30:  Concurrent deposits and withdrawals from a joint account +

Figure 3.30:  Concurrent deposits and withdrawals from a joint account in Bank1 and a private account in Bank2.

@@ -237,7 +237,7 @@

3.4  Concurrency: Time Is of the initially contains $100. Concurrently, Peter deposits $10, Paul withdraws $20, and Mary withdraws half the money in the account, by executing the following commands: -

Peter: (set! balance (+ balance 10))
Paul: (set! balance (- balance 20))
Mary: (set! balance (- balance (/ balance 2))) +

Peter: (set! balance (+ balance 10))
Paul: (set! balance (- balance 20))
Mary: (set! balance (- balance (/ balance 2)))

a. List all the different possible values for balance after these @@ -328,11 +328,11 @@

3.4  Concurrency: Time Is of the execution is complete, x will be left with one of five possible values, depending on the interleaving of the events of P1 and P2: -

101: P1 sets x to 100 and then P2 increments x to 101.
121: P2 increments x to 11 and then P1 sets x to -x times x.
110: P2 changes x from 10 to 11 between the two times that -P1 accesses the value of x during the evaluation of (* x x).
11: P2 accesses x, then P1 sets x to 100, -then P2 sets x.
100: P1 accesses x (twice), then P2 sets x to 11, -then P1 sets x.

+

101: P1 sets x to 100 and then P2 increments x to 101.
121: P2 increments x to 11 and then P1 sets x to +x times x.
110: P2 changes x from 10 to 11 between the two times that +P1 accesses the value of x during the evaluation of (* x x).
11: P2 accesses x, then P1 sets x to 100, +then P2 sets x.
100: P1 accesses x (twice), then P2 sets x to 11, +then P1 sets x.

We can constrain the concurrency by using serialized procedures, diff --git a/src/OEBPS/book-Z-H-24.html b/src/OEBPS/book-Z-H-24.html index 8de20f0..b817e41 100644 --- a/src/OEBPS/book-Z-H-24.html +++ b/src/OEBPS/book-Z-H-24.html @@ -514,7 +514,7 @@

3.5  Streams

only is the stream infinite, but the signal processor is also infinite, because the sieve contains a sieve within it.

-

Figure 3.31:  The prime sieve viewed as a signal-processing system.
+

Figure 3.31:  The prime sieve viewed as a signal-processing system.

@@ -563,7 +563,7 @@

3.5  Streams

1, such that the rest of the stream can be generated by adding fibs to itself shifted by one place:

-

1 1 2 3 5 8 13 21 ... = (stream-cdr fibs)
0 1 1 2 3 5 8 13 ... = fibs
0 1 1 2 3 5 8 13 21 34 ... = fibs

+

1 1 2 3 5 8 13 21 ... = (stream-cdr fibs)
0 1 1 2 3 5 8 13 ... = fibs
0 1 1 2 3 5 8 13 21 34 ... = fibs

Scale-stream is another useful procedure in formulating such stream definitions. This multiplies each item in a stream by a given @@ -706,11 +706,11 @@

3.5  Streams

polynomial arithmetic system representing polynomials as lists of terms. In a similar way, we can work with power series, such as

-

+

-

+

-

+

represented as infinite streams. We will represent the series @@ -719,7 +719,7 @@

3.5  Streams

a. The integral of the series a0 + a1x + a2x2 + a3x3 + ··· is the series -

+

where c is any constant. Define a procedure integrate-series that takes as input a stream a0, a1, a2, ... representing a power series and returns the stream @@ -762,7 +762,7 @@

3.5  Streams

to find the power series 1/S, that is, the series X such that S · X = 1. Write S = 1 + SR where SR is the part of S after the constant term. Then we can solve for X as follows: -

+

In other words, X is the power series whose constant term is 1 and whose higher-order terms are given by the negative of SR times X. Use this idea to write a procedure invert-unit-series that computes 1/S for a power series S with @@ -839,7 +839,7 @@

3.5  Streams

approximation to π, based upon the alternating series that we saw in section 1.3.1:

-

+

We first generate the stream of summands of the series (the reciprocals @@ -868,7 +868,7 @@

3.5  Streams

alternating series (series of terms with alternating signs). In Euler's technique, if Sn is the nth term of the original sum sequence, then the accelerated sequence has terms -

+

Thus, if the original sequence is represented as a stream of values, the transformed sequence is given by

@@ -896,7 +896,7 @@

3.5  Streams

                             (transform s))))

The tableau has the form

-

+

Finally, we form a sequence by taking the first term in each row of the tableau:

@@ -950,7 +950,7 @@

3.5  Streams

Exercise 3.65.  Use the series -

+

to compute three sequences of approximations to the natural logarithm of 2, in the same way we did above for π. How rapidly do these sequences converge? @@ -979,17 +979,17 @@

3.5  Streams

Our problem, then, is to produce the stream int-pairs. More generally, suppose we have two streams S = (Si) and T = (Tj), and imagine the infinite rectangular array -

+

We wish to generate a stream that contains all the pairs in the array that lie on or above the diagonal, i.e., the pairs -

+

(If we take both S and T to be the stream of integers, then this will be our desired stream int-pairs.)

Call the general stream of pairs (pairs S T), and consider it to be composed of three parts: the pair (S0,T0), the rest of the pairs in the first row, and the remaining pairs:67 -

+

Observe that the third piece in this decomposition (pairs that are not in the first row) is (recursively) the pairs formed from (stream-cdr S) and (stream-cdr T). Also note that the second piece (the rest @@ -1151,7 +1151,7 @@

3.5  Streams

an integrator or summer that, for an input stream x = (xi), an initial value C, and a small increment dt, accumulates the sum -

+

and returns the stream of values S = (Si). The following integral procedure is reminiscent of the “implicit style” definition of the stream of integers (section 3.5.2):

@@ -1163,7 +1163,7 @@

3.5  Streams

                              int)))
  int)

-

Figure 3.32:  The integral procedure viewed as a +

Figure 3.32:  The integral procedure viewed as a signal-processing system.

@@ -1176,14 +1176,14 @@

3.5  Streams

connects the output of the adder to one of the inputs.

-Exercise 3.73.  

  +Exercise 3.73.  

         v = v0 + (1/C)∫0ti dt + R i      
-

Figure 3.33:  An RC circuit and the associated signal-flow diagram.
+

Figure 3.33:  An RC circuit and the associated signal-flow diagram.

We can model electrical circuits using streams to represent the values @@ -1308,7 +1308,7 @@

3.5  Streams

integrator in a manner very similar to that of the analog computer circuits that are actually used to solve such equations.

-

Figure 3.34:  An “analog computer circuit” that solves the +

Figure 3.34:  An “analog computer circuit” that solves the equation dy/dt = f(y).
@@ -1382,13 +1382,13 @@

3.5  Streams

-Exercise 3.78.  

Figure 3.35:  Signal-flow diagram for the solution to a second-order +Exercise 3.78.  

Figure 3.35:  Signal-flow diagram for the solution to a second-order linear differential equation.

Consider the problem of designing a signal-processing system to study the homogeneous second-order linear differential equation -

+

The output stream, modeling y, is generated by a network that contains a loop. This is because the value of d2y/dt2 depends upon the values of y and dy/dt and both of these are determined by @@ -1412,22 +1412,22 @@

3.5  Streams

If R, L, and C are the resistance, inductance, and capacitance, then the relations between voltage (v) and current (i) for the three components are described by the equations -

+

and the circuit connections dictate the relations -

+

Combining these equations shows that the state of the circuit (summarized by vC, the voltage across the capacitor, and iL, the current in the inductor) is described by the pair of differential equations -

+

The signal-flow diagram representing this system of differential equations is shown in figure 3.37. -

Figure 3.36:  A series RLC circuit.
+

Figure 3.36:  A series RLC circuit.

-

Figure 3.37:  A signal-flow diagram for the solution +

Figure 3.37:  A signal-flow diagram for the solution to a series RLC circuit.

@@ -1682,7 +1682,7 @@

3.5  Streams

result to the bank-account stream process, as shown in figure 3.38.

-

Figure 3.38:  A joint bank account, modeled by merging two streams of +

Figure 3.38:  A joint bank account, modeled by merging two streams of transaction requests.

diff --git a/src/OEBPS/book-Z-H-25.html b/src/OEBPS/book-Z-H-25.html index 1610752..14b121f 100644 --- a/src/OEBPS/book-Z-H-25.html +++ b/src/OEBPS/book-Z-H-25.html @@ -19,7 +19,7 @@

Metalinguistic Abstraction

-

+

diff --git a/src/OEBPS/book-Z-H-26.html b/src/OEBPS/book-Z-H-26.html index 2f2a030..0fa69a6 100644 --- a/src/OEBPS/book-Z-H-26.html +++ b/src/OEBPS/book-Z-H-26.html @@ -77,7 +77,7 @@

4.1  The Metacircular Evaluator< -

Figure 4.1:  The eval-apply cycle exposes the essence +

Figure 4.1:  The eval-apply cycle exposes the essence of a computer language.

@@ -961,7 +961,7 @@

4.1  The Metacircular Evaluator< within it.) Figure 4.2 is a flow diagram for the factorial machine, showing how the parts are wired together.

-

Figure 4.2:  The factorial program, viewed as an abstract machine.
+

Figure 4.2:  The factorial program, viewed as an abstract machine.

@@ -973,7 +973,7 @@

4.1  The Metacircular Evaluator< factorial, as shown in figure 4.3, the evaluator will be able to compute factorials.

-

Figure 4.3:  The evaluator emulating a factorial machine.
+

Figure 4.3:  The evaluator emulating a factorial machine.

diff --git a/src/OEBPS/book-Z-H-28.html b/src/OEBPS/book-Z-H-28.html index 8bac8be..a2e7ed4 100644 --- a/src/OEBPS/book-Z-H-28.html +++ b/src/OEBPS/book-Z-H-28.html @@ -109,7 +109,7 @@

4.3  Variations on a Scheme –

(list (amb 1 2 3) (amb 'a 'b))

can have six possible values: -

(1 a) (1 b) (2 a) (2 b) (3 a) (3 b) +

(1 a) (1 b) (2 a) (2 b) (3 a) (3 b)
Amb with a single choice produces an ordinary (single) value.

Amb with no choices – the expression (amb) – is an diff --git a/src/OEBPS/book-Z-H-29.html b/src/OEBPS/book-Z-H-29.html index 14bb4ee..89410ab 100644 --- a/src/OEBPS/book-Z-H-29.html +++ b/src/OEBPS/book-Z-H-29.html @@ -773,7 +773,7 @@

4.4  Logic Programming

< contains all possible extensions of every frame in the input stream. This stream is the output of the query.

-

Figure 4.4:  A query processes a stream of frames.
+

Figure 4.4:  A query processes a stream of frames.

@@ -813,7 +813,7 @@

4.4  Logic Programming

< figure 4.5. The frames that pass through the first query filter are filtered and further extended by the second query.

-

Figure 4.5:  The and combination of two queries is +

Figure 4.5:  The and combination of two queries is produced by operating on the stream of frames in series.

@@ -824,7 +824,7 @@

4.4  Logic Programming

< query. The two resulting streams are then merged to produce the final output stream.

-

Figure 4.6:  The or combination of two queries is produced by +

Figure 4.6:  The or combination of two queries is produced by operating on the stream of frames in parallel and merging the results.
@@ -2546,15 +2546,15 @@

4.4  Logic Programming

< example, we know that 2 is the solution to the equation y = 1 + y/2. Beginning with the expression 1 + y/2 and repeatedly substituting 1 + y/2 for y gives -

+

which leads to -

+

However, if we try the same manipulation beginning with the observation that - 1 is the solution to the equation y = 1 + 2y, we obtain -

+

which leads to -

+

Although the formal manipulations used in deriving these two equations are identical, the first result is a valid assertion about infinite series but the second is not. Similarly, for our unification results, diff --git a/src/OEBPS/book-Z-H-30.html b/src/OEBPS/book-Z-H-30.html index f9eebca..409fdab 100644 --- a/src/OEBPS/book-Z-H-30.html +++ b/src/OEBPS/book-Z-H-30.html @@ -19,7 +19,7 @@

Computing with Register Machines

-

+

diff --git a/src/OEBPS/book-Z-H-31.html b/src/OEBPS/book-Z-H-31.html index 1760f9b..9747907 100644 --- a/src/OEBPS/book-Z-H-31.html +++ b/src/OEBPS/book-Z-H-31.html @@ -91,7 +91,7 @@

5.1  Designing Register Machines

-

Figure 5.1:  Data paths for a GCD machine.
+

Figure 5.1:  Data paths for a GCD machine.

@@ -116,8 +116,8 @@

5.1  Designing Register Machines marble) at the place marked start, after placing numbers in registers a and b. When the controller reaches done, we will find the value of the GCD in register a. -

-
Figure 5.2:  Controller for a GCD machine.
+

+
Figure 5.2:  Controller for a GCD machine.

@@ -181,7 +181,7 @@

5.1  Designing Register Machines Except when a branch changes the flow of control, instructions are executed in the order in which they are listed.

-

(data-paths
+

(data-paths
 (registers
  ((name a)
   (buttons ((name a<-b) (source (register b)))))
@@ -203,7 +203,7 @@

5.1  Designing Register Machines    (b<-t)                         ; button push
   (goto (label test-b))          ; unconditional branch
 gcd-done)                        ; label

-

Figure 5.3:  A specification of the GCD machine.
+

Figure 5.3:  A specification of the GCD machine.

@@ -320,7 +320,7 @@

5.1  Designing Register Machines This structure is like the driver loops we used in the interpreters of chapter 4.

-

 (controller
+

 (controller
  gcd-loop
    (assign a (op read))
    (assign b (op read))
@@ -334,7 +334,7 @@

5.1  Designing Register Machines   gcd-done
    (perform (op print) (reg a))
    (goto (label gcd-loop)))

-

Figure 5.4:  A GCD machine that reads inputs and prints results.
+

Figure 5.4:  A GCD machine that reads inputs and prints results.

@@ -370,7 +370,7 @@

5.1  Designing Register Machines for the elaborated machine. The instruction

-

Figure 5.5:  Data paths and controller for the elaborated GCD machine.
+

Figure 5.5:  Data paths and controller for the elaborated GCD machine.

@@ -380,7 +380,7 @@

5.1  Designing Register Machines instructions that contains a loop, as shown in figure 5.6.

-

(controller
+

(controller
 test-b
   (test (op =) (reg b) (const 0))
   (branch (label gcd-done))
@@ -395,7 +395,7 @@

5.1  Designing Register Machines    (assign b (reg t))
   (goto (label test-b))
 gcd-done)

-

Figure 5.6:  Controller instruction sequence for the GCD machine in +

Figure 5.6:  Controller instruction sequence for the GCD machine in figure 5.5.

@@ -440,7 +440,7 @@

5.1  Designing Register Machines the rest of the machine. The figure also shows the corresponding portions of the machine's controller sequence.

-

gcd-1
+

gcd-1
 (test (op =) (reg b) (const 0))
 (branch (label after-gcd-1))
 (assign t (op rem) (reg a) (reg b))
@@ -457,7 +457,7 @@

5.1  Designing Register Machines  (assign d (reg s))
 (goto (label gcd-2))
after-gcd-2

-

Figure 5.7:  Portions of the data paths and controller sequence for +

Figure 5.7:  Portions of the data paths and controller sequence for a machine with two GCD computations.

@@ -491,7 +491,7 @@

5.1  Designing Register Machines resulting controller sequence, which includes only a single copy of the gcd instructions.

-

gcd-1
+

gcd-1
 (test (op =) (reg b) (const 0))
 (branch (label after-gcd-1))
 (assign t (op rem) (reg a) (reg b))
@@ -508,13 +508,13 @@

5.1  Designing Register Machines  (assign b (reg t))
 (goto (label gcd-2))
after-gcd-2

-

Figure 5.8:  Portions of the controller sequence for a machine that +

Figure 5.8:  Portions of the controller sequence for a machine that uses the same data-path components for two different GCD computations.

-

gcd
+

gcd
 (test (op =) (reg b) (const 0))
 (branch (label gcd-done))
 (assign t (op rem) (reg a) (reg b))
@@ -533,12 +533,12 @@

5.1  Designing Register Machines  (assign continue (const 1))
 (goto (label gcd))
after-gcd-2

-

Figure 5.9:  Using a continue register to avoid +

Figure 5.9:  Using a continue register to avoid the duplicate controller sequence in figure 5.8.

-

+

gcd
 (test (op =) (reg b) (const 0))
 (branch (label gcd-done))
@@ -556,7 +556,7 @@

5.1  Designing Register Machines  (assign continue (label after-gcd-2))
 (goto (label gcd))
after-gcd-2

-

Figure 5.10:  Assigning labels to the continue register simplifies +

Figure 5.10:  Assigning labels to the continue register simplifies and generalizes the strategy shown in figure 5.9.

@@ -772,7 +772,7 @@

5.1  Designing Register Machines Figure 5.12 shows the controller sequence for this machine.

-

(controller
+

(controller
   (assign continue (label fact-done))     ; set up final return address
 fact-loop
   (test (op =) (reg n) (const 1))
@@ -794,11 +794,11 @@

5.1  Designing Register Machines    (assign val (const 1))                  ; base case: 1! = 1
   (goto (reg continue))                   ; return to caller
 fact-done)

-

Figure 5.11:  A recursive factorial machine.
+

Figure 5.11:  A recursive factorial machine.

-

(controller
+

(controller
   (assign continue (label fib-done))
 fib-loop
   (test (op <) (reg n) (const 2))
@@ -829,7 +829,7 @@

5.1  Designing Register Machines    (assign val (reg n))               ; base case:  Fib(n) = n
   (goto (reg continue))
 fib-done)

-

Figure 5.12:  Controller for a machine to compute Fibonacci +

Figure 5.12:  Controller for a machine to compute Fibonacci numbers.

diff --git a/src/OEBPS/book-Z-H-32.html b/src/OEBPS/book-Z-H-32.html index 5fec0e7..e6eb994 100644 --- a/src/OEBPS/book-Z-H-32.html +++ b/src/OEBPS/book-Z-H-32.html @@ -211,7 +211,7 @@

5.2  A Register-Machine Simulato repeats this cycle until there are no more instructions to execute (i.e., until pc points to the end of the instruction sequence).

-

(define (make-new-machine)
+

(define (make-new-machine)
  (let ((pc (make-register 'pc))
        (flag (make-register 'flag))
        (stack (make-stack))
@@ -254,7 +254,7 @@

5.2  A Register-Machine Simulato               ((eq? message 'operations) the-ops)
              (else (error "Unknown request -- MACHINE" message))))
      dispatch)))

-

Figure 5.13:  The make-new-machine procedure, which implements +

Figure 5.13:  The make-new-machine procedure, which implements the basic machine model.

diff --git a/src/OEBPS/book-Z-H-33.html b/src/OEBPS/book-Z-H-33.html index 59ecf1d..29d05c1 100644 --- a/src/OEBPS/book-Z-H-33.html +++ b/src/OEBPS/book-Z-H-33.html @@ -118,7 +118,7 @@

5.3  Storage Allocation and Garb and cdr of the pair are stored. The blank locations in the-cars and the-cdrs may contain parts of other list structures (not of interest here).

-

Figure 5.14:  Box-and-pointer and memory-vector representations +

Figure 5.14:  Box-and-pointer and memory-vector representations of the list ((1 2) 3 4).

@@ -359,7 +359,7 @@

5.3  Storage Allocation and Garb Figure 5.15 shows the arrangement of memory just before and just after garbage collection.

-

Figure 5.15:  Reconfiguration of memory by the garbage-collection +

Figure 5.15:  Reconfiguration of memory by the garbage-collection process.

diff --git a/src/OEBPS/book-Z-H-34.html b/src/OEBPS/book-Z-H-34.html index 7150785..8e4de74 100644 --- a/src/OEBPS/book-Z-H-34.html +++ b/src/OEBPS/book-Z-H-34.html @@ -70,7 +70,7 @@

5.4  The Explicit-Control Evalua list-structure implementation we described in section 5.3.

-

Figure 5.16:  A silicon-chip implementation of an evaluator for +

Figure 5.16:  A silicon-chip implementation of an evaluator for Scheme.

@@ -775,7 +775,7 @@

5.4  The Explicit-Control Evalua will be linear.) Summarize your experiments by filling in the following table with the appropriate expressions in terms of n:

-

Maximum depth Number of pushes
Recursive
factorial
Iterative
factorial

+

Maximum depth Number of pushes
Recursive
factorial
Iterative
factorial

The maximum depth is a measure of the amount of space used by the evaluator in carrying out the computation, and the number of pushes diff --git a/src/OEBPS/book-Z-H-35.html b/src/OEBPS/book-Z-H-35.html index 2d4cc82..815bce7 100644 --- a/src/OEBPS/book-Z-H-35.html +++ b/src/OEBPS/book-Z-H-35.html @@ -301,7 +301,7 @@

5.5  Compilation

produces one of the following four sequences of instructions, depending on how <seq1> and <seq2> use <reg1> and <reg2>:

-

+

By using preserving to combine instruction sequences the compiler avoids unnecessary stack operations. This also isolates the @@ -1275,7 +1275,7 @@

5.5  Compilation

-

;; construct the procedure and skip over code for the procedure body
+

;; construct the procedure and skip over code for the procedure body
  (assign val
          (op make-compiled-procedure) (label entry2) (reg env))
  (goto (label after-lambda1))

@@ -1316,13 +1316,13 @@

5.5  Compilation

  (assign proc
          (op lookup-variable-value) (const factorial) (reg env))
  (save proc)  ; save factorial procedure

-

Figure 5.17:  Compilation of the definition of the factorial +

Figure 5.17:  Compilation of the definition of the factorial procedure (continued on next page).

-

;; compute (- n 1), which is the argument for factorial
+

;; compute (- n 1), which is the argument for factorial
  (assign proc (op lookup-variable-value) (const -) (reg env))
  (assign val (const 1))
  (assign argl (op list) (reg val))
@@ -1366,13 +1366,13 @@

5.5  Compilation

  (perform
   (op define-variable!) (const factorial) (reg val) (reg env))
  (assign val (const ok))

-

Figure 5.17:  (continued)
+

Figure 5.17:  (continued)

Exercise 5.35.  What expression was compiled to produce the code shown in figure 5.18? -

  (assign val (op make-compiled-procedure) (label entry16)
+

  (assign val (op make-compiled-procedure) (label entry16)
                                           (reg env))
  (goto (label after-lambda15))
entry16
@@ -1409,13 +1409,13 @@

5.5  Compilation

  (goto (reg val))
primitive-branch22
  (assign val (op apply-primitive-procedure) (reg proc) (reg argl))

-

Figure 5.18:  An example of compiler output (continued on next page). +

Figure 5.18:  An example of compiler output (continued on next page). See exercise 5.35.

-

after-call20
+

after-call20
  (assign argl (op list) (reg val))
  (restore env)
  (assign val (op lookup-variable-value) (const x) (reg env))
@@ -1434,7 +1434,7 @@

5.5  Compilation

after-lambda15
  (perform (op define-variable!) (const f) (reg val) (reg env))
  (assign val (const ok))

-

Figure 5.18:  (continued)
+

Figure 5.18:  (continued)

diff --git a/src/OEBPS/book-Z-H-38.html b/src/OEBPS/book-Z-H-38.html index 3dcc25b..aba8119 100644 --- a/src/OEBPS/book-Z-H-38.html +++ b/src/OEBPS/book-Z-H-38.html @@ -19,7 +19,7 @@

Index

-

+

From 2f83054f1ae5c466396ea6857db44de3eb1ac566 Mon Sep 17 00:00:00 2001 From: Thomas Stephens Date: Thu, 5 Dec 2013 21:19:26 -0600 Subject: [PATCH 06/26] adding error counts for future reference --- error_counts.txt | 465 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 465 insertions(+) create mode 100644 error_counts.txt diff --git a/error_counts.txt b/error_counts.txt new file mode 100644 index 0000000..48950ad --- /dev/null +++ b/error_counts.txt @@ -0,0 +1,465 @@ +4697 value of attribute "href" is invalid; must be a URI +4620 attribute "name" not allowed here; expected attribute "accesskey", "charset", "class", "coords", "dir", "href", "hreflang", "id", "lang", "rel", "rev", "shape", "style", "tabindex", "target", "title", "type" or "xml:lang" +3997 value of attribute "id" is invalid; must be an XML name without colons +3263 URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "_i" + 847 URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "_t" + 422 URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "_s" + 188 attribute "vstyle" not allowed here; expected attribute "abbr", "align", "axis", "char", "charoff", "class", "colspan", "dir", "headers", "id", "lang", "rowspan", "scope", "style", "title", "valign" or "xml:lang" + 165 URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "_f" + 155 element "img" missing required attribute "alt" + 155 attribute "border" not allowed here; expected attribute "alt", "class", "dir", "height", "id", "ismap", "lang", "longdesc", "style", "title", "usemap", "width" or "xml:lang" + 103 element "p" not allowed here; expected the element end-tag, text or element "a", "abbr", "acronym", "applet", "b", "bdo", "big", "br", "cite", "code", "del", "dfn", "em", "i", "iframe", "img", "ins", "kbd", "map", "noscript", "ns:svg", "object", "q", "samp", "script", "small", "span", "strong", "sub", "sup", "tt" or "var" (with xmlns:ns="http://www.w3.org/2000/svg") + 98 element "div" not allowed here; expected the element end-tag, text or element "a", "abbr", "acronym", "applet", "b", "bdo", "big", "br", "cite", "code", "del", "dfn", "em", "i", "iframe", "img", "ins", "kbd", "map", "noscript", "ns:svg", "object", "q", "samp", "script", "small", "span", "strong", "sub", "sup", "tt" or "var" (with xmlns:ns="http://www.w3.org/2000/svg") + 91 element "caption" not allowed here; expected the element end-tag or element "tr" + 50 text not allowed here; expected the element end-tag or element "address", "blockquote", "del", "div", "dl", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ins", "noscript", "ns:svg", "ol", "p", "pre", "script", "table" or "ul" (with xmlns:ns="http://www.w3.org/2000/svg") + 39 text not allowed here; expected element "address", "blockquote", "del", "div", "dl", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ins", "noscript", "ns:svg", "ol", "p", "pre", "script", "table" or "ul" (with xmlns:ns="http://www.w3.org/2000/svg") + 36 element "a" not allowed here; expected element "address", "blockquote", "del", "div", "dl", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ins", "noscript", "ns:svg", "ol", "p", "pre", "script", "table" or "ul" (with xmlns:ns="http://www.w3.org/2000/svg") + 35 element "u" not allowed anywhere; expected the element end-tag, text or element "a", "abbr", "acronym", "applet", "b", "bdo", "big", "br", "cite", "code", "del", "dfn", "em", "i", "iframe", "img", "ins", "kbd", "map", "noscript", "ns:svg", "object", "q", "samp", "script", "small", "span", "strong", "sub", "sup", "tt" or "var" (with xmlns:ns="http://www.w3.org/2000/svg") + 28 element "em" not allowed here; expected the element end-tag or element "address", "blockquote", "del", "div", "dl", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ins", "noscript", "ns:svg", "ol", "p", "pre", "script", "table" or "ul" (with xmlns:ns="http://www.w3.org/2000/svg") + 10 element "font" not allowed anywhere; expected the element end-tag, text or element "a", "abbr", "acronym", "applet", "b", "bdo", "big", "br", "cite", "code", "del", "dfn", "em", "i", "iframe", "img", "ins", "kbd", "map", "noscript", "ns:svg", "object", "q", "samp", "script", "small", "span", "strong", "sub", "sup", "tt" or "var" (with xmlns:ns="http://www.w3.org/2000/svg") + 10 element "a" not allowed here; expected element "li" + 8 element "blockquote" incomplete; expected element "address", "blockquote", "del", "div", "dl", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ins", "noscript", "ns:svg", "ol", "p", "pre", "script", "table" or "ul" (with xmlns:ns="http://www.w3.org/2000/svg") + 7 element "tt" not allowed here; expected element "address", "blockquote", "del", "div", "dl", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ins", "noscript", "ns:svg", "ol", "p", "pre", "script", "table" or "ul" (with xmlns:ns="http://www.w3.org/2000/svg") + 5 element "a" not allowed here; expected the element end-tag or element "address", "blockquote", "del", "div", "dl", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ins", "noscript", "ns:svg", "ol", "p", "pre", "script", "table" or "ul" (with xmlns:ns="http://www.w3.org/2000/svg") + 4 element "tt" not allowed here; expected the element end-tag or element "address", "blockquote", "del", "div", "dl", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ins", "noscript", "ns:svg", "ol", "p", "pre", "script", "table" or "ul" (with xmlns:ns="http://www.w3.org/2000/svg") + 3 element "p" not allowed here; expected element "li" + 2 element "sub" not allowed here; expected the element end-tag or element "address", "blockquote", "del", "div", "dl", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "ins", "noscript", "ns:svg", "ol", "p", "pre", "script", "table" or "ul" (with xmlns:ns="http://www.w3.org/2000/svg") + 2 The element type "code" must be terminated by the matching end-tag "". + 2 'footnote_Temp_166': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 image file OEBPS/images/ch5-Z-G-9.gif is missing + 1 image file OEBPS/images/ch5-Z-G-8.gif is missing + 1 image file OEBPS/images/ch5-Z-G-7.gif is missing + 1 image file OEBPS/images/ch5-Z-G-6.gif is missing + 1 image file OEBPS/images/ch5-Z-G-5.gif is missing + 1 image file OEBPS/images/ch5-Z-G-4.gif is missing + 1 image file OEBPS/images/ch5-Z-G-3.gif is missing + 1 image file OEBPS/images/ch5-Z-G-2.gif is missing + 1 image file OEBPS/images/ch5-Z-G-1.gif is missing + 1 image file OEBPS/images/ch4-Z-G-9.gif is missing + 1 image file OEBPS/images/ch4-Z-G-8.gif is missing + 1 image file OEBPS/images/ch4-Z-G-7.gif is missing + 1 image file OEBPS/images/ch4-Z-G-6.gif is missing + 1 image file OEBPS/images/ch4-Z-G-5.gif is missing + 1 image file OEBPS/images/ch4-Z-G-4.gif is missing + 1 image file OEBPS/images/ch4-Z-G-3.gif is missing + 1 image file OEBPS/images/ch4-Z-G-2.gif is missing + 1 image file OEBPS/images/ch4-Z-G-10.gif is missing + 1 image file OEBPS/images/ch4-Z-G-1.gif is missing + 1 image file OEBPS/images/ch3-Z-G-9.gif is missing + 1 image file OEBPS/images/ch3-Z-G-8.gif is missing + 1 image file OEBPS/images/ch3-Z-G-7.gif is missing + 1 image file OEBPS/images/ch3-Z-G-60.gif is missing + 1 image file OEBPS/images/ch3-Z-G-6.gif is missing + 1 image file OEBPS/images/ch3-Z-G-59.gif is missing + 1 image file OEBPS/images/ch3-Z-G-58.gif is missing + 1 image file OEBPS/images/ch3-Z-G-57.gif is missing + 1 image file OEBPS/images/ch3-Z-G-56.gif is missing + 1 image file OEBPS/images/ch3-Z-G-55.gif is missing + 1 image file OEBPS/images/ch3-Z-G-54.gif is missing + 1 image file OEBPS/images/ch3-Z-G-53.gif is missing + 1 image file OEBPS/images/ch3-Z-G-52.gif is missing + 1 image file OEBPS/images/ch3-Z-G-51.gif is missing + 1 image file OEBPS/images/ch3-Z-G-50.gif is missing + 1 image file OEBPS/images/ch3-Z-G-5.gif is missing + 1 image file OEBPS/images/ch3-Z-G-49.gif is missing + 1 image file OEBPS/images/ch3-Z-G-48.gif is missing + 1 image file OEBPS/images/ch3-Z-G-47.gif is missing + 1 image file OEBPS/images/ch3-Z-G-46.gif is missing + 1 image file OEBPS/images/ch3-Z-G-45.gif is missing + 1 image file OEBPS/images/ch3-Z-G-44.gif is missing + 1 image file OEBPS/images/ch3-Z-G-43.gif is missing + 1 image file OEBPS/images/ch3-Z-G-42.gif is missing + 1 image file OEBPS/images/ch3-Z-G-41.gif is missing + 1 image file OEBPS/images/ch3-Z-G-40.gif is missing + 1 image file OEBPS/images/ch3-Z-G-4.gif is missing + 1 image file OEBPS/images/ch3-Z-G-39.gif is missing + 1 image file OEBPS/images/ch3-Z-G-38.gif is missing + 1 image file OEBPS/images/ch3-Z-G-37.gif is missing + 1 image file OEBPS/images/ch3-Z-G-36.gif is missing + 1 image file OEBPS/images/ch3-Z-G-35.gif is missing + 1 image file OEBPS/images/ch3-Z-G-32.gif is missing + 1 image file OEBPS/images/ch3-Z-G-31.gif is missing + 1 image file OEBPS/images/ch3-Z-G-30.gif is missing + 1 image file OEBPS/images/ch3-Z-G-3.gif is missing + 1 image file OEBPS/images/ch3-Z-G-27.gif is missing + 1 image file OEBPS/images/ch3-Z-G-26.gif is missing + 1 image file OEBPS/images/ch3-Z-G-25.gif is missing + 1 image file OEBPS/images/ch3-Z-G-24.gif is missing + 1 image file OEBPS/images/ch3-Z-G-23.gif is missing + 1 image file OEBPS/images/ch3-Z-G-22.gif is missing + 1 image file OEBPS/images/ch3-Z-G-21.gif is missing + 1 image file OEBPS/images/ch3-Z-G-20.gif is missing + 1 image file OEBPS/images/ch3-Z-G-2.gif is missing + 1 image file OEBPS/images/ch3-Z-G-19.gif is missing + 1 image file OEBPS/images/ch3-Z-G-18.gif is missing + 1 image file OEBPS/images/ch3-Z-G-17.gif is missing + 1 image file OEBPS/images/ch3-Z-G-16.gif is missing + 1 image file OEBPS/images/ch3-Z-G-15.gif is missing + 1 image file OEBPS/images/ch3-Z-G-14.gif is missing + 1 image file OEBPS/images/ch3-Z-G-13.gif is missing + 1 image file OEBPS/images/ch3-Z-G-12.gif is missing + 1 image file OEBPS/images/ch3-Z-G-11.gif is missing + 1 image file OEBPS/images/ch3-Z-G-10.gif is missing + 1 image file OEBPS/images/ch3-Z-G-1.gif is missing + 1 image file OEBPS/images/ch2-Z-G-9.gif is missing + 1 image file OEBPS/images/ch2-Z-G-8.gif is missing + 1 image file OEBPS/images/ch2-Z-G-78.gif is missing + 1 image file OEBPS/images/ch2-Z-G-77.gif is missing + 1 image file OEBPS/images/ch2-Z-G-76.gif is missing + 1 image file OEBPS/images/ch2-Z-G-71.gif is missing + 1 image file OEBPS/images/ch2-Z-G-7.gif is missing + 1 image file OEBPS/images/ch2-Z-G-67.gif is missing + 1 image file OEBPS/images/ch2-Z-G-65.gif is missing + 1 image file OEBPS/images/ch2-Z-G-64.gif is missing + 1 image file OEBPS/images/ch2-Z-G-63.gif is missing + 1 image file OEBPS/images/ch2-Z-G-62.gif is missing + 1 image file OEBPS/images/ch2-Z-G-61.gif is missing + 1 image file OEBPS/images/ch2-Z-G-60.gif is missing + 1 image file OEBPS/images/ch2-Z-G-6.gif is missing + 1 image file OEBPS/images/ch2-Z-G-59.gif is missing + 1 image file OEBPS/images/ch2-Z-G-54.gif is missing + 1 image file OEBPS/images/ch2-Z-G-53.gif is missing + 1 image file OEBPS/images/ch2-Z-G-52.gif is missing + 1 image file OEBPS/images/ch2-Z-G-51.gif is missing + 1 image file OEBPS/images/ch2-Z-G-50.gif is missing + 1 image file OEBPS/images/ch2-Z-G-5.gif is missing + 1 image file OEBPS/images/ch2-Z-G-49.gif is missing + 1 image file OEBPS/images/ch2-Z-G-48.gif is missing + 1 image file OEBPS/images/ch2-Z-G-47.gif is missing + 1 image file OEBPS/images/ch2-Z-G-46.gif is missing + 1 image file OEBPS/images/ch2-Z-G-45.gif is missing + 1 image file OEBPS/images/ch2-Z-G-43.gif is missing + 1 image file OEBPS/images/ch2-Z-G-42.gif is missing + 1 image file OEBPS/images/ch2-Z-G-41.gif is missing + 1 image file OEBPS/images/ch2-Z-G-40.gif is missing + 1 image file OEBPS/images/ch2-Z-G-4.gif is missing + 1 image file OEBPS/images/ch2-Z-G-39.gif is missing + 1 image file OEBPS/images/ch2-Z-G-38.gif is missing + 1 image file OEBPS/images/ch2-Z-G-37.gif is missing + 1 image file OEBPS/images/ch2-Z-G-36.gif is missing + 1 image file OEBPS/images/ch2-Z-G-35.gif is missing + 1 image file OEBPS/images/ch2-Z-G-34.gif is missing + 1 image file OEBPS/images/ch2-Z-G-33.gif is missing + 1 image file OEBPS/images/ch2-Z-G-32.gif is missing + 1 image file OEBPS/images/ch2-Z-G-31.gif is missing + 1 image file OEBPS/images/ch2-Z-G-30.gif is missing + 1 image file OEBPS/images/ch2-Z-G-3.gif is missing + 1 image file OEBPS/images/ch2-Z-G-29.gif is missing + 1 image file OEBPS/images/ch2-Z-G-28.gif is missing + 1 image file OEBPS/images/ch2-Z-G-27.gif is missing + 1 image file OEBPS/images/ch2-Z-G-26.gif is missing + 1 image file OEBPS/images/ch2-Z-G-25.gif is missing + 1 image file OEBPS/images/ch2-Z-G-24.gif is missing + 1 image file OEBPS/images/ch2-Z-G-2.gif is missing + 1 image file OEBPS/images/ch2-Z-G-17.gif is missing + 1 image file OEBPS/images/ch2-Z-G-16.gif is missing + 1 image file OEBPS/images/ch2-Z-G-15.gif is missing + 1 image file OEBPS/images/ch2-Z-G-13.gif is missing + 1 image file OEBPS/images/ch2-Z-G-12.gif is missing + 1 image file OEBPS/images/ch2-Z-G-11.gif is missing + 1 image file OEBPS/images/ch2-Z-G-10.gif is missing + 1 image file OEBPS/images/ch2-Z-G-1.gif is missing + 1 image file OEBPS/images/ch1-Z-G-7.gif is missing + 1 image file OEBPS/images/ch1-Z-G-6.gif is missing + 1 image file OEBPS/images/ch1-Z-G-5.gif is missing + 1 image file OEBPS/images/ch1-Z-G-4.gif is missing + 1 image file OEBPS/images/ch1-Z-G-38.gif is missing + 1 image file OEBPS/images/ch1-Z-G-37.gif is missing + 1 image file OEBPS/images/ch1-Z-G-36.gif is missing + 1 image file OEBPS/images/ch1-Z-G-35.gif is missing + 1 image file OEBPS/images/ch1-Z-G-30.gif is missing + 1 image file OEBPS/images/ch1-Z-G-3.gif is missing + 1 image file OEBPS/images/ch1-Z-G-29.gif is missing + 1 image file OEBPS/images/ch1-Z-G-28.gif is missing + 1 image file OEBPS/images/ch1-Z-G-27.gif is missing + 1 image file OEBPS/images/ch1-Z-G-26.gif is missing + 1 image file OEBPS/images/ch1-Z-G-19.gif is missing + 1 image file OEBPS/images/ch1-Z-G-13.gif is missing + 1 image file OEBPS/images/ch1-Z-G-12.gif is missing + 1 image file OEBPS/images/ch1-Z-G-10.gif is missing + 1 image file OEBPS/images/ch1-Z-G-1.gif is missing + 1 could not parse OEBPS/book-Z-H-35.html: duplicate id: %_fig_5.17 + 1 OPS/XHTML file OEBPS/images/ch1-Z-G-34.gif is missing + 1 OPS/XHTML file OEBPS/images/ch1-Z-G-2.gif is missing + 1 'http://i.creativecommons.org/l/by-nc/3.0/88x31.png': remote resource reference not allowed; resource must be placed in the OCF + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-34.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-32.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-31.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-28.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-24.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-23.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-18.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-16.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-12.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-11.html' + 1 'heading_id_9': fragment identifier is not defined in 'OEBPS/book-Z-H-10.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-34.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-33.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-32.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-31.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-28.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-24.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-23.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-18.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-16.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-14.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-12.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-11.html' + 1 'heading_id_8': fragment identifier is not defined in 'OEBPS/book-Z-H-10.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-34.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-33.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-32.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-31.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-28.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-27.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-24.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-23.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-20.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-18.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-16.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-14.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-12.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-11.html' + 1 'heading_id_7': fragment identifier is not defined in 'OEBPS/book-Z-H-10.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-34.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-33.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-32.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-31.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-28.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-27.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-24.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-23.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-21.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-20.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-18.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-17.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-16.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-14.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-12.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-11.html' + 1 'heading_id_6': fragment identifier is not defined in 'OEBPS/book-Z-H-10.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-34.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-33.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-32.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-31.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-28.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-27.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-24.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-23.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-21.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-20.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-18.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-17.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-16.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-14.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-12.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-11.html' + 1 'heading_id_5': fragment identifier is not defined in 'OEBPS/book-Z-H-10.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-34.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-33.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-32.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-31.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-28.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-27.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-24.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-23.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-21.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-20.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-18.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-17.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-16.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-14.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-12.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-11.html' + 1 'heading_id_4': fragment identifier is not defined in 'OEBPS/book-Z-H-10.html' + 1 'heading_id_32': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_31': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_30': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-34.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-33.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-32.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-31.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-28.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-27.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-24.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-23.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-21.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-20.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-18.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-17.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-16.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-14.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-12.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-11.html' + 1 'heading_id_3': fragment identifier is not defined in 'OEBPS/book-Z-H-10.html' + 1 'heading_id_29': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_28': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_27': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_26': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_25': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_24': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_23': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_22': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_22': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_21': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_21': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_20': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_20': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_20': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_19': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_19': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_19': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_19': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_18': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_18': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_18': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_18': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_17': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_17': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_17': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_17': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_17': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_16': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_16': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_16': fragment identifier is not defined in 'OEBPS/book-Z-H-28.html' + 1 'heading_id_16': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_16': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_16': fragment identifier is not defined in 'OEBPS/book-Z-H-16.html' + 1 'heading_id_16': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_15': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_15': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_15': fragment identifier is not defined in 'OEBPS/book-Z-H-28.html' + 1 'heading_id_15': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_15': fragment identifier is not defined in 'OEBPS/book-Z-H-24.html' + 1 'heading_id_15': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_15': fragment identifier is not defined in 'OEBPS/book-Z-H-16.html' + 1 'heading_id_15': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_14': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_14': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_14': fragment identifier is not defined in 'OEBPS/book-Z-H-28.html' + 1 'heading_id_14': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_14': fragment identifier is not defined in 'OEBPS/book-Z-H-24.html' + 1 'heading_id_14': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_14': fragment identifier is not defined in 'OEBPS/book-Z-H-16.html' + 1 'heading_id_14': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_13': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_13': fragment identifier is not defined in 'OEBPS/book-Z-H-34.html' + 1 'heading_id_13': fragment identifier is not defined in 'OEBPS/book-Z-H-32.html' + 1 'heading_id_13': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_13': fragment identifier is not defined in 'OEBPS/book-Z-H-28.html' + 1 'heading_id_13': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_13': fragment identifier is not defined in 'OEBPS/book-Z-H-24.html' + 1 'heading_id_13': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_13': fragment identifier is not defined in 'OEBPS/book-Z-H-16.html' + 1 'heading_id_13': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_13': fragment identifier is not defined in 'OEBPS/book-Z-H-10.html' + 1 'heading_id_12': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_12': fragment identifier is not defined in 'OEBPS/book-Z-H-34.html' + 1 'heading_id_12': fragment identifier is not defined in 'OEBPS/book-Z-H-32.html' + 1 'heading_id_12': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_12': fragment identifier is not defined in 'OEBPS/book-Z-H-28.html' + 1 'heading_id_12': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_12': fragment identifier is not defined in 'OEBPS/book-Z-H-24.html' + 1 'heading_id_12': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_12': fragment identifier is not defined in 'OEBPS/book-Z-H-18.html' + 1 'heading_id_12': fragment identifier is not defined in 'OEBPS/book-Z-H-16.html' + 1 'heading_id_12': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_12': fragment identifier is not defined in 'OEBPS/book-Z-H-11.html' + 1 'heading_id_12': fragment identifier is not defined in 'OEBPS/book-Z-H-10.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-34.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-32.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-28.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-24.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-23.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-18.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-16.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-12.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-11.html' + 1 'heading_id_11': fragment identifier is not defined in 'OEBPS/book-Z-H-10.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-34.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-32.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-29.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-28.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-26.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-24.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-23.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-22.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-18.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-16.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-12.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-11.html' + 1 'heading_id_10': fragment identifier is not defined in 'OEBPS/book-Z-H-10.html' + 1 'footnote_Temp_815': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'footnote_Temp_814': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'footnote_Temp_813': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'footnote_Temp_812': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'footnote_Temp_809': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'footnote_Temp_806': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'footnote_Temp_803': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'footnote_Temp_797': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'footnote_Temp_795': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'footnote_Temp_794': fragment identifier is not defined in 'OEBPS/book-Z-H-35.html' + 1 'footnote_Temp_225': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_221': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_220': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_216': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_215': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_211': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_208': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_207': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_204': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_202': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_197': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_196': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_195': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_194': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_190': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_186': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_183': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_182': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_170': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_164': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'footnote_Temp_158': fragment identifier is not defined in 'OEBPS/book-Z-H-15.html' + 1 'OEBPS/images/ch1-Z-G-34.svg': referenced resource missing in the package. From 61d26510ce80180cd586ced9ac4be81255bc462f Mon Sep 17 00:00:00 2001 From: Thomas Stephens Date: Thu, 5 Dec 2013 21:25:15 -0600 Subject: [PATCH 07/26] Removing invalid name attribute from non-link anchor tags --- src/OEBPS/book-Z-H-1.html | 2 +- src/OEBPS/book-Z-H-10.html | 410 +++++++++++++-------------- src/OEBPS/book-Z-H-11.html | 372 ++++++++++++------------- src/OEBPS/book-Z-H-12.html | 316 ++++++++++----------- src/OEBPS/book-Z-H-13.html | 26 +- src/OEBPS/book-Z-H-14.html | 220 +++++++-------- src/OEBPS/book-Z-H-15.html | 556 ++++++++++++++++++------------------- src/OEBPS/book-Z-H-16.html | 322 ++++++++++----------- src/OEBPS/book-Z-H-17.html | 200 ++++++------- src/OEBPS/book-Z-H-18.html | 316 ++++++++++----------- src/OEBPS/book-Z-H-19.html | 16 +- src/OEBPS/book-Z-H-20.html | 188 ++++++------- src/OEBPS/book-Z-H-21.html | 114 ++++---- src/OEBPS/book-Z-H-22.html | 528 +++++++++++++++++------------------ src/OEBPS/book-Z-H-23.html | 238 ++++++++-------- src/OEBPS/book-Z-H-24.html | 508 ++++++++++++++++----------------- src/OEBPS/book-Z-H-25.html | 24 +- src/OEBPS/book-Z-H-26.html | 508 ++++++++++++++++----------------- src/OEBPS/book-Z-H-27.html | 166 +++++------ src/OEBPS/book-Z-H-28.html | 294 ++++++++++---------- src/OEBPS/book-Z-H-29.html | 536 +++++++++++++++++------------------ src/OEBPS/book-Z-H-30.html | 8 +- src/OEBPS/book-Z-H-31.html | 142 +++++----- src/OEBPS/book-Z-H-32.html | 220 +++++++-------- src/OEBPS/book-Z-H-33.html | 180 ++++++------ src/OEBPS/book-Z-H-34.html | 232 ++++++++-------- src/OEBPS/book-Z-H-35.html | 422 ++++++++++++++-------------- src/OEBPS/book-Z-H-36.html | 2 +- src/OEBPS/book-Z-H-37.html | 266 +++++++++--------- src/OEBPS/book-Z-H-38.html | 6 +- src/OEBPS/book-Z-H-4.html | 260 ++++++++--------- src/OEBPS/book-Z-H-5.html | 2 +- src/OEBPS/book-Z-H-6.html | 4 +- src/OEBPS/book-Z-H-7.html | 4 +- src/OEBPS/book-Z-H-8.html | 2 +- src/OEBPS/book-Z-H-9.html | 18 +- src/OEBPS/book-Z-H-9a.html | 60 ++-- 37 files changed, 3844 insertions(+), 3844 deletions(-) diff --git a/src/OEBPS/book-Z-H-1.html b/src/OEBPS/book-Z-H-1.html index ae33b40..7a2c09d 100644 --- a/src/OEBPS/book-Z-H-1.html +++ b/src/OEBPS/book-Z-H-1.html @@ -10,7 +10,7 @@ - +

Structure and Interpretation
of Computer Programs

second edition 
diff --git a/src/OEBPS/book-Z-H-10.html b/src/OEBPS/book-Z-H-10.html index 8e03f43..a0a0150 100644 --- a/src/OEBPS/book-Z-H-10.html +++ b/src/OEBPS/book-Z-H-10.html @@ -13,11 +13,11 @@ - +

1.1  The Elements of Programming

- + A powerful programming language is more than just a means for instructing a computer to perform tasks. The language also serves as a framework within which we organize our ideas about processes. Thus, @@ -26,31 +26,31 @@

1.1  The Elements of Programming more complex ideas. Every powerful language has three mechanisms for accomplishing this:

-