[1] We can't just use the labels true_branch, false_branch, and after_cond as shown above, because there might be more than one conditional in the program. The compiler uses the function make_label to generate labels. The function make_label takes a string as argument and returns a new string that begins with the given string. For example, successive calls to make_label("a") would return "a1", "a2", and so on. The function make_label can be implemented similarly to the generation of unique variable names in the query language, as follows:
let label_counter = 0;

function new_label_number() {
    label_counter = label_counter + 1;
    return label_counter;
}
function make_label(string) {
    return string + stringify(new_label_number());
}
[2] The continue register would be needed for a "return" linkage, which can result from a compilation by compile_and_go (section 5.5.7).
[3] Our compiler does not detect all dead code. For example, a conditional statement whose consequent and alternative branches both end in a return statement will not stop subsequent statements from being compiled. See exercises 5.33 and 5.34.
[4] We need machine operations to implement a data structure for representing compiled functions, analogous to the structure for compound functions described in section 4.1.3:
function make_compiled_function(entry, env) {
    return list("compiled_function", entry, env);
}
function is_compiled_function(fun) {
    return is_tagged_list(fun, "compiled_function");
}
function compiled_function_entry(c_fun) {
    return head(tail(c_fun));
}
function compiled_function_env(c_fun) {
    return head(tail(tail(c_fun)));
}
[5] The augmented function body is a sequence ending with a return statement. Compilation of a sequence of statements uses the linkage "next" for all its component statements except the last, for which it uses the given linkage. In this case, the last statement is a return statement, and as we will see in section 5.5.3, a return statement always uses the "return" linkage descriptor for its return expression. Thus all function bodies will end with a "return" linkage, not the "next" we pass as the linkage argument to compile in compile_lambda_body.
5.5.2   Compiling Components