Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion xml/chapter4/section1/subsection2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -567,7 +567,7 @@ null
and omit their declarations if they just access the obvious list elements.
</TEXT>
<TEXT>
We provide a constructor for literals, which will come in handy.
We provide a constructor for literals, which will come in handy:
<SNIPPET PAGE="369" POSTPADDING="no">
<INDEX><DECLARATION>make_literal</DECLARATION></INDEX>
<NAME>make_literal</NAME>
Expand Down
1 change: 1 addition & 0 deletions xml/chapter4/section4/subsection1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1740,6 +1740,7 @@ process_query('outranked_by(list($who, "Ben"), $the_boss)', "");
</SNIPPET>
says that a staff person is outranked by a boss in the organization if
the boss is the person<APOS/>s supervisor or (recursively) if the
<SHRINK_PARAGRAPH lines="1"/>
person<APOS/>s supervisor is outranked by the boss.
</TEXT>

Expand Down
1 change: 0 additions & 1 deletion xml/chapter5/section4/subsection1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -806,7 +806,6 @@ compound-apply
</JAVASCRIPT>
</SNIPPET>

<LONG_PAGE lines="1"/>
<TEXT>
Unlike <JAVASCRIPTINLINE>eval_sequence</JAVASCRIPTINLINE> in the metacircular
evaluator, <JAVASCRIPTINLINE>ev_sequence</JAVASCRIPTINLINE> does not need to check whether a return statement was
Expand Down
27 changes: 1 addition & 26 deletions xml/chapter5/section5/subsection1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -682,31 +682,6 @@ make_instruction_sequence(list("env", "continue"), list("val"),
</SNIPPET>
</TEXT>

<TEXT>
We sometimes need to construct an instruction sequence with no
<SPLITINLINE>
<SCHEME>
statements:
</SCHEME>
<JAVASCRIPT>
instructions:
</JAVASCRIPT>
</SPLITINLINE>
<SNIPPET EVAL="no">
<INDEX><DECLARATION>empty_instruction_sequence</DECLARATION></INDEX>
<NAME>empty_instruction_sequence</NAME>
<SCHEME>
(define (empty-instruction-sequence)
(make-instruction-sequence '() '() '()))
</SCHEME>
<JAVASCRIPT>
function empty_instruction_sequence() {
return make_instruction_sequence(null, null, null);
}
</JAVASCRIPT>
</SNIPPET>
</TEXT>

<TEXT>
The
<SPLITINLINE>
Expand Down Expand Up @@ -800,7 +775,6 @@ f(g("x"), "y")
</SNIPPET>
</EXERCISE>

<SHORT_PAGE lines="2"/>
<EXERCISE>
Using the
<INDEX>compiler for JavaScript<SUBINDEX>explicit-control evaluator vs.</SUBINDEX></INDEX>
Expand Down Expand Up @@ -838,6 +812,7 @@ f(g("x"), "y")
</JAVASCRIPT>
</SPLITINLINE>
as a special case.
<DO_BREAK_PAGE/>
<OL>
<LI>
Extend the explicit-control evaluator to recognize as a separate class
Expand Down
10 changes: 7 additions & 3 deletions xml/chapter5/section5/subsection2.xml
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ function compile_linkage(linkage) {
? make_instruction_sequence(list("continue"), null,
list(go_to(reg("continue"))))
: linkage === "next"
? empty_instruction_sequence()
? make_instruction_sequence(null, null, null)
: make_instruction_sequence(null, null,
list(go_to(label(linkage))));
}
Expand Down Expand Up @@ -156,7 +156,7 @@ function end_with_linkage(linkage, instruction_sequence) {
</SNIPPET>
</TEXT>

<SHORT_PAGE lines="3"/>
<DO_BREAK_PAGE/>
<SUBHEADING>
<NAME>Compiling simple
<SPLITINLINE>
Expand Down Expand Up @@ -742,7 +742,11 @@ function compile_conditional(component, target, linkage) {
and <SCHEMEINLINE>continue</SCHEMEINLINE> (possibly needed
for the linkage at the end of the sequence)
are preserved.<FOOTNOTE>

The <JAVASCRIPTINLINE>continue</JAVASCRIPTINLINE> register would
be needed for a <JAVASCRIPTINLINE>"return"</JAVASCRIPTINLINE>
linkage, which can result from a compilation by
<JAVASCRIPTINLINE>compile_and_go</JAVASCRIPTINLINE>
(section<SPACE/><REF NAME="sec:interfacing-compiled-code"/>).
</FOOTNOTE>
</JAVASCRIPT>
</SPLITINLINE>
Expand Down
1 change: 0 additions & 1 deletion xml/chapter5/section5/subsection7.xml
Original file line number Diff line number Diff line change
Expand Up @@ -935,7 +935,6 @@ const eceval =
<REQUIRES>start</REQUIRES>
<REQUIRES>compile</REQUIRES>
<REQUIRES>make_instruction_sequence</REQUIRES>
<REQUIRES>empty_instruction_sequence</REQUIRES>
<REQUIRES>compile_linkage</REQUIRES>
<REQUIRES>end_with_linkage</REQUIRES>
<REQUIRES>compile_literal</REQUIRES>
Expand Down