Better cross-references to explicit URLs
This commit is contained in:
parent
a845336ecd
commit
dc0b313eed
19 changed files with 470 additions and 306 deletions
|
@ -25,8 +25,6 @@ void TextWeaver::commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre
|
||||||
(in_code)?(I"Code In Code Comments Notation"):(I"Code In Commentary Notation"));
|
(in_code)?(I"Code In Code Comments Notation"):(I"Code In Commentary Notation"));
|
||||||
if (Str::ne(code_in_comments_notation, I"Off")) @<Split text and code extracts@>;
|
if (Str::ne(code_in_comments_notation, I"Off")) @<Split text and code extracts@>;
|
||||||
|
|
||||||
if (within == FALSE) @<Recognose hyperlinks@>;
|
|
||||||
|
|
||||||
int display_flag = TRUE;
|
int display_flag = TRUE;
|
||||||
text_stream *tex_notation = Bibliographic::get_datum(wv->weave_web->md,
|
text_stream *tex_notation = Bibliographic::get_datum(wv->weave_web->md,
|
||||||
I"TeX Mathematics Displayed Notation");
|
I"TeX Mathematics Displayed Notation");
|
||||||
|
@ -43,6 +41,7 @@ void TextWeaver::commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre
|
||||||
if (within) {
|
if (within) {
|
||||||
TextWeaver::inline_code_fragment(tree, ap, matter);
|
TextWeaver::inline_code_fragment(tree, ap, matter);
|
||||||
} else {
|
} else {
|
||||||
|
@<Recognise hyperlinks@>;
|
||||||
@<Detect use of footnotes@>;
|
@<Detect use of footnotes@>;
|
||||||
TextWeaver::commentary_fragment(tree, ap, matter, in_code);
|
TextWeaver::commentary_fragment(tree, ap, matter, in_code);
|
||||||
}
|
}
|
||||||
|
@ -65,7 +64,7 @@ void TextWeaver::commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@<Recognose hyperlinks@> =
|
@<Recognise hyperlinks@> =
|
||||||
for (int i=0; i < Str::len(matter); i++) {
|
for (int i=0; i < Str::len(matter); i++) {
|
||||||
if ((Str::includes_at(matter, i, I"http://")) ||
|
if ((Str::includes_at(matter, i, I"http://")) ||
|
||||||
(Str::includes_at(matter, i, I"https://"))) {
|
(Str::includes_at(matter, i, I"https://"))) {
|
||||||
|
@ -75,6 +74,15 @@ void TextWeaver::commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre
|
||||||
Str::substr(after, Str::at(matter, i), Str::end(matter));
|
Str::substr(after, Str::at(matter, i), Str::end(matter));
|
||||||
match_results mr = Regexp::create_mr();
|
match_results mr = Regexp::create_mr();
|
||||||
if (Regexp::match(&mr, after, L"(https*://%C+)(%c*)")) {
|
if (Regexp::match(&mr, after, L"(https*://%C+)(%c*)")) {
|
||||||
|
while (TextWeaver::boundary_character(FALSE, Str::get_last_char(mr.exp[0]))) {
|
||||||
|
wchar_t c = Str::get_last_char(mr.exp[0]);
|
||||||
|
Str::delete_last_character(mr.exp[0]);
|
||||||
|
TEMPORARY_TEXT(longer);
|
||||||
|
WRITE_TO(longer, "%c%S", c, mr.exp[1]);
|
||||||
|
Str::clear(mr.exp[1]);
|
||||||
|
Str::copy(mr.exp[1], longer);
|
||||||
|
DISCARD_TEXT(longer);
|
||||||
|
}
|
||||||
TextWeaver::commentary_r(tree, ap, before, within, in_code);
|
TextWeaver::commentary_r(tree, ap, before, within, in_code);
|
||||||
Trees::make_child(WeaveTree::url(tree, mr.exp[0], mr.exp[0], TRUE), ap);
|
Trees::make_child(WeaveTree::url(tree, mr.exp[0], mr.exp[0], TRUE), ap);
|
||||||
TextWeaver::commentary_r(tree, ap, mr.exp[1], within, in_code);
|
TextWeaver::commentary_r(tree, ap, mr.exp[1], within, in_code);
|
||||||
|
@ -141,10 +149,14 @@ void TextWeaver::commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre
|
||||||
@<Recognise cross-references@> =
|
@<Recognise cross-references@> =
|
||||||
int N = Str::len(xref_notation);
|
int N = Str::len(xref_notation);
|
||||||
for (int i=0; i < Str::len(matter); i++) {
|
for (int i=0; i < Str::len(matter); i++) {
|
||||||
if ((within == FALSE) && (Str::includes_at(matter, i, xref_notation))) {
|
if ((within == FALSE) && (Str::includes_at(matter, i, xref_notation)) &&
|
||||||
|
((i == 0) || (TextWeaver::boundary_character(TRUE,
|
||||||
|
Str::get_at(matter, i-1))))) {
|
||||||
int j = i + N+1;
|
int j = i + N+1;
|
||||||
while (j < Str::len(matter)) {
|
while (j < Str::len(matter)) {
|
||||||
if (Str::includes_at(matter, j, xref_notation)) {
|
if ((Str::includes_at(matter, j, xref_notation)) &&
|
||||||
|
(TextWeaver::boundary_character(FALSE,
|
||||||
|
Str::get_at(matter, j+Str::len(xref_notation))))) {
|
||||||
int allow = FALSE;
|
int allow = FALSE;
|
||||||
TEMPORARY_TEXT(before);
|
TEMPORARY_TEXT(before);
|
||||||
TEMPORARY_TEXT(reference);
|
TEMPORARY_TEXT(reference);
|
||||||
|
@ -166,19 +178,35 @@ void TextWeaver::commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre
|
||||||
@<Attempt to resolve the cross-reference@> =
|
@<Attempt to resolve the cross-reference@> =
|
||||||
TEMPORARY_TEXT(url);
|
TEMPORARY_TEXT(url);
|
||||||
TEMPORARY_TEXT(title);
|
TEMPORARY_TEXT(title);
|
||||||
|
int ext = FALSE;
|
||||||
if (Colonies::resolve_reference_in_weave(url, title, wv->weave_to, reference,
|
if (Colonies::resolve_reference_in_weave(url, title, wv->weave_to, reference,
|
||||||
wv->weave_web->md, wv->current_weave_line)) {
|
wv->weave_web->md, wv->current_weave_line, &ext)) {
|
||||||
TextWeaver::commentary_r(tree, ap, before, within, in_code);
|
TextWeaver::commentary_r(tree, ap, before, within, in_code);
|
||||||
Trees::make_child(WeaveTree::url(tree, url, title, FALSE), ap);
|
Trees::make_child(WeaveTree::url(tree, url, title, ext), ap);
|
||||||
TextWeaver::commentary_r(tree, ap, after, within, in_code);
|
TextWeaver::commentary_r(tree, ap, after, within, in_code);
|
||||||
allow = TRUE;
|
allow = TRUE;
|
||||||
}
|
}
|
||||||
DISCARD_TEXT(url);
|
DISCARD_TEXT(url);
|
||||||
DISCARD_TEXT(title);
|
DISCARD_TEXT(title);
|
||||||
|
|
||||||
@
|
@ This tests whether a cross-reference is allowed to begin or end: it must
|
||||||
|
begin after and finish before a "boundary character".
|
||||||
|
|
||||||
|
Note the one-sided treatment of |:|, which is a boundary after but not before,
|
||||||
|
so that |http://| won't trigger a cross-reference with the standard |//|
|
||||||
|
xref notation.
|
||||||
|
|
||||||
=
|
=
|
||||||
|
int TextWeaver::boundary_character(int before, wchar_t c) {
|
||||||
|
if (c == 0) return TRUE;
|
||||||
|
if (Characters::is_whitespace(c)) return TRUE;
|
||||||
|
if ((c == '.') || (c == ',') || (c == '!') || (c == '?') || (c == ';') ||
|
||||||
|
(c == '(')|| (c == ')')) return TRUE;
|
||||||
|
if ((before == FALSE) && (c == ':')) return TRUE;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ =
|
||||||
void TextWeaver::commentary_fragment(heterogeneous_tree *tree, tree_node *ap,
|
void TextWeaver::commentary_fragment(heterogeneous_tree *tree, tree_node *ap,
|
||||||
text_stream *fragment, int in_code) {
|
text_stream *fragment, int in_code) {
|
||||||
if (Str::len(fragment) > 0)
|
if (Str::len(fragment) > 0)
|
||||||
|
@ -264,9 +292,10 @@ void TextWeaver::source_code(heterogeneous_tree *tree, tree_node *ap,
|
||||||
@<Attempt to resolve the cross-reference at the eleventh hour@> =
|
@<Attempt to resolve the cross-reference at the eleventh hour@> =
|
||||||
TEMPORARY_TEXT(url);
|
TEMPORARY_TEXT(url);
|
||||||
TEMPORARY_TEXT(title);
|
TEMPORARY_TEXT(title);
|
||||||
|
int ext = FALSE;
|
||||||
if (Colonies::resolve_reference_in_weave(url, title, wv->weave_to, reference,
|
if (Colonies::resolve_reference_in_weave(url, title, wv->weave_to, reference,
|
||||||
wv->weave_web->md, wv->current_weave_line)) {
|
wv->weave_web->md, wv->current_weave_line, &ext)) {
|
||||||
tree_node *U = WeaveTree::url(tree, url, title, FALSE);
|
tree_node *U = WeaveTree::url(tree, url, title, ext);
|
||||||
TextWeaver::source_code_piece(tree, ap, matter, colouring, from, i);
|
TextWeaver::source_code_piece(tree, ap, matter, colouring, from, i);
|
||||||
Trees::make_child(U, ap);
|
Trees::make_child(U, ap);
|
||||||
i = j + N;
|
i = j + N;
|
||||||
|
|
|
@ -308,27 +308,30 @@ is where the reference is made from.
|
||||||
|
|
||||||
=
|
=
|
||||||
int Colonies::resolve_reference_in_weave(text_stream *url, text_stream *title,
|
int Colonies::resolve_reference_in_weave(text_stream *url, text_stream *title,
|
||||||
filename *for_HTML_file, text_stream *text, web_md *Wm, source_line *L) {
|
filename *for_HTML_file, text_stream *text, web_md *Wm, source_line *L, int *ext) {
|
||||||
int r = 0;
|
int r = 0;
|
||||||
|
if (ext) *ext = FALSE;
|
||||||
match_results mr = Regexp::create_mr();
|
match_results mr = Regexp::create_mr();
|
||||||
if (Regexp::match(&mr, text, L"(%c+?) -> (%c+)")) {
|
if (Regexp::match(&mr, text, L"(%c+?) -> (%c+)")) {
|
||||||
r = Colonies::resolve_reference_in_weave_inner(url, NULL,
|
r = Colonies::resolve_reference_in_weave_inner(url, NULL,
|
||||||
for_HTML_file, mr.exp[1], Wm, L);
|
for_HTML_file, mr.exp[1], Wm, L, ext);
|
||||||
WRITE_TO(title, "%S", mr.exp[0]);
|
WRITE_TO(title, "%S", mr.exp[0]);
|
||||||
} else {
|
} else {
|
||||||
r = Colonies::resolve_reference_in_weave_inner(url, title,
|
r = Colonies::resolve_reference_in_weave_inner(url, title,
|
||||||
for_HTML_file, text, Wm, L);
|
for_HTML_file, text, Wm, L, ext);
|
||||||
}
|
}
|
||||||
Regexp::dispose_of(&mr);
|
Regexp::dispose_of(&mr);
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Colonies::resolve_reference_in_weave_inner(text_stream *url, text_stream *title,
|
int Colonies::resolve_reference_in_weave_inner(text_stream *url, text_stream *title,
|
||||||
filename *for_HTML_file, text_stream *text, web_md *Wm, source_line *L) {
|
filename *for_HTML_file, text_stream *text, web_md *Wm, source_line *L, int *ext) {
|
||||||
module *from_M = (Wm)?(Wm->as_module):NULL;
|
module *from_M = (Wm)?(Wm->as_module):NULL;
|
||||||
module *search_M = from_M;
|
module *search_M = from_M;
|
||||||
colony_member *search_CM = NULL;
|
colony_member *search_CM = NULL;
|
||||||
int external = FALSE;
|
int external = FALSE;
|
||||||
|
|
||||||
|
@<Is it an explicit URL?@>;
|
||||||
@<Is it the name of a member of our colony?@>;
|
@<Is it the name of a member of our colony?@>;
|
||||||
@<If it contains a colon, does this indicate a section in a colony member?@>;
|
@<If it contains a colon, does this indicate a section in a colony member?@>;
|
||||||
|
|
||||||
|
@ -358,6 +361,17 @@ int Colonies::resolve_reference_in_weave_inner(text_stream *url, text_stream *ti
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@<Is it an explicit URL?@> =
|
||||||
|
match_results mr = Regexp::create_mr();
|
||||||
|
if (Regexp::match(&mr, text, L"https*://%c*")) {
|
||||||
|
WRITE_TO(url, "%S", text);
|
||||||
|
WRITE_TO(title, "%S", text);
|
||||||
|
Regexp::dispose_of(&mr);
|
||||||
|
if (ext) *ext = TRUE;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
Regexp::dispose_of(&mr);
|
||||||
|
|
||||||
@<Is it the name of a member of our colony?@> =
|
@<Is it the name of a member of our colony?@> =
|
||||||
search_CM = Colonies::find(text);
|
search_CM = Colonies::find(text);
|
||||||
if (search_CM) {
|
if (search_CM) {
|
||||||
|
@ -449,7 +463,7 @@ void Colonies::link_URL(OUTPUT_STREAM, text_stream *link_text, filename *F) {
|
||||||
void Colonies::reference_URL(OUTPUT_STREAM, text_stream *link_text, filename *F) {
|
void Colonies::reference_URL(OUTPUT_STREAM, text_stream *link_text, filename *F) {
|
||||||
TEMPORARY_TEXT(title);
|
TEMPORARY_TEXT(title);
|
||||||
TEMPORARY_TEXT(url);
|
TEMPORARY_TEXT(url);
|
||||||
if (Colonies::resolve_reference_in_weave(url, title, F, link_text, NULL, NULL))
|
if (Colonies::resolve_reference_in_weave(url, title, F, link_text, NULL, NULL, NULL))
|
||||||
WRITE("%S", url);
|
WRITE("%S", url);
|
||||||
else
|
else
|
||||||
PRINT("Warning: unable to resolve reference '%S' in navigation\n", link_text);
|
PRINT("Warning: unable to resolve reference '%S' in navigation\n", link_text);
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 186 KiB |
Binary file not shown.
Before Width: | Height: | Size: 581 KiB |
Binary file not shown.
Before Width: | Height: | Size: 51 KiB |
|
@ -24,7 +24,7 @@ said as late as the early twentieth century.
|
||||||
of the great age of Enlightenment letter-writing. He and Euler exchanged
|
of the great age of Enlightenment letter-writing. He and Euler exchanged
|
||||||
scholarly letters for over thirty years, not something Euler would have
|
scholarly letters for over thirty years, not something Euler would have
|
||||||
kept up with a duffer. Goldbach was also not, as is sometimes said, a lawyer.
|
kept up with a duffer. Goldbach was also not, as is sometimes said, a lawyer.
|
||||||
See: http://mathshistory.st-andrews.ac.uk/Biographies/Goldbach.html
|
See: http://mathshistory.st-andrews.ac.uk/Biographies/Goldbach.html.
|
||||||
An edited transcription of the letter is at: http://eulerarchive.maa.org//correspondence/letters/OO0765.pdf
|
An edited transcription of the letter is at: http://eulerarchive.maa.org//correspondence/letters/OO0765.pdf
|
||||||
|
|
||||||
@ Computer verification has been made up to around $10^{18}$, but by rather
|
@ Computer verification has been made up to around $10^{18}$, but by rather
|
||||||
|
|
|
@ -365,25 +365,27 @@ For example,
|
||||||
URLs in the web are automatically recognised and a weave to HTML will
|
URLs in the web are automatically recognised and a weave to HTML will
|
||||||
make them into links. For example:
|
make them into links. For example:
|
||||||
= (text)
|
= (text)
|
||||||
For further reading, see: https://en.wikipedia.org/wiki/How_to_Avoid_Huge_Ships
|
For further reading, see: https://en.wikipedia.org/wiki/How_to_Avoid_Huge_Ships.
|
||||||
=
|
=
|
||||||
For further reading, see: https://en.wikipedia.org/wiki/How_to_Avoid_Huge_Ships
|
For further reading, see: https://en.wikipedia.org/wiki/How_to_Avoid_Huge_Ships.
|
||||||
|
|
||||||
Note that URLs are considered to continue to the next white space, so don't
|
Note that URLs are considered to continue to the next white space, except
|
||||||
end them with full stops or commas.
|
that any final full stops, question or exclamation marks, commas, brackets,
|
||||||
|
semicolons, or colons are disregarded. (This is why the above sentence ended
|
||||||
|
with a full stop and yet the full stop wasn't part of the reference URL.)
|
||||||
|
|
||||||
URLs will also be recognised in any text extract marked as |hyperlinked|.
|
URLs will also be recognised in any text extract marked as |hyperlinked|.
|
||||||
For example,
|
For example,
|
||||||
= (text)
|
= (text)
|
||||||
Compare: https://en.wikipedia.org/wiki/Crocheting_Adventures_with_Hyperbolic_Planes
|
Compare: https://en.wikipedia.org/wiki/Crocheting_Adventures_with_Hyperbolic_Planes!
|
||||||
=
|
=
|
||||||
produces:
|
produces:
|
||||||
= (hyperlinked text)
|
= (hyperlinked text)
|
||||||
Compare: https://en.wikipedia.org/wiki/Crocheting_Adventures_with_Hyperbolic_Planes
|
Compare: https://en.wikipedia.org/wiki/Crocheting_Adventures_with_Hyperbolic_Planes!
|
||||||
=
|
=
|
||||||
|
|
||||||
@h Cross-references.
|
@h Cross-references.
|
||||||
These are like links, but internal. These are normally written within |//|
|
These are like links, but are internal. These are normally written within |//|
|
||||||
signs and are only available in the commentary of a web. They allow us to
|
signs and are only available in the commentary of a web. They allow us to
|
||||||
place cross-references like so:
|
place cross-references like so:
|
||||||
= (text)
|
= (text)
|
||||||
|
@ -413,6 +415,12 @@ This is simple: for example,
|
||||||
=
|
=
|
||||||
produces: "First //the program has to configure itself -> Configuration//,
|
produces: "First //the program has to configure itself -> Configuration//,
|
||||||
then..."; the text "the program has to configure itself" links to //Configuration//.
|
then..."; the text "the program has to configure itself" links to //Configuration//.
|
||||||
|
This is especially useful if the destination is given as an explicit URL, which
|
||||||
|
is also allowed:
|
||||||
|
= (text)
|
||||||
|
See //this biographical note -> http://mathshistory.st-andrews.ac.uk/Biographies/Gauss.html//.
|
||||||
|
=
|
||||||
|
See //this biographical note -> http://mathshistory.st-andrews.ac.uk/Biographies/Gauss.html//.
|
||||||
|
|
||||||
@ It's also possible to reference function names and type names, provided that
|
@ It's also possible to reference function names and type names, provided that
|
||||||
the language definition supports these (see //Supporting Programming Languages//):
|
the language definition supports these (see //Supporting Programming Languages//):
|
||||||
|
@ -440,7 +448,11 @@ produces:
|
||||||
See the //Manual// for more on this.
|
See the //Manual// for more on this.
|
||||||
=
|
=
|
||||||
|
|
||||||
This notation may be inconvenient if you need |//| for something else, but it
|
@ Cross-references must begin after white space, or a punctuation mark (other
|
||||||
|
than a colon), and must end to be followed by more white space or another
|
||||||
|
punctuation mark (this time allowing a colon). In practice, that reduces
|
||||||
|
the risk of misunderstanding a |//| occurring in the commentary for some
|
||||||
|
other reason. All the same, you might want a different notation, so this
|
||||||
can be configured in the Contents page of a web, say like so:
|
can be configured in the Contents page of a web, say like so:
|
||||||
= (text as Inweb)
|
= (text as Inweb)
|
||||||
Cross-References Notation: &&&
|
Cross-References Notation: &&&
|
||||||
|
|
412
Tangled/inweb.c
412
Tangled/inweb.c
|
@ -3735,13 +3735,15 @@ void TextWeaver__commentary_text(heterogeneous_tree *tree, tree_node *ap, text_
|
||||||
void TextWeaver__comment_text_in_code(heterogeneous_tree *tree, tree_node *ap, text_stream *matter) ;
|
void TextWeaver__comment_text_in_code(heterogeneous_tree *tree, tree_node *ap, text_stream *matter) ;
|
||||||
#line 19 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 19 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
void TextWeaver__commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stream *matter, int within, int in_code) ;
|
void TextWeaver__commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stream *matter, int within, int in_code) ;
|
||||||
#line 182 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 200 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
|
int TextWeaver__boundary_character(int before, wchar_t c) ;
|
||||||
|
#line 210 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
void TextWeaver__commentary_fragment(heterogeneous_tree *tree, tree_node *ap, text_stream *fragment, int in_code) ;
|
void TextWeaver__commentary_fragment(heterogeneous_tree *tree, tree_node *ap, text_stream *fragment, int in_code) ;
|
||||||
#line 188 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 216 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
void TextWeaver__inline_code_fragment(heterogeneous_tree *tree, tree_node *ap, text_stream *fragment) ;
|
void TextWeaver__inline_code_fragment(heterogeneous_tree *tree, tree_node *ap, text_stream *fragment) ;
|
||||||
#line 201 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 229 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
void TextWeaver__source_code(heterogeneous_tree *tree, tree_node *ap, text_stream *matter, text_stream *colouring, int linked) ;
|
void TextWeaver__source_code(heterogeneous_tree *tree, tree_node *ap, text_stream *matter, text_stream *colouring, int linked) ;
|
||||||
#line 305 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 334 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
void TextWeaver__source_code_piece(heterogeneous_tree *tree, tree_node *ap, text_stream *matter, text_stream *colouring, int from, int to) ;
|
void TextWeaver__source_code_piece(heterogeneous_tree *tree, tree_node *ap, text_stream *matter, text_stream *colouring, int from, int to) ;
|
||||||
#line 14 "inweb/Chapter 3/The Tangler.w"
|
#line 14 "inweb/Chapter 3/The Tangler.w"
|
||||||
void Tangler__tangle(web *W, tangle_target *target, filename *dest_file) ;
|
void Tangler__tangle(web *W, tangle_target *target, filename *dest_file) ;
|
||||||
|
@ -4240,18 +4242,18 @@ pathname * Colonies__assets_path(void) ;
|
||||||
#line 284 "inweb/Chapter 6/Colonies.w"
|
#line 284 "inweb/Chapter 6/Colonies.w"
|
||||||
pathname * Colonies__patterns_path(void) ;
|
pathname * Colonies__patterns_path(void) ;
|
||||||
#line 310 "inweb/Chapter 6/Colonies.w"
|
#line 310 "inweb/Chapter 6/Colonies.w"
|
||||||
int Colonies__resolve_reference_in_weave(text_stream *url, text_stream *title, filename *for_HTML_file, text_stream *text, web_md *Wm, source_line *L) ;
|
int Colonies__resolve_reference_in_weave(text_stream *url, text_stream *title, filename *for_HTML_file, text_stream *text, web_md *Wm, source_line *L, int *ext) ;
|
||||||
#line 325 "inweb/Chapter 6/Colonies.w"
|
#line 327 "inweb/Chapter 6/Colonies.w"
|
||||||
int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *title, filename *for_HTML_file, text_stream *text, web_md *Wm, source_line *L) ;
|
int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *title, filename *for_HTML_file, text_stream *text, web_md *Wm, source_line *L, int *ext) ;
|
||||||
#line 440 "inweb/Chapter 6/Colonies.w"
|
#line 454 "inweb/Chapter 6/Colonies.w"
|
||||||
void Colonies__link_URL(OUTPUT_STREAM, text_stream *link_text, filename *F) ;
|
void Colonies__link_URL(OUTPUT_STREAM, text_stream *link_text, filename *F) ;
|
||||||
#line 449 "inweb/Chapter 6/Colonies.w"
|
#line 463 "inweb/Chapter 6/Colonies.w"
|
||||||
void Colonies__reference_URL(OUTPUT_STREAM, text_stream *link_text, filename *F) ;
|
void Colonies__reference_URL(OUTPUT_STREAM, text_stream *link_text, filename *F) ;
|
||||||
#line 460 "inweb/Chapter 6/Colonies.w"
|
#line 474 "inweb/Chapter 6/Colonies.w"
|
||||||
void Colonies__section_URL(OUTPUT_STREAM, section_md *Sm) ;
|
void Colonies__section_URL(OUTPUT_STREAM, section_md *Sm) ;
|
||||||
#line 470 "inweb/Chapter 6/Colonies.w"
|
#line 484 "inweb/Chapter 6/Colonies.w"
|
||||||
void Colonies__paragraph_URL(OUTPUT_STREAM, paragraph *P, filename *from) ;
|
void Colonies__paragraph_URL(OUTPUT_STREAM, paragraph *P, filename *from) ;
|
||||||
#line 491 "inweb/Chapter 6/Colonies.w"
|
#line 505 "inweb/Chapter 6/Colonies.w"
|
||||||
void Colonies__paragraph_anchor(OUTPUT_STREAM, paragraph *P) ;
|
void Colonies__paragraph_anchor(OUTPUT_STREAM, paragraph *P) ;
|
||||||
void register_tangled_nonterminals(void);
|
void register_tangled_nonterminals(void);
|
||||||
text_stream *TL_IS_0 = NULL;
|
text_stream *TL_IS_0 = NULL;
|
||||||
|
@ -20058,7 +20060,7 @@ void TextWeaver__commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre
|
||||||
(in_code)?(TL_IS_257):(TL_IS_258));
|
(in_code)?(TL_IS_257):(TL_IS_258));
|
||||||
if (Str__ne(code_in_comments_notation, TL_IS_259))
|
if (Str__ne(code_in_comments_notation, TL_IS_259))
|
||||||
{
|
{
|
||||||
#line 52 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 51 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
for (int i=0; i < Str__len(matter); i++) {
|
for (int i=0; i < Str__len(matter); i++) {
|
||||||
if (Str__get_at(matter, i) == '\\') i += Str__len(code_in_comments_notation) - 1;
|
if (Str__get_at(matter, i) == '\\') i += Str__len(code_in_comments_notation) - 1;
|
||||||
else if (Str__includes_at(matter, i, code_in_comments_notation)) {
|
else if (Str__includes_at(matter, i, code_in_comments_notation)) {
|
||||||
|
@ -20079,9 +20081,140 @@ void TextWeaver__commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre
|
||||||
#line 26 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 26 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
;
|
;
|
||||||
|
|
||||||
if (within == FALSE)
|
int display_flag = TRUE;
|
||||||
|
text_stream *tex_notation = Bibliographic__get_datum(wv->weave_web->md,
|
||||||
|
TL_IS_260);
|
||||||
|
if (Str__ne(tex_notation, TL_IS_261))
|
||||||
{
|
{
|
||||||
#line 69 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 99 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
|
int N = Str__len(tex_notation);
|
||||||
|
for (int i=0; i < Str__len(matter); i++) {
|
||||||
|
if ((within == FALSE) && (Str__includes_at(matter, i, tex_notation))) {
|
||||||
|
int j = i + N;
|
||||||
|
while (j < Str__len(matter)) {
|
||||||
|
if (Str__includes_at(matter, j, tex_notation)) {
|
||||||
|
int allow = FALSE;
|
||||||
|
TEMPORARY_TEXT(before);
|
||||||
|
TEMPORARY_TEXT(maths);
|
||||||
|
TEMPORARY_TEXT(after);
|
||||||
|
Str__substr(before, Str__start(matter), Str__at(matter, i));
|
||||||
|
Str__substr(maths, Str__at(matter, i + N), Str__at(matter, j));
|
||||||
|
Str__substr(after, Str__at(matter, j + N), Str__end(matter));
|
||||||
|
TextWeaver__commentary_r(tree, ap, before, within, in_code);
|
||||||
|
Trees__make_child(WeaveTree__mathematics(tree, maths, display_flag), ap);
|
||||||
|
TextWeaver__commentary_r(tree, ap, after, within, in_code);
|
||||||
|
allow = TRUE;
|
||||||
|
DISCARD_TEXT(before);
|
||||||
|
DISCARD_TEXT(maths);
|
||||||
|
DISCARD_TEXT(after);
|
||||||
|
if (allow) return;
|
||||||
|
}
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
#line 31 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
|
;
|
||||||
|
display_flag = FALSE;
|
||||||
|
tex_notation = Bibliographic__get_datum(wv->weave_web->md,
|
||||||
|
TL_IS_262);
|
||||||
|
if (Str__ne(tex_notation, TL_IS_263))
|
||||||
|
{
|
||||||
|
#line 99 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
|
int N = Str__len(tex_notation);
|
||||||
|
for (int i=0; i < Str__len(matter); i++) {
|
||||||
|
if ((within == FALSE) && (Str__includes_at(matter, i, tex_notation))) {
|
||||||
|
int j = i + N;
|
||||||
|
while (j < Str__len(matter)) {
|
||||||
|
if (Str__includes_at(matter, j, tex_notation)) {
|
||||||
|
int allow = FALSE;
|
||||||
|
TEMPORARY_TEXT(before);
|
||||||
|
TEMPORARY_TEXT(maths);
|
||||||
|
TEMPORARY_TEXT(after);
|
||||||
|
Str__substr(before, Str__start(matter), Str__at(matter, i));
|
||||||
|
Str__substr(maths, Str__at(matter, i + N), Str__at(matter, j));
|
||||||
|
Str__substr(after, Str__at(matter, j + N), Str__end(matter));
|
||||||
|
TextWeaver__commentary_r(tree, ap, before, within, in_code);
|
||||||
|
Trees__make_child(WeaveTree__mathematics(tree, maths, display_flag), ap);
|
||||||
|
TextWeaver__commentary_r(tree, ap, after, within, in_code);
|
||||||
|
allow = TRUE;
|
||||||
|
DISCARD_TEXT(before);
|
||||||
|
DISCARD_TEXT(maths);
|
||||||
|
DISCARD_TEXT(after);
|
||||||
|
if (allow) return;
|
||||||
|
}
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
#line 35 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
|
;
|
||||||
|
|
||||||
|
text_stream *xref_notation = Bibliographic__get_datum(wv->weave_web->md,
|
||||||
|
TL_IS_264);
|
||||||
|
if (Str__ne(xref_notation, TL_IS_265))
|
||||||
|
{
|
||||||
|
#line 150 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
|
int N = Str__len(xref_notation);
|
||||||
|
for (int i=0; i < Str__len(matter); i++) {
|
||||||
|
if ((within == FALSE) && (Str__includes_at(matter, i, xref_notation)) &&
|
||||||
|
((i == 0) || (TextWeaver__boundary_character(TRUE,
|
||||||
|
Str__get_at(matter, i-1))))) {
|
||||||
|
int j = i + N+1;
|
||||||
|
while (j < Str__len(matter)) {
|
||||||
|
if ((Str__includes_at(matter, j, xref_notation)) &&
|
||||||
|
(TextWeaver__boundary_character(FALSE,
|
||||||
|
Str__get_at(matter, j+Str__len(xref_notation))))) {
|
||||||
|
int allow = FALSE;
|
||||||
|
TEMPORARY_TEXT(before);
|
||||||
|
TEMPORARY_TEXT(reference);
|
||||||
|
TEMPORARY_TEXT(after);
|
||||||
|
Str__substr(before, Str__start(matter), Str__at(matter, i));
|
||||||
|
Str__substr(reference, Str__at(matter, i + N), Str__at(matter, j));
|
||||||
|
Str__substr(after, Str__at(matter, j + N), Str__end(matter));
|
||||||
|
|
||||||
|
{
|
||||||
|
#line 179 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
|
TEMPORARY_TEXT(url);
|
||||||
|
TEMPORARY_TEXT(title);
|
||||||
|
int ext = FALSE;
|
||||||
|
if (Colonies__resolve_reference_in_weave(url, title, wv->weave_to, reference,
|
||||||
|
wv->weave_web->md, wv->current_weave_line, &ext)) {
|
||||||
|
TextWeaver__commentary_r(tree, ap, before, within, in_code);
|
||||||
|
Trees__make_child(WeaveTree__url(tree, url, title, ext), ap);
|
||||||
|
TextWeaver__commentary_r(tree, ap, after, within, in_code);
|
||||||
|
allow = TRUE;
|
||||||
|
}
|
||||||
|
DISCARD_TEXT(url);
|
||||||
|
DISCARD_TEXT(title);
|
||||||
|
|
||||||
|
}
|
||||||
|
#line 167 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
|
;
|
||||||
|
DISCARD_TEXT(before);
|
||||||
|
DISCARD_TEXT(reference);
|
||||||
|
DISCARD_TEXT(after);
|
||||||
|
if (allow) return;
|
||||||
|
}
|
||||||
|
j++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
#line 39 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
|
;
|
||||||
|
|
||||||
|
if (within) {
|
||||||
|
TextWeaver__inline_code_fragment(tree, ap, matter);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
{
|
||||||
|
#line 68 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
for (int i=0; i < Str__len(matter); i++) {
|
for (int i=0; i < Str__len(matter); i++) {
|
||||||
if ((Str__includes_at(matter, i, TL_IS_266)) ||
|
if ((Str__includes_at(matter, i, TL_IS_266)) ||
|
||||||
(Str__includes_at(matter, i, TL_IS_267))) {
|
(Str__includes_at(matter, i, TL_IS_267))) {
|
||||||
|
@ -20091,6 +20224,15 @@ void TextWeaver__commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre
|
||||||
Str__substr(after, Str__at(matter, i), Str__end(matter));
|
Str__substr(after, Str__at(matter, i), Str__end(matter));
|
||||||
match_results mr = Regexp__create_mr();
|
match_results mr = Regexp__create_mr();
|
||||||
if (Regexp__match(&mr, after, L"(https*://%C+)(%c*)")) {
|
if (Regexp__match(&mr, after, L"(https*://%C+)(%c*)")) {
|
||||||
|
while (TextWeaver__boundary_character(FALSE, Str__get_last_char(mr.exp[0]))) {
|
||||||
|
wchar_t c = Str__get_last_char(mr.exp[0]);
|
||||||
|
Str__delete_last_character(mr.exp[0]);
|
||||||
|
TEMPORARY_TEXT(longer);
|
||||||
|
WRITE_TO(longer, "%c%S", c, mr.exp[1]);
|
||||||
|
Str__clear(mr.exp[1]);
|
||||||
|
Str__copy(mr.exp[1], longer);
|
||||||
|
DISCARD_TEXT(longer);
|
||||||
|
}
|
||||||
TextWeaver__commentary_r(tree, ap, before, within, in_code);
|
TextWeaver__commentary_r(tree, ap, before, within, in_code);
|
||||||
Trees__make_child(WeaveTree__url(tree, mr.exp[0], mr.exp[0], TRUE), ap);
|
Trees__make_child(WeaveTree__url(tree, mr.exp[0], mr.exp[0], TRUE), ap);
|
||||||
TextWeaver__commentary_r(tree, ap, mr.exp[1], within, in_code);
|
TextWeaver__commentary_r(tree, ap, mr.exp[1], within, in_code);
|
||||||
|
@ -20104,138 +20246,11 @@ void TextWeaver__commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 28 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 44 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
;
|
;
|
||||||
|
|
||||||
int display_flag = TRUE;
|
|
||||||
text_stream *tex_notation = Bibliographic__get_datum(wv->weave_web->md,
|
|
||||||
TL_IS_260);
|
|
||||||
if (Str__ne(tex_notation, TL_IS_261))
|
|
||||||
{
|
{
|
||||||
#line 91 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 127 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
int N = Str__len(tex_notation);
|
|
||||||
for (int i=0; i < Str__len(matter); i++) {
|
|
||||||
if ((within == FALSE) && (Str__includes_at(matter, i, tex_notation))) {
|
|
||||||
int j = i + N;
|
|
||||||
while (j < Str__len(matter)) {
|
|
||||||
if (Str__includes_at(matter, j, tex_notation)) {
|
|
||||||
int allow = FALSE;
|
|
||||||
TEMPORARY_TEXT(before);
|
|
||||||
TEMPORARY_TEXT(maths);
|
|
||||||
TEMPORARY_TEXT(after);
|
|
||||||
Str__substr(before, Str__start(matter), Str__at(matter, i));
|
|
||||||
Str__substr(maths, Str__at(matter, i + N), Str__at(matter, j));
|
|
||||||
Str__substr(after, Str__at(matter, j + N), Str__end(matter));
|
|
||||||
TextWeaver__commentary_r(tree, ap, before, within, in_code);
|
|
||||||
Trees__make_child(WeaveTree__mathematics(tree, maths, display_flag), ap);
|
|
||||||
TextWeaver__commentary_r(tree, ap, after, within, in_code);
|
|
||||||
allow = TRUE;
|
|
||||||
DISCARD_TEXT(before);
|
|
||||||
DISCARD_TEXT(maths);
|
|
||||||
DISCARD_TEXT(after);
|
|
||||||
if (allow) return;
|
|
||||||
}
|
|
||||||
j++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
#line 33 "inweb/Chapter 3/The Weaver of Text.w"
|
|
||||||
;
|
|
||||||
display_flag = FALSE;
|
|
||||||
tex_notation = Bibliographic__get_datum(wv->weave_web->md,
|
|
||||||
TL_IS_262);
|
|
||||||
if (Str__ne(tex_notation, TL_IS_263))
|
|
||||||
{
|
|
||||||
#line 91 "inweb/Chapter 3/The Weaver of Text.w"
|
|
||||||
int N = Str__len(tex_notation);
|
|
||||||
for (int i=0; i < Str__len(matter); i++) {
|
|
||||||
if ((within == FALSE) && (Str__includes_at(matter, i, tex_notation))) {
|
|
||||||
int j = i + N;
|
|
||||||
while (j < Str__len(matter)) {
|
|
||||||
if (Str__includes_at(matter, j, tex_notation)) {
|
|
||||||
int allow = FALSE;
|
|
||||||
TEMPORARY_TEXT(before);
|
|
||||||
TEMPORARY_TEXT(maths);
|
|
||||||
TEMPORARY_TEXT(after);
|
|
||||||
Str__substr(before, Str__start(matter), Str__at(matter, i));
|
|
||||||
Str__substr(maths, Str__at(matter, i + N), Str__at(matter, j));
|
|
||||||
Str__substr(after, Str__at(matter, j + N), Str__end(matter));
|
|
||||||
TextWeaver__commentary_r(tree, ap, before, within, in_code);
|
|
||||||
Trees__make_child(WeaveTree__mathematics(tree, maths, display_flag), ap);
|
|
||||||
TextWeaver__commentary_r(tree, ap, after, within, in_code);
|
|
||||||
allow = TRUE;
|
|
||||||
DISCARD_TEXT(before);
|
|
||||||
DISCARD_TEXT(maths);
|
|
||||||
DISCARD_TEXT(after);
|
|
||||||
if (allow) return;
|
|
||||||
}
|
|
||||||
j++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
#line 37 "inweb/Chapter 3/The Weaver of Text.w"
|
|
||||||
;
|
|
||||||
|
|
||||||
text_stream *xref_notation = Bibliographic__get_datum(wv->weave_web->md,
|
|
||||||
TL_IS_264);
|
|
||||||
if (Str__ne(xref_notation, TL_IS_265))
|
|
||||||
{
|
|
||||||
#line 142 "inweb/Chapter 3/The Weaver of Text.w"
|
|
||||||
int N = Str__len(xref_notation);
|
|
||||||
for (int i=0; i < Str__len(matter); i++) {
|
|
||||||
if ((within == FALSE) && (Str__includes_at(matter, i, xref_notation))) {
|
|
||||||
int j = i + N+1;
|
|
||||||
while (j < Str__len(matter)) {
|
|
||||||
if (Str__includes_at(matter, j, xref_notation)) {
|
|
||||||
int allow = FALSE;
|
|
||||||
TEMPORARY_TEXT(before);
|
|
||||||
TEMPORARY_TEXT(reference);
|
|
||||||
TEMPORARY_TEXT(after);
|
|
||||||
Str__substr(before, Str__start(matter), Str__at(matter, i));
|
|
||||||
Str__substr(reference, Str__at(matter, i + N), Str__at(matter, j));
|
|
||||||
Str__substr(after, Str__at(matter, j + N), Str__end(matter));
|
|
||||||
|
|
||||||
{
|
|
||||||
#line 167 "inweb/Chapter 3/The Weaver of Text.w"
|
|
||||||
TEMPORARY_TEXT(url);
|
|
||||||
TEMPORARY_TEXT(title);
|
|
||||||
if (Colonies__resolve_reference_in_weave(url, title, wv->weave_to, reference,
|
|
||||||
wv->weave_web->md, wv->current_weave_line)) {
|
|
||||||
TextWeaver__commentary_r(tree, ap, before, within, in_code);
|
|
||||||
Trees__make_child(WeaveTree__url(tree, url, title, FALSE), ap);
|
|
||||||
TextWeaver__commentary_r(tree, ap, after, within, in_code);
|
|
||||||
allow = TRUE;
|
|
||||||
}
|
|
||||||
DISCARD_TEXT(url);
|
|
||||||
DISCARD_TEXT(title);
|
|
||||||
|
|
||||||
}
|
|
||||||
#line 155 "inweb/Chapter 3/The Weaver of Text.w"
|
|
||||||
;
|
|
||||||
DISCARD_TEXT(before);
|
|
||||||
DISCARD_TEXT(reference);
|
|
||||||
DISCARD_TEXT(after);
|
|
||||||
if (allow) return;
|
|
||||||
}
|
|
||||||
j++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
#line 41 "inweb/Chapter 3/The Weaver of Text.w"
|
|
||||||
;
|
|
||||||
|
|
||||||
if (within) {
|
|
||||||
TextWeaver__inline_code_fragment(tree, ap, matter);
|
|
||||||
} else {
|
|
||||||
|
|
||||||
{
|
|
||||||
#line 119 "inweb/Chapter 3/The Weaver of Text.w"
|
|
||||||
TEMPORARY_TEXT(before);
|
TEMPORARY_TEXT(before);
|
||||||
TEMPORARY_TEXT(cue);
|
TEMPORARY_TEXT(cue);
|
||||||
TEMPORARY_TEXT(after);
|
TEMPORARY_TEXT(after);
|
||||||
|
@ -20259,13 +20274,23 @@ void TextWeaver__commentary_r(heterogeneous_tree *tree, tree_node *ap, text_stre
|
||||||
if (allow) return;
|
if (allow) return;
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 46 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 45 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
;
|
;
|
||||||
TextWeaver__commentary_fragment(tree, ap, matter, in_code);
|
TextWeaver__commentary_fragment(tree, ap, matter, in_code);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 182 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 200 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
|
int TextWeaver__boundary_character(int before, wchar_t c) {
|
||||||
|
if (c == 0) return TRUE;
|
||||||
|
if (Characters__is_whitespace(c)) return TRUE;
|
||||||
|
if ((c == '.') || (c == ',') || (c == '!') || (c == '?') || (c == ';') ||
|
||||||
|
(c == '(')|| (c == ')')) return TRUE;
|
||||||
|
if ((before == FALSE) && (c == ':')) return TRUE;
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
#line 210 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
void TextWeaver__commentary_fragment(heterogeneous_tree *tree, tree_node *ap,
|
void TextWeaver__commentary_fragment(heterogeneous_tree *tree, tree_node *ap,
|
||||||
text_stream *fragment, int in_code) {
|
text_stream *fragment, int in_code) {
|
||||||
if (Str__len(fragment) > 0)
|
if (Str__len(fragment) > 0)
|
||||||
|
@ -20282,7 +20307,7 @@ void TextWeaver__inline_code_fragment(heterogeneous_tree *tree, tree_node *ap, t
|
||||||
Trees__make_child(SC, I);
|
Trees__make_child(SC, I);
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 201 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 229 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
void TextWeaver__source_code(heterogeneous_tree *tree, tree_node *ap,
|
void TextWeaver__source_code(heterogeneous_tree *tree, tree_node *ap,
|
||||||
text_stream *matter, text_stream *colouring, int linked) {
|
text_stream *matter, text_stream *colouring, int linked) {
|
||||||
weave_document_node *C = RETRIEVE_POINTER_weave_document_node(tree->root->content);
|
weave_document_node *C = RETRIEVE_POINTER_weave_document_node(tree->root->content);
|
||||||
|
@ -20293,7 +20318,7 @@ void TextWeaver__source_code(heterogeneous_tree *tree, tree_node *ap,
|
||||||
if (linked) {
|
if (linked) {
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 233 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 261 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
if ((Str__includes_at(matter, i, TL_IS_271)) ||
|
if ((Str__includes_at(matter, i, TL_IS_271)) ||
|
||||||
(Str__includes_at(matter, i, TL_IS_272))) {
|
(Str__includes_at(matter, i, TL_IS_272))) {
|
||||||
TEMPORARY_TEXT(after);
|
TEMPORARY_TEXT(after);
|
||||||
|
@ -20310,14 +20335,14 @@ void TextWeaver__source_code(heterogeneous_tree *tree, tree_node *ap,
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 209 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 237 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
;
|
;
|
||||||
text_stream *xref_notation = Bibliographic__get_datum(wv->weave_web->md,
|
text_stream *xref_notation = Bibliographic__get_datum(wv->weave_web->md,
|
||||||
TL_IS_269);
|
TL_IS_269);
|
||||||
if (Str__ne(xref_notation, TL_IS_270))
|
if (Str__ne(xref_notation, TL_IS_270))
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 249 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 277 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
int N = Str__len(xref_notation);
|
int N = Str__len(xref_notation);
|
||||||
if ((Str__includes_at(matter, i, xref_notation))) {
|
if ((Str__includes_at(matter, i, xref_notation))) {
|
||||||
int j = i + N+1;
|
int j = i + N+1;
|
||||||
|
@ -20327,12 +20352,13 @@ void TextWeaver__source_code(heterogeneous_tree *tree, tree_node *ap,
|
||||||
Str__substr(reference, Str__at(matter, i + N), Str__at(matter, j));
|
Str__substr(reference, Str__at(matter, i + N), Str__at(matter, j));
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 265 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 293 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
TEMPORARY_TEXT(url);
|
TEMPORARY_TEXT(url);
|
||||||
TEMPORARY_TEXT(title);
|
TEMPORARY_TEXT(title);
|
||||||
|
int ext = FALSE;
|
||||||
if (Colonies__resolve_reference_in_weave(url, title, wv->weave_to, reference,
|
if (Colonies__resolve_reference_in_weave(url, title, wv->weave_to, reference,
|
||||||
wv->weave_web->md, wv->current_weave_line)) {
|
wv->weave_web->md, wv->current_weave_line, &ext)) {
|
||||||
tree_node *U = WeaveTree__url(tree, url, title, FALSE);
|
tree_node *U = WeaveTree__url(tree, url, title, ext);
|
||||||
TextWeaver__source_code_piece(tree, ap, matter, colouring, from, i);
|
TextWeaver__source_code_piece(tree, ap, matter, colouring, from, i);
|
||||||
Trees__make_child(U, ap);
|
Trees__make_child(U, ap);
|
||||||
i = j + N;
|
i = j + N;
|
||||||
|
@ -20342,7 +20368,7 @@ void TextWeaver__source_code(heterogeneous_tree *tree, tree_node *ap,
|
||||||
DISCARD_TEXT(title);
|
DISCARD_TEXT(title);
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 256 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 284 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
;
|
;
|
||||||
DISCARD_TEXT(reference);
|
DISCARD_TEXT(reference);
|
||||||
break;
|
break;
|
||||||
|
@ -20352,7 +20378,7 @@ void TextWeaver__source_code(heterogeneous_tree *tree, tree_node *ap,
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 213 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 241 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
if ((Str__get_at(colouring, i) == FUNCTION_COLOUR) &&
|
if ((Str__get_at(colouring, i) == FUNCTION_COLOUR) &&
|
||||||
|
@ -20365,7 +20391,7 @@ void TextWeaver__source_code(heterogeneous_tree *tree, tree_node *ap,
|
||||||
wv->current_weave_line->owning_section, fname, FUNCTION_COLOUR))
|
wv->current_weave_line->owning_section, fname, FUNCTION_COLOUR))
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 279 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 308 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
language_function *fn = Analyser__get_function(
|
language_function *fn = Analyser__get_function(
|
||||||
wv->current_weave_line->owning_section, fname, FUNCTION_COLOUR);
|
wv->current_weave_line->owning_section, fname, FUNCTION_COLOUR);
|
||||||
if (fn) {
|
if (fn) {
|
||||||
|
@ -20392,7 +20418,7 @@ void TextWeaver__source_code(heterogeneous_tree *tree, tree_node *ap,
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 223 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 251 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
;
|
;
|
||||||
DISCARD_TEXT(fname);
|
DISCARD_TEXT(fname);
|
||||||
}
|
}
|
||||||
|
@ -20402,7 +20428,7 @@ void TextWeaver__source_code(heterogeneous_tree *tree, tree_node *ap,
|
||||||
TextWeaver__source_code_piece(tree, ap, matter, colouring, from, Str__len(matter));
|
TextWeaver__source_code_piece(tree, ap, matter, colouring, from, Str__len(matter));
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 305 "inweb/Chapter 3/The Weaver of Text.w"
|
#line 334 "inweb/Chapter 3/The Weaver of Text.w"
|
||||||
void TextWeaver__source_code_piece(heterogeneous_tree *tree, tree_node *ap,
|
void TextWeaver__source_code_piece(heterogeneous_tree *tree, tree_node *ap,
|
||||||
text_stream *matter, text_stream *colouring, int from, int to) {
|
text_stream *matter, text_stream *colouring, int from, int to) {
|
||||||
if (to > from) {
|
if (to > from) {
|
||||||
|
@ -28712,22 +28738,24 @@ pathname *Colonies__patterns_path(void) {
|
||||||
|
|
||||||
#line 310 "inweb/Chapter 6/Colonies.w"
|
#line 310 "inweb/Chapter 6/Colonies.w"
|
||||||
int Colonies__resolve_reference_in_weave(text_stream *url, text_stream *title,
|
int Colonies__resolve_reference_in_weave(text_stream *url, text_stream *title,
|
||||||
filename *for_HTML_file, text_stream *text, web_md *Wm, source_line *L) {
|
filename *for_HTML_file, text_stream *text, web_md *Wm, source_line *L, int *ext) {
|
||||||
int r = 0;
|
int r = 0;
|
||||||
|
if (ext) *ext = FALSE;
|
||||||
match_results mr = Regexp__create_mr();
|
match_results mr = Regexp__create_mr();
|
||||||
if (Regexp__match(&mr, text, L"(%c+?) -> (%c+)")) {
|
if (Regexp__match(&mr, text, L"(%c+?) -> (%c+)")) {
|
||||||
r = Colonies__resolve_reference_in_weave_inner(url, NULL,
|
r = Colonies__resolve_reference_in_weave_inner(url, NULL,
|
||||||
for_HTML_file, mr.exp[1], Wm, L);
|
for_HTML_file, mr.exp[1], Wm, L, ext);
|
||||||
WRITE_TO(title, "%S", mr.exp[0]);
|
WRITE_TO(title, "%S", mr.exp[0]);
|
||||||
} else {
|
} else {
|
||||||
r = Colonies__resolve_reference_in_weave_inner(url, title,
|
r = Colonies__resolve_reference_in_weave_inner(url, title,
|
||||||
for_HTML_file, text, Wm, L);
|
for_HTML_file, text, Wm, L, ext);
|
||||||
}
|
}
|
||||||
Regexp__dispose_of(&mr);
|
Regexp__dispose_of(&mr);
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *title,
|
int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *title,
|
||||||
filename *for_HTML_file, text_stream *text, web_md *Wm, source_line *L) {
|
filename *for_HTML_file, text_stream *text, web_md *Wm, source_line *L, int *ext) {
|
||||||
module *from_M = (Wm)?(Wm->as_module):NULL;
|
module *from_M = (Wm)?(Wm->as_module):NULL;
|
||||||
module *search_M = from_M;
|
module *search_M = from_M;
|
||||||
colony_member *search_CM = NULL;
|
colony_member *search_CM = NULL;
|
||||||
|
@ -28735,7 +28763,23 @@ int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *ti
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 362 "inweb/Chapter 6/Colonies.w"
|
#line 365 "inweb/Chapter 6/Colonies.w"
|
||||||
|
match_results mr = Regexp__create_mr();
|
||||||
|
if (Regexp__match(&mr, text, L"https*://%c*")) {
|
||||||
|
WRITE_TO(url, "%S", text);
|
||||||
|
WRITE_TO(title, "%S", text);
|
||||||
|
Regexp__dispose_of(&mr);
|
||||||
|
if (ext) *ext = TRUE;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
Regexp__dispose_of(&mr);
|
||||||
|
|
||||||
|
}
|
||||||
|
#line 334 "inweb/Chapter 6/Colonies.w"
|
||||||
|
;
|
||||||
|
|
||||||
|
{
|
||||||
|
#line 376 "inweb/Chapter 6/Colonies.w"
|
||||||
search_CM = Colonies__find(text);
|
search_CM = Colonies__find(text);
|
||||||
if (search_CM) {
|
if (search_CM) {
|
||||||
module *found_M = Colonies__as_module(search_CM, L, Wm);
|
module *found_M = Colonies__as_module(search_CM, L, Wm);
|
||||||
|
@ -28744,11 +28788,11 @@ int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *ti
|
||||||
WRITE_TO(title, "%S", search_CM->name);
|
WRITE_TO(title, "%S", search_CM->name);
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 409 "inweb/Chapter 6/Colonies.w"
|
#line 423 "inweb/Chapter 6/Colonies.w"
|
||||||
if (found_M == NULL) internal_error("could not locate M");
|
if (found_M == NULL) internal_error("could not locate M");
|
||||||
if (search_CM)
|
if (search_CM)
|
||||||
{
|
{
|
||||||
#line 415 "inweb/Chapter 6/Colonies.w"
|
#line 429 "inweb/Chapter 6/Colonies.w"
|
||||||
pathname *from = Filenames__up(for_HTML_file);
|
pathname *from = Filenames__up(for_HTML_file);
|
||||||
pathname *to = search_CM->weave_path;
|
pathname *to = search_CM->weave_path;
|
||||||
Pathnames__relative_URL(url, from, to);
|
Pathnames__relative_URL(url, from, to);
|
||||||
|
@ -28758,11 +28802,11 @@ int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *ti
|
||||||
WRITE_TO(title, " (in %S)", search_CM->name);
|
WRITE_TO(title, " (in %S)", search_CM->name);
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 410 "inweb/Chapter 6/Colonies.w"
|
#line 424 "inweb/Chapter 6/Colonies.w"
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#line 428 "inweb/Chapter 6/Colonies.w"
|
#line 442 "inweb/Chapter 6/Colonies.w"
|
||||||
if (found_M == from_M) {
|
if (found_M == from_M) {
|
||||||
Colonies__section_URL(url, found_Sm);
|
Colonies__section_URL(url, found_Sm);
|
||||||
} else {
|
} else {
|
||||||
|
@ -28773,21 +28817,21 @@ int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *ti
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 411 "inweb/Chapter 6/Colonies.w"
|
#line 425 "inweb/Chapter 6/Colonies.w"
|
||||||
;
|
;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 368 "inweb/Chapter 6/Colonies.w"
|
#line 382 "inweb/Chapter 6/Colonies.w"
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 332 "inweb/Chapter 6/Colonies.w"
|
#line 335 "inweb/Chapter 6/Colonies.w"
|
||||||
;
|
;
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 372 "inweb/Chapter 6/Colonies.w"
|
#line 386 "inweb/Chapter 6/Colonies.w"
|
||||||
match_results mr = Regexp__create_mr();
|
match_results mr = Regexp__create_mr();
|
||||||
if (Regexp__match(&mr, text, L"(%c*?): (%c*)")) {
|
if (Regexp__match(&mr, text, L"(%c*?): (%c*)")) {
|
||||||
search_CM = Colonies__find(mr.exp[0]);
|
search_CM = Colonies__find(mr.exp[0]);
|
||||||
|
@ -28803,7 +28847,7 @@ int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *ti
|
||||||
Regexp__dispose_of(&mr);
|
Regexp__dispose_of(&mr);
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 333 "inweb/Chapter 6/Colonies.w"
|
#line 336 "inweb/Chapter 6/Colonies.w"
|
||||||
;
|
;
|
||||||
|
|
||||||
module *found_M = NULL;
|
module *found_M = NULL;
|
||||||
|
@ -28815,7 +28859,7 @@ int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *ti
|
||||||
if ((L) && (external == FALSE)) {
|
if ((L) && (external == FALSE)) {
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 387 "inweb/Chapter 6/Colonies.w"
|
#line 401 "inweb/Chapter 6/Colonies.w"
|
||||||
language_function *fn;
|
language_function *fn;
|
||||||
LOOP_OVER(fn, language_function) {
|
LOOP_OVER(fn, language_function) {
|
||||||
if (Str__eq_insensitive(fn->function_name, text)) {
|
if (Str__eq_insensitive(fn->function_name, text)) {
|
||||||
|
@ -28827,11 +28871,11 @@ int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *ti
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 342 "inweb/Chapter 6/Colonies.w"
|
#line 345 "inweb/Chapter 6/Colonies.w"
|
||||||
;
|
;
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 398 "inweb/Chapter 6/Colonies.w"
|
#line 412 "inweb/Chapter 6/Colonies.w"
|
||||||
language_type *str;
|
language_type *str;
|
||||||
LOOP_OVER(str, language_type) {
|
LOOP_OVER(str, language_type) {
|
||||||
if (Str__eq_insensitive(str->structure_name, text)) {
|
if (Str__eq_insensitive(str->structure_name, text)) {
|
||||||
|
@ -28843,7 +28887,7 @@ int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *ti
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 343 "inweb/Chapter 6/Colonies.w"
|
#line 346 "inweb/Chapter 6/Colonies.w"
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
TEMPORARY_TEXT(err);
|
TEMPORARY_TEXT(err);
|
||||||
|
@ -28859,11 +28903,11 @@ int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *ti
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 409 "inweb/Chapter 6/Colonies.w"
|
#line 423 "inweb/Chapter 6/Colonies.w"
|
||||||
if (found_M == NULL) internal_error("could not locate M");
|
if (found_M == NULL) internal_error("could not locate M");
|
||||||
if (search_CM)
|
if (search_CM)
|
||||||
{
|
{
|
||||||
#line 415 "inweb/Chapter 6/Colonies.w"
|
#line 429 "inweb/Chapter 6/Colonies.w"
|
||||||
pathname *from = Filenames__up(for_HTML_file);
|
pathname *from = Filenames__up(for_HTML_file);
|
||||||
pathname *to = search_CM->weave_path;
|
pathname *to = search_CM->weave_path;
|
||||||
Pathnames__relative_URL(url, from, to);
|
Pathnames__relative_URL(url, from, to);
|
||||||
|
@ -28873,11 +28917,11 @@ int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *ti
|
||||||
WRITE_TO(title, " (in %S)", search_CM->name);
|
WRITE_TO(title, " (in %S)", search_CM->name);
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 410 "inweb/Chapter 6/Colonies.w"
|
#line 424 "inweb/Chapter 6/Colonies.w"
|
||||||
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
#line 428 "inweb/Chapter 6/Colonies.w"
|
#line 442 "inweb/Chapter 6/Colonies.w"
|
||||||
if (found_M == from_M) {
|
if (found_M == from_M) {
|
||||||
Colonies__section_URL(url, found_Sm);
|
Colonies__section_URL(url, found_Sm);
|
||||||
} else {
|
} else {
|
||||||
|
@ -28888,18 +28932,18 @@ int Colonies__resolve_reference_in_weave_inner(text_stream *url, text_stream *ti
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 411 "inweb/Chapter 6/Colonies.w"
|
#line 425 "inweb/Chapter 6/Colonies.w"
|
||||||
;
|
;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
||||||
}
|
}
|
||||||
#line 356 "inweb/Chapter 6/Colonies.w"
|
#line 359 "inweb/Chapter 6/Colonies.w"
|
||||||
;
|
;
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 440 "inweb/Chapter 6/Colonies.w"
|
#line 454 "inweb/Chapter 6/Colonies.w"
|
||||||
void Colonies__link_URL(OUTPUT_STREAM, text_stream *link_text, filename *F) {
|
void Colonies__link_URL(OUTPUT_STREAM, text_stream *link_text, filename *F) {
|
||||||
match_results mr = Regexp__create_mr();
|
match_results mr = Regexp__create_mr();
|
||||||
if (Regexp__match(&mr, link_text, L" *//(%c+)// *"))
|
if (Regexp__match(&mr, link_text, L" *//(%c+)// *"))
|
||||||
|
@ -28912,7 +28956,7 @@ void Colonies__link_URL(OUTPUT_STREAM, text_stream *link_text, filename *F) {
|
||||||
void Colonies__reference_URL(OUTPUT_STREAM, text_stream *link_text, filename *F) {
|
void Colonies__reference_URL(OUTPUT_STREAM, text_stream *link_text, filename *F) {
|
||||||
TEMPORARY_TEXT(title);
|
TEMPORARY_TEXT(title);
|
||||||
TEMPORARY_TEXT(url);
|
TEMPORARY_TEXT(url);
|
||||||
if (Colonies__resolve_reference_in_weave(url, title, F, link_text, NULL, NULL))
|
if (Colonies__resolve_reference_in_weave(url, title, F, link_text, NULL, NULL, NULL))
|
||||||
WRITE("%S", url);
|
WRITE("%S", url);
|
||||||
else
|
else
|
||||||
PRINT("Warning: unable to resolve reference '%S' in navigation\n", link_text);
|
PRINT("Warning: unable to resolve reference '%S' in navigation\n", link_text);
|
||||||
|
|
|
@ -86,7 +86,7 @@ said as late as the early twentieth century.
|
||||||
of the great age of Enlightenment letter-writing. He and Euler exchanged
|
of the great age of Enlightenment letter-writing. He and Euler exchanged
|
||||||
scholarly letters for over thirty years, not something Euler would have
|
scholarly letters for over thirty years, not something Euler would have
|
||||||
kept up with a duffer. Goldbach was also not, as is sometimes said, a lawyer.
|
kept up with a duffer. Goldbach was also not, as is sometimes said, a lawyer.
|
||||||
See: <a href="http://mathshistory.st-andrews.ac.uk/Biographies/Goldbach.html" class="external">http://mathshistory.st-andrews.ac.uk/Biographies/Goldbach.html</a>
|
See: <a href="http://mathshistory.st-andrews.ac.uk/Biographies/Goldbach.html" class="external">http://mathshistory.st-andrews.ac.uk/Biographies/Goldbach.html</a>.
|
||||||
An edited transcription of the letter is at: <a href="http://eulerarchive.maa.org//correspondence/letters/OO0765.pdf" class="external">http://eulerarchive.maa.org//correspondence/letters/OO0765.pdf</a>
|
An edited transcription of the letter is at: <a href="http://eulerarchive.maa.org//correspondence/letters/OO0765.pdf" class="external">http://eulerarchive.maa.org//correspondence/letters/OO0765.pdf</a>
|
||||||
<a href="#fnref:2" title="return to text"> ↩</a></p></li></ul>
|
<a href="#fnref:2" title="return to text"> ↩</a></p></li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP2"></a><b>§2. </b>Computer verification has been made up to around \(10^{18}\), but by rather
|
<p class="commentary firstcommentary"><a id="SP2"></a><b>§2. </b>Computer verification has been made up to around \(10^{18}\), but by rather
|
||||||
|
|
|
@ -42,7 +42,7 @@ document weave order 0
|
||||||
commentary <kept up with a duffer. Goldbach was also not, as is sometimes said, a lawyer.\n>
|
commentary <kept up with a duffer. Goldbach was also not, as is sometimes said, a lawyer.\n>
|
||||||
commentary <See: >
|
commentary <See: >
|
||||||
url content <http://mathshistory.st-andrews.ac.uk/Biographies/Goldbach.html> url <http://mathshistory.st-andrews.ac.uk/Biographies/Goldbach.html>
|
url content <http://mathshistory.st-andrews.ac.uk/Biographies/Goldbach.html> url <http://mathshistory.st-andrews.ac.uk/Biographies/Goldbach.html>
|
||||||
commentary <\n>
|
commentary <.\n>
|
||||||
commentary <An edited transcription of the letter is at: >
|
commentary <An edited transcription of the letter is at: >
|
||||||
url content <http://eulerarchive.maa.org//correspondence/letters/OO0765.pdf> url <http://eulerarchive.maa.org//correspondence/letters/OO0765.pdf>
|
url content <http://eulerarchive.maa.org//correspondence/letters/OO0765.pdf> url <http://eulerarchive.maa.org//correspondence/letters/OO0765.pdf>
|
||||||
commentary <\n>
|
commentary <\n>
|
||||||
|
|
Binary file not shown.
|
@ -260,7 +260,7 @@ letter-writer, though his reputation stands less high today.\footnote{${}^{2}$}{
|
||||||
of the great age of Enlightenment letter-writing. He and Euler exchanged
|
of the great age of Enlightenment letter-writing. He and Euler exchanged
|
||||||
scholarly letters for over thirty years, not something Euler would have
|
scholarly letters for over thirty years, not something Euler would have
|
||||||
kept up with a duffer. Goldbach was also not, as is sometimes said, a lawyer.
|
kept up with a duffer. Goldbach was also not, as is sometimes said, a lawyer.
|
||||||
See: http://mathshistory.st-andrews.ac.uk/Biographies/Goldbach.html
|
See: http://mathshistory.st-andrews.ac.uk/Biographies/Goldbach.html.
|
||||||
An edited transcription of the letter is at: http://eulerarchive.maa.org//correspondence/letters/OO0765.pdf
|
An edited transcription of the letter is at: http://eulerarchive.maa.org//correspondence/letters/OO0765.pdf
|
||||||
} All the same,
|
} All the same,
|
||||||
the general belief now is that primes are just plentiful enough, and just
|
the general belief now is that primes are just plentiful enough, and just
|
||||||
|
|
|
@ -30,7 +30,7 @@ said as late as the early twentieth century.
|
||||||
of the great age of Enlightenment letter-writing. He and Euler exchanged
|
of the great age of Enlightenment letter-writing. He and Euler exchanged
|
||||||
scholarly letters for over thirty years, not something Euler would have
|
scholarly letters for over thirty years, not something Euler would have
|
||||||
kept up with a duffer. Goldbach was also not, as is sometimes said, a lawyer.
|
kept up with a duffer. Goldbach was also not, as is sometimes said, a lawyer.
|
||||||
See: http://mathshistory.st-andrews.ac.uk/Biographies/Goldbach.html
|
See: http://mathshistory.st-andrews.ac.uk/Biographies/Goldbach.html.
|
||||||
An edited transcription of the letter is at: http://eulerarchive.maa.org//correspondence/letters/OO0765.pdf
|
An edited transcription of the letter is at: http://eulerarchive.maa.org//correspondence/letters/OO0765.pdf
|
||||||
|
|
||||||
S2. Computer verification has been made up to around 10^{18}, but by rather
|
S2. Computer verification has been made up to around 10^{18}, but by rather
|
||||||
|
|
|
@ -416,7 +416,7 @@ of each C function.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
|
|
||||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Analyser::is_reserved_word_for_section</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Analyser::is_reserved_word_for_section</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">section</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">e</span><span class="plain-syntax">) {</span>
|
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Analyser::is_reserved_word_for_section</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Analyser::is_reserved_word_for_section</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">section</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">e</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="3-ta.html#SP10" class="function-link"><span class="function-syntax">Analyser::is_reserved_word</span></a><span class="plain-syntax">(&(</span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">sect_target</span><span class="plain-syntax">-></span><span class="element-syntax">symbols</span><span class="plain-syntax">), </span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">e</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="3-ta.html#SP10" class="function-link"><span class="function-syntax">Analyser::is_reserved_word</span></a><span class="plain-syntax">(&(</span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">sect_target</span><span class="plain-syntax">-></span><span class="element-syntax">symbols</span><span class="plain-syntax">), </span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">e</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
|
|
||||||
|
@ -426,7 +426,7 @@ of each C function.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
|
|
||||||
<span class="reserved-syntax">language_function</span><span class="plain-syntax"> *</span><span class="function-syntax">Analyser::get_function</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Analyser::get_function</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP3_3">§3.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">section</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">e</span><span class="plain-syntax">) {</span>
|
<span class="reserved-syntax">language_function</span><span class="plain-syntax"> *</span><span class="function-syntax">Analyser::get_function</span><button class="popup" onclick="togglePopup('usagePopup13')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup13">Usage of <span class="code-font"><span class="function-syntax">Analyser::get_function</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP4_3">§4.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">section</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">e</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">hash_table_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">hte</span><span class="plain-syntax"> = </span><a href="3-ta.html#SP9" class="function-link"><span class="function-syntax">Analyser::find_hash_entry</span></a><span class="plain-syntax">(&(</span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">sect_target</span><span class="plain-syntax">-></span><span class="element-syntax">symbols</span><span class="plain-syntax">), </span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">hash_table_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">hte</span><span class="plain-syntax"> = </span><a href="3-ta.html#SP9" class="function-link"><span class="function-syntax">Analyser::find_hash_entry</span></a><span class="plain-syntax">(&(</span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">sect_target</span><span class="plain-syntax">-></span><span class="element-syntax">symbols</span><span class="plain-syntax">), </span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">hte</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">hte</span><span class="plain-syntax">-></span><span class="element-syntax">reserved_word</span><span class="plain-syntax"> & (1 << </span><span class="identifier-syntax">e</span><span class="plain-syntax">))) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">hte</span><span class="plain-syntax">-></span><span class="element-syntax">as_function</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">hte</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">hte</span><span class="plain-syntax">-></span><span class="element-syntax">reserved_word</span><span class="plain-syntax"> & (1 << </span><span class="identifier-syntax">e</span><span class="plain-syntax">))) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">hte</span><span class="plain-syntax">-></span><span class="element-syntax">as_function</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||||
|
|
|
@ -546,7 +546,7 @@ in the source is set indented in code style.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax"><</span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">original</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) </span><span class="identifier-syntax">PUT_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="constant-syntax">PLAIN_COLOUR</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax"><</span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">original</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) </span><span class="identifier-syntax">PUT_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="constant-syntax">PLAIN_COLOUR</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">CL</span><span class="plain-syntax"> = </span><a href="5-wt.html#SP4" class="function-link"><span class="function-syntax">WeaveTree::code_line</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">CL</span><span class="plain-syntax"> = </span><a href="5-wt.html#SP4" class="function-link"><span class="function-syntax">WeaveTree::code_line</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">CL</span><span class="plain-syntax">, </span><span class="identifier-syntax">state</span><span class="plain-syntax">-></span><span class="element-syntax">ap</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">CL</span><span class="plain-syntax">, </span><span class="identifier-syntax">state</span><span class="plain-syntax">-></span><span class="element-syntax">ap</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP3" class="function-link"><span class="function-syntax">TextWeaver::source_code</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">CL</span><span class="plain-syntax">, </span><span class="identifier-syntax">original</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">-></span><span class="element-syntax">enable_hyperlinks</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP4" class="function-link"><span class="function-syntax">TextWeaver::source_code</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">CL</span><span class="plain-syntax">, </span><span class="identifier-syntax">original</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">-></span><span class="element-syntax">enable_hyperlinks</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">original</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">original</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-tw.html#SP5" class="function-link"><span class="function-syntax">Weaver::commentary_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">, </span><span class="identifier-syntax">state</span><span class="plain-syntax">-></span><span class="element-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-tw.html#SP5" class="function-link"><span class="function-syntax">Weaver::commentary_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">, </span><span class="identifier-syntax">state</span><span class="plain-syntax">-></span><span class="element-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">);</span>
|
||||||
|
@ -601,7 +601,7 @@ and macro usage is rendered differently.
|
||||||
<span class="plain-syntax"> </span><a href="4-lm.html#SP25" class="function-link"><span class="function-syntax">LanguageMethods::syntax_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">sect_language</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="4-lm.html#SP25" class="function-link"><span class="function-syntax">LanguageMethods::syntax_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">S</span><span class="plain-syntax">-></span><span class="element-syntax">sect_language</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">);</span>
|
||||||
|
|
||||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_3_2_6" class="named-paragraph-link"><span class="named-paragraph">Find macro usages and adjust syntax colouring accordingly</span><span class="named-paragraph-number">2.7.2.3.2.6</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_3_2_6" class="named-paragraph-link"><span class="named-paragraph">Find macro usages and adjust syntax colouring accordingly</span><span class="named-paragraph-number">2.7.2.3.2.6</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP3" class="function-link"><span class="function-syntax">TextWeaver::source_code</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">CL</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">-></span><span class="element-syntax">enable_hyperlinks</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP4" class="function-link"><span class="function-syntax">TextWeaver::source_code</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">CL</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">-></span><span class="element-syntax">enable_hyperlinks</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">concluding_comment</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">concluding_comment</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP1" class="function-link"><span class="function-syntax">TextWeaver::comment_text_in_code</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">CL</span><span class="plain-syntax">, </span><span class="identifier-syntax">concluding_comment</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP1" class="function-link"><span class="function-syntax">TextWeaver::comment_text_in_code</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">CL</span><span class="plain-syntax">, </span><span class="identifier-syntax">concluding_comment</span><span class="plain-syntax">);</span>
|
||||||
|
|
||||||
|
@ -726,7 +726,7 @@ otherwise, they are set flush right.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">pmac</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">pmac</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">front_colouring</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">front_colouring</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/4-sm.html#SP26" class="function-link"><span class="function-syntax">Str::substr</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">front_colouring</span><span class="plain-syntax">, </span><a href="../foundation-module/4-sm.html#SP10" class="function-link"><span class="function-syntax">Str::at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">), </span><a href="../foundation-module/4-sm.html#SP10" class="function-link"><span class="function-syntax">Str::at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0])));</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/4-sm.html#SP26" class="function-link"><span class="function-syntax">Str::substr</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">front_colouring</span><span class="plain-syntax">, </span><a href="../foundation-module/4-sm.html#SP10" class="function-link"><span class="function-syntax">Str::at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">), </span><a href="../foundation-module/4-sm.html#SP10" class="function-link"><span class="function-syntax">Str::at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0])));</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP3" class="function-link"><span class="function-syntax">TextWeaver::source_code</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">CL</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0], </span><span class="identifier-syntax">front_colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">-></span><span class="element-syntax">enable_hyperlinks</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP4" class="function-link"><span class="function-syntax">TextWeaver::source_code</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">CL</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0], </span><span class="identifier-syntax">front_colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">-></span><span class="element-syntax">enable_hyperlinks</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">front_colouring</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">front_colouring</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/4-sm.html#SP17" class="function-link"><span class="function-syntax">Str::copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[2]);</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/4-sm.html#SP17" class="function-link"><span class="function-syntax">Str::copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[2]);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">);</span>
|
||||||
|
@ -867,7 +867,7 @@ structure usage, or how <span class="extract"><span class="extract-syntax">CWEB<
|
||||||
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. </b></p>
|
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. </b></p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Weaver::show_function_usage</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Weaver::show_function_usage</span></span>:<br/><a href="3-tw.html#SP3_2">§3.2</a><br/>The Weaver of Text - <a href="3-twot.html#SP3_3">§3.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">weave_order</span><span class="plain-syntax"> *</span><span class="identifier-syntax">wv</span><span class="plain-syntax">,</span>
|
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Weaver::show_function_usage</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Weaver::show_function_usage</span></span>:<br/><a href="3-tw.html#SP3_2">§3.2</a><br/>The Weaver of Text - <a href="3-twot.html#SP4_3">§4.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">weave_order</span><span class="plain-syntax"> *</span><span class="identifier-syntax">wv</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="reserved-syntax">paragraph</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">language_function</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">as_list</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="reserved-syntax">paragraph</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">language_function</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">as_list</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">body</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ap</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">body</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ap</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">fn</span><span class="plain-syntax">-></span><span class="element-syntax">usage_described</span><span class="plain-syntax"> = </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">fn</span><span class="plain-syntax">-></span><span class="element-syntax">usage_described</span><span class="plain-syntax"> = </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||||
|
|
|
@ -49,7 +49,7 @@ function togglePopup(material_id) {
|
||||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="index.html">inweb</a></li><li><a href="index.html#3">Chapter 3: Outputs</a></li><li><b>The Weaver of Text</b></li></ul></div>
|
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="index.html">inweb</a></li><li><a href="index.html#3">Chapter 3: Outputs</a></li><li><b>The Weaver of Text</b></li></ul></div>
|
||||||
<p class="purpose">To manage the weaving of commentary or source code text.</p>
|
<p class="purpose">To manage the weaving of commentary or source code text.</p>
|
||||||
|
|
||||||
<ul class="toc"><li><a href="3-twot.html#SP1">§1. Commentary text</a></li><li><a href="3-twot.html#SP3">§3. Code text</a></li></ul><hr class="tocbar">
|
<ul class="toc"><li><a href="3-twot.html#SP1">§1. Commentary text</a></li><li><a href="3-twot.html#SP4">§4. Code text</a></li></ul><hr class="tocbar">
|
||||||
|
|
||||||
<p class="commentary firstcommentary"><a id="SP1"></a><b>§1. Commentary text. </b>The following takes text, divides it up at stroke-mark boundaries —
|
<p class="commentary firstcommentary"><a id="SP1"></a><b>§1. Commentary text. </b>The following takes text, divides it up at stroke-mark boundaries —
|
||||||
that is, <span class="extract"><span class="extract-syntax">this is inside</span></span>, this is outside — and sends contiguous pieces
|
that is, <span class="extract"><span class="extract-syntax">this is inside</span></span>, this is outside — and sends contiguous pieces
|
||||||
|
@ -74,8 +74,6 @@ as appropriate.
|
||||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">in_code</span><span class="plain-syntax">)?(</span><span class="identifier-syntax">I</span><span class="string-syntax">"Code In Code Comments Notation"</span><span class="plain-syntax">):(</span><span class="identifier-syntax">I</span><span class="string-syntax">"Code In Commentary Notation"</span><span class="plain-syntax">));</span>
|
<span class="plain-syntax"> (</span><span class="identifier-syntax">in_code</span><span class="plain-syntax">)?(</span><span class="identifier-syntax">I</span><span class="string-syntax">"Code In Code Comments Notation"</span><span class="plain-syntax">):(</span><span class="identifier-syntax">I</span><span class="string-syntax">"Code In Commentary Notation"</span><span class="plain-syntax">));</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP19" class="function-link"><span class="function-syntax">Str::ne</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">code_in_comments_notation</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Off"</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Split text and code extracts</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP19" class="function-link"><span class="function-syntax">Str::ne</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">code_in_comments_notation</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Off"</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Split text and code extracts</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
|
||||||
|
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">within</span><span class="plain-syntax"> == </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Recognose hyperlinks</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
|
||||||
|
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">display_flag</span><span class="plain-syntax"> = </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">display_flag</span><span class="plain-syntax"> = </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tex_notation</span><span class="plain-syntax"> = </span><a href="../foundation-module/8-bdfw.html#SP6" class="function-link"><span class="function-syntax">Bibliographic::get_datum</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">weave_web</span><span class="plain-syntax">-></span><span class="element-syntax">md</span><span class="plain-syntax">,</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tex_notation</span><span class="plain-syntax"> = </span><a href="../foundation-module/8-bdfw.html#SP6" class="function-link"><span class="function-syntax">Bibliographic::get_datum</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">weave_web</span><span class="plain-syntax">-></span><span class="element-syntax">md</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"TeX Mathematics Displayed Notation"</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"TeX Mathematics Displayed Notation"</span><span class="plain-syntax">);</span>
|
||||||
|
@ -90,10 +88,11 @@ as appropriate.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP19" class="function-link"><span class="function-syntax">Str::ne</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Off"</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP1_5" class="named-paragraph-link"><span class="named-paragraph">Recognise cross-references</span><span class="named-paragraph-number">1.5</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP19" class="function-link"><span class="function-syntax">Str::ne</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Off"</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP1_5" class="named-paragraph-link"><span class="named-paragraph">Recognise cross-references</span><span class="named-paragraph-number">1.5</span></a></span><span class="plain-syntax">;</span>
|
||||||
|
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">within</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">within</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP2" class="function-link"><span class="function-syntax">TextWeaver::inline_code_fragment</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP3" class="function-link"><span class="function-syntax">TextWeaver::inline_code_fragment</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP1_2" class="named-paragraph-link"><span class="named-paragraph">Recognise hyperlinks</span><span class="named-paragraph-number">1.2</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Detect use of footnotes</span><span class="named-paragraph-number">1.4</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP1_4" class="named-paragraph-link"><span class="named-paragraph">Detect use of footnotes</span><span class="named-paragraph-number">1.4</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP2" class="function-link"><span class="function-syntax">TextWeaver::commentary_fragment</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP3" class="function-link"><span class="function-syntax">TextWeaver::commentary_fragment</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
</pre>
|
</pre>
|
||||||
|
@ -118,7 +117,7 @@ as appropriate.
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
</pre>
|
</pre>
|
||||||
<ul class="endnotetexts"><li>This code is used in <a href="3-twot.html#SP1">§1</a>.</li></ul>
|
<ul class="endnotetexts"><li>This code is used in <a href="3-twot.html#SP1">§1</a>.</li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP1_2"></a><b>§1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Recognose hyperlinks</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
|
<p class="commentary firstcommentary"><a id="SP1_2"></a><b>§1.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Recognise hyperlinks</span><span class="named-paragraph-number">1.2</span></span><span class="comment-syntax"> =</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
@ -131,6 +130,15 @@ as appropriate.
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/4-sm.html#SP26" class="function-link"><span class="function-syntax">Str::substr</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">after</span><span class="plain-syntax">, </span><a href="../foundation-module/4-sm.html#SP10" class="function-link"><span class="function-syntax">Str::at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">), </span><a href="../foundation-module/4-sm.html#SP10" class="function-link"><span class="function-syntax">Str::end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">));</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/4-sm.html#SP26" class="function-link"><span class="function-syntax">Str::substr</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">after</span><span class="plain-syntax">, </span><a href="../foundation-module/4-sm.html#SP10" class="function-link"><span class="function-syntax">Str::at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">), </span><a href="../foundation-module/4-sm.html#SP10" class="function-link"><span class="function-syntax">Str::end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">));</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">match_results</span><span class="plain-syntax"> </span><span class="identifier-syntax">mr</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::create_mr</span></a><span class="plain-syntax">();</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">match_results</span><span class="plain-syntax"> </span><span class="identifier-syntax">mr</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::create_mr</span></a><span class="plain-syntax">();</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">after</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"(https*://%C+)(%c*)"</span><span class="plain-syntax">)) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">after</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"(https*://%C+)(%c*)"</span><span class="plain-syntax">)) {</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><a href="3-twot.html#SP2" class="function-link"><span class="function-syntax">TextWeaver::boundary_character</span></a><span class="plain-syntax">(</span><span class="constant-syntax">FALSE</span><span class="plain-syntax">, </span><a href="../foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_last_char</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0]))) {</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="identifier-syntax">wchar_t</span><span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_last_char</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0]);</span>
|
||||||
|
<span class="plain-syntax"> </span><a href="../foundation-module/4-sm.html#SP25" class="function-link"><span class="function-syntax">Str::delete_last_character</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0]);</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">longer</span><span class="plain-syntax">);</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">longer</span><span class="plain-syntax">, </span><span class="string-syntax">"%c%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">c</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[1]);</span>
|
||||||
|
<span class="plain-syntax"> </span><a href="../foundation-module/4-sm.html#SP15" class="function-link"><span class="function-syntax">Str::clear</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[1]);</span>
|
||||||
|
<span class="plain-syntax"> </span><a href="../foundation-module/4-sm.html#SP17" class="function-link"><span class="function-syntax">Str::copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1], </span><span class="identifier-syntax">longer</span><span class="plain-syntax">);</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">longer</span><span class="plain-syntax">);</span>
|
||||||
|
<span class="plain-syntax"> }</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP1" class="function-link"><span class="function-syntax">TextWeaver::commentary_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">before</span><span class="plain-syntax">, </span><span class="identifier-syntax">within</span><span class="plain-syntax">, </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP1" class="function-link"><span class="function-syntax">TextWeaver::commentary_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">before</span><span class="plain-syntax">, </span><span class="identifier-syntax">within</span><span class="plain-syntax">, </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><a href="5-wt.html#SP5" class="function-link"><span class="function-syntax">WeaveTree::url</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0], </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0], </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">), </span><span class="identifier-syntax">ap</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><a href="5-wt.html#SP5" class="function-link"><span class="function-syntax">WeaveTree::url</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0], </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0], </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">), </span><span class="identifier-syntax">ap</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP1" class="function-link"><span class="function-syntax">TextWeaver::commentary_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[1], </span><span class="identifier-syntax">within</span><span class="plain-syntax">, </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP1" class="function-link"><span class="function-syntax">TextWeaver::commentary_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[1], </span><span class="identifier-syntax">within</span><span class="plain-syntax">, </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">);</span>
|
||||||
|
@ -209,10 +217,14 @@ as appropriate.
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax"> < </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax"> < </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">within</span><span class="plain-syntax"> == </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">) && (</span><a href="../foundation-module/4-sm.html#SP26" class="function-link"><span class="function-syntax">Str::includes_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax">))) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">within</span><span class="plain-syntax"> == </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">) && (</span><a href="../foundation-module/4-sm.html#SP26" class="function-link"><span class="function-syntax">Str::includes_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">, </span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax">)) &&</span>
|
||||||
|
<span class="plain-syntax"> ((</span><span class="identifier-syntax">i</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) || (</span><a href="3-twot.html#SP2" class="function-link"><span class="function-syntax">TextWeaver::boundary_character</span></a><span class="plain-syntax">(</span><span class="constant-syntax">TRUE</span><span class="plain-syntax">,</span>
|
||||||
|
<span class="plain-syntax"> </span><a href="../foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">-1))))) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">j</span><span class="plain-syntax"> = </span><span class="identifier-syntax">i</span><span class="plain-syntax"> + </span><span class="identifier-syntax">N</span><span class="plain-syntax">+1;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">j</span><span class="plain-syntax"> = </span><span class="identifier-syntax">i</span><span class="plain-syntax"> + </span><span class="identifier-syntax">N</span><span class="plain-syntax">+1;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">j</span><span class="plain-syntax"> < </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">)) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">j</span><span class="plain-syntax"> < </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">)) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP26" class="function-link"><span class="function-syntax">Str::includes_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">, </span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax">)) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="../foundation-module/4-sm.html#SP26" class="function-link"><span class="function-syntax">Str::includes_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">, </span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax">)) &&</span>
|
||||||
|
<span class="plain-syntax"> (</span><a href="3-twot.html#SP2" class="function-link"><span class="function-syntax">TextWeaver::boundary_character</span></a><span class="plain-syntax">(</span><span class="constant-syntax">FALSE</span><span class="plain-syntax">,</span>
|
||||||
|
<span class="plain-syntax"> </span><a href="../foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">+</span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax">))))) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">allow</span><span class="plain-syntax"> = </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">allow</span><span class="plain-syntax"> = </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">before</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">before</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">reference</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">reference</span><span class="plain-syntax">);</span>
|
||||||
|
@ -238,10 +250,11 @@ as appropriate.
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">);</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">ext</span><span class="plain-syntax"> = </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="6-cln.html#SP10" class="function-link"><span class="function-syntax">Colonies::resolve_reference_in_weave</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">weave_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">reference</span><span class="plain-syntax">,</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="6-cln.html#SP10" class="function-link"><span class="function-syntax">Colonies::resolve_reference_in_weave</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">weave_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">reference</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">weave_web</span><span class="plain-syntax">-></span><span class="element-syntax">md</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">current_weave_line</span><span class="plain-syntax">)) {</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">weave_web</span><span class="plain-syntax">-></span><span class="element-syntax">md</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">current_weave_line</span><span class="plain-syntax">, &</span><span class="identifier-syntax">ext</span><span class="plain-syntax">)) {</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP1" class="function-link"><span class="function-syntax">TextWeaver::commentary_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">before</span><span class="plain-syntax">, </span><span class="identifier-syntax">within</span><span class="plain-syntax">, </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP1" class="function-link"><span class="function-syntax">TextWeaver::commentary_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">before</span><span class="plain-syntax">, </span><span class="identifier-syntax">within</span><span class="plain-syntax">, </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><a href="5-wt.html#SP5" class="function-link"><span class="function-syntax">WeaveTree::url</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">), </span><span class="identifier-syntax">ap</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><a href="5-wt.html#SP5" class="function-link"><span class="function-syntax">WeaveTree::url</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">ext</span><span class="plain-syntax">), </span><span class="identifier-syntax">ap</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP1" class="function-link"><span class="function-syntax">TextWeaver::commentary_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">after</span><span class="plain-syntax">, </span><span class="identifier-syntax">within</span><span class="plain-syntax">, </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP1" class="function-link"><span class="function-syntax">TextWeaver::commentary_r</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">after</span><span class="plain-syntax">, </span><span class="identifier-syntax">within</span><span class="plain-syntax">, </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">allow</span><span class="plain-syntax"> = </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">allow</span><span class="plain-syntax"> = </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
|
@ -249,16 +262,35 @@ as appropriate.
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">);</span>
|
||||||
</pre>
|
</pre>
|
||||||
<ul class="endnotetexts"><li>This code is used in <a href="3-twot.html#SP1_5">§1.5</a>.</li></ul>
|
<ul class="endnotetexts"><li>This code is used in <a href="3-twot.html#SP1_5">§1.5</a>.</li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP2"></a><b>§2. </b></p>
|
<p class="commentary firstcommentary"><a id="SP2"></a><b>§2. </b>This tests whether a cross-reference is allowed to begin or end: it must
|
||||||
|
begin after and finish before a "boundary character".
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p class="commentary">Note the one-sided treatment of <span class="extract"><span class="extract-syntax">:</span></span>, which is a boundary after but not before,
|
||||||
|
so that <span class="extract"><span class="extract-syntax">http://</span></span> won't trigger a cross-reference with the standard <span class="extract"><span class="extract-syntax">//</span></span>
|
||||||
|
xref notation.
|
||||||
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TextWeaver::commentary_fragment</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">TextWeaver::commentary_fragment</span></span>:<br/><a href="3-twot.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ap</span><span class="plain-syntax">,</span>
|
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">TextWeaver::boundary_character</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">TextWeaver::boundary_character</span></span>:<br/><a href="3-twot.html#SP1_2">§1.2</a>, <a href="3-twot.html#SP1_5">§1.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">before</span><span class="plain-syntax">, </span><span class="identifier-syntax">wchar_t</span><span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax">) {</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">c</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-chr.html#SP2" class="function-link"><span class="function-syntax">Characters::is_whitespace</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">c</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">c</span><span class="plain-syntax"> == </span><span class="character-syntax">'.'</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">c</span><span class="plain-syntax"> == </span><span class="character-syntax">','</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">c</span><span class="plain-syntax"> == </span><span class="character-syntax">'!'</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">c</span><span class="plain-syntax"> == </span><span class="character-syntax">'?'</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">c</span><span class="plain-syntax"> == </span><span class="character-syntax">';'</span><span class="plain-syntax">) ||</span>
|
||||||
|
<span class="plain-syntax"> (</span><span class="identifier-syntax">c</span><span class="plain-syntax"> == </span><span class="character-syntax">'('</span><span class="plain-syntax">)|| (</span><span class="identifier-syntax">c</span><span class="plain-syntax"> == </span><span class="character-syntax">')'</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">before</span><span class="plain-syntax"> == </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">c</span><span class="plain-syntax"> == </span><span class="character-syntax">':'</span><span class="plain-syntax">)) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||||
|
<span class="plain-syntax">}</span>
|
||||||
|
</pre>
|
||||||
|
<p class="commentary firstcommentary"><a id="SP3"></a><b>§3. </b></p>
|
||||||
|
|
||||||
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TextWeaver::commentary_fragment</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">TextWeaver::commentary_fragment</span></span>:<br/><a href="3-twot.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ap</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fragment</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fragment</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">fragment</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">fragment</span><span class="plain-syntax">) > </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><a href="5-wt.html#SP4" class="function-link"><span class="function-syntax">WeaveTree::commentary</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">fragment</span><span class="plain-syntax">, </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">), </span><span class="identifier-syntax">ap</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><a href="5-wt.html#SP4" class="function-link"><span class="function-syntax">WeaveTree::commentary</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">fragment</span><span class="plain-syntax">, </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">), </span><span class="identifier-syntax">ap</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
|
|
||||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TextWeaver::inline_code_fragment</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">TextWeaver::inline_code_fragment</span></span>:<br/><a href="3-twot.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fragment</span><span class="plain-syntax">) {</span>
|
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TextWeaver::inline_code_fragment</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">TextWeaver::inline_code_fragment</span></span>:<br/><a href="3-twot.html#SP1">§1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fragment</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><a href="5-wt.html#SP8" class="function-link"><span class="function-syntax">WeaveTree::inline</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax"> = </span><a href="5-wt.html#SP8" class="function-link"><span class="function-syntax">WeaveTree::inline</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">);</span>
|
||||||
|
@ -268,10 +300,10 @@ as appropriate.
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">SC</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">SC</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
</pre>
|
</pre>
|
||||||
<p class="commentary firstcommentary"><a id="SP3"></a><b>§3. Code text. </b></p>
|
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. Code text. </b></p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TextWeaver::source_code</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">TextWeaver::source_code</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_1_4">§2.7.2.3.1.4</a>, <a href="3-tw.html#SP2_7_2_3_2">§2.7.2.3.2</a>, <a href="3-tw.html#SP2_7_2_3_2_6">§2.7.2.3.2.6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ap</span><span class="plain-syntax">,</span>
|
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TextWeaver::source_code</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">TextWeaver::source_code</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_1_4">§2.7.2.3.1.4</a>, <a href="3-tw.html#SP2_7_2_3_2">§2.7.2.3.2</a>, <a href="3-tw.html#SP2_7_2_3_2_6">§2.7.2.3.2.6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ap</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">linked</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">linked</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_document_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RETRIEVE_POINTER_weave_document_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">-></span><span class="element-syntax">root</span><span class="plain-syntax">-></span><span class="element-syntax">content</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_document_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RETRIEVE_POINTER_weave_document_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">-></span><span class="element-syntax">root</span><span class="plain-syntax">-></span><span class="element-syntax">content</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_order</span><span class="plain-syntax"> *</span><span class="identifier-syntax">wv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">wv</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_order</span><span class="plain-syntax"> *</span><span class="identifier-syntax">wv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">wv</span><span class="plain-syntax">;</span>
|
||||||
|
@ -279,11 +311,11 @@ as appropriate.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax"> < </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax"> < </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">linked</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">linked</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP3_1" class="named-paragraph-link"><span class="named-paragraph">Pick up hyperlinking at the eleventh hour</span><span class="named-paragraph-number">3.1</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP4_1" class="named-paragraph-link"><span class="named-paragraph">Pick up hyperlinking at the eleventh hour</span><span class="named-paragraph-number">4.1</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax"> = </span><a href="../foundation-module/8-bdfw.html#SP6" class="function-link"><span class="function-syntax">Bibliographic::get_datum</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">weave_web</span><span class="plain-syntax">-></span><span class="element-syntax">md</span><span class="plain-syntax">,</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax"> = </span><a href="../foundation-module/8-bdfw.html#SP6" class="function-link"><span class="function-syntax">Bibliographic::get_datum</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">weave_web</span><span class="plain-syntax">-></span><span class="element-syntax">md</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"Cross-References Notation"</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">I</span><span class="string-syntax">"Cross-References Notation"</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP19" class="function-link"><span class="function-syntax">Str::ne</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Off"</span><span class="plain-syntax">))</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP19" class="function-link"><span class="function-syntax">Str::ne</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Off"</span><span class="plain-syntax">))</span>
|
||||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP3_2" class="named-paragraph-link"><span class="named-paragraph">Pick up cross-references at the eleventh hour</span><span class="named-paragraph-number">3.2</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP4_2" class="named-paragraph-link"><span class="named-paragraph">Pick up cross-references at the eleventh hour</span><span class="named-paragraph-number">4.2</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="../foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">) == </span><span class="constant-syntax">FUNCTION_COLOUR</span><span class="plain-syntax">) &&</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="../foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">) == </span><span class="constant-syntax">FUNCTION_COLOUR</span><span class="plain-syntax">) &&</span>
|
||||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">current_weave_line</span><span class="plain-syntax">-></span><span class="element-syntax">category</span><span class="plain-syntax"> != </span><span class="constant-syntax">TEXT_EXTRACT_LCAT</span><span class="plain-syntax">)) {</span>
|
<span class="plain-syntax"> (</span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">current_weave_line</span><span class="plain-syntax">-></span><span class="element-syntax">category</span><span class="plain-syntax"> != </span><span class="constant-syntax">TEXT_EXTRACT_LCAT</span><span class="plain-syntax">)) {</span>
|
||||||
|
@ -293,16 +325,16 @@ as appropriate.
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PUT_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">fname</span><span class="plain-syntax">, </span><a href="../foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">++));</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">PUT_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">fname</span><span class="plain-syntax">, </span><a href="../foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">++));</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="3-ta.html#SP10" class="function-link"><span class="function-syntax">Analyser::is_reserved_word_for_section</span></a><span class="plain-syntax">(</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="3-ta.html#SP10" class="function-link"><span class="function-syntax">Analyser::is_reserved_word_for_section</span></a><span class="plain-syntax">(</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">current_weave_line</span><span class="plain-syntax">-></span><span class="element-syntax">owning_section</span><span class="plain-syntax">, </span><span class="identifier-syntax">fname</span><span class="plain-syntax">, </span><span class="constant-syntax">FUNCTION_COLOUR</span><span class="plain-syntax">))</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">current_weave_line</span><span class="plain-syntax">-></span><span class="element-syntax">owning_section</span><span class="plain-syntax">, </span><span class="identifier-syntax">fname</span><span class="plain-syntax">, </span><span class="constant-syntax">FUNCTION_COLOUR</span><span class="plain-syntax">))</span>
|
||||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP3_3" class="named-paragraph-link"><span class="named-paragraph">Spot the function</span><span class="named-paragraph-number">3.3</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP4_3" class="named-paragraph-link"><span class="named-paragraph">Spot the function</span><span class="named-paragraph-number">4.3</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">fname</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">fname</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
|
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">from</span><span class="plain-syntax"> < </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">))</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">from</span><span class="plain-syntax"> < </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">))</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP4" class="function-link"><span class="function-syntax">TextWeaver::source_code_piece</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">from</span><span class="plain-syntax">, </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">));</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP5" class="function-link"><span class="function-syntax">TextWeaver::source_code_piece</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">from</span><span class="plain-syntax">, </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">));</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
</pre>
|
</pre>
|
||||||
<p class="commentary firstcommentary"><a id="SP3_1"></a><b>§3.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Pick up hyperlinking at the eleventh hour</span><span class="named-paragraph-number">3.1</span></span><span class="comment-syntax"> =</span>
|
<p class="commentary firstcommentary"><a id="SP4_1"></a><b>§4.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Pick up hyperlinking at the eleventh hour</span><span class="named-paragraph-number">4.1</span></span><span class="comment-syntax"> =</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
@ -313,7 +345,7 @@ as appropriate.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">match_results</span><span class="plain-syntax"> </span><span class="identifier-syntax">mr</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::create_mr</span></a><span class="plain-syntax">();</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">match_results</span><span class="plain-syntax"> </span><span class="identifier-syntax">mr</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::create_mr</span></a><span class="plain-syntax">();</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">after</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"(https*://%C+)(%c*)"</span><span class="plain-syntax">)) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">after</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"(https*://%C+)(%c*)"</span><span class="plain-syntax">)) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">U</span><span class="plain-syntax"> = </span><a href="5-wt.html#SP5" class="function-link"><span class="function-syntax">WeaveTree::url</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0], </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0], </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">U</span><span class="plain-syntax"> = </span><a href="5-wt.html#SP5" class="function-link"><span class="function-syntax">WeaveTree::url</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0], </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0], </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP4" class="function-link"><span class="function-syntax">TextWeaver::source_code_piece</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">from</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP5" class="function-link"><span class="function-syntax">TextWeaver::source_code_piece</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">from</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">U</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">U</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> += </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0]);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> += </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0]);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> = </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> = </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
||||||
|
@ -321,8 +353,8 @@ as appropriate.
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">after</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">after</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
</pre>
|
</pre>
|
||||||
<ul class="endnotetexts"><li>This code is used in <a href="3-twot.html#SP3">§3</a>.</li></ul>
|
<ul class="endnotetexts"><li>This code is used in <a href="3-twot.html#SP4">§4</a>.</li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP3_2"></a><b>§3.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Pick up cross-references at the eleventh hour</span><span class="named-paragraph-number">3.2</span></span><span class="comment-syntax"> =</span>
|
<p class="commentary firstcommentary"><a id="SP4_2"></a><b>§4.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Pick up cross-references at the eleventh hour</span><span class="named-paragraph-number">4.2</span></span><span class="comment-syntax"> =</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
@ -333,7 +365,7 @@ as appropriate.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP26" class="function-link"><span class="function-syntax">Str::includes_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">, </span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax">)) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP26" class="function-link"><span class="function-syntax">Str::includes_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">, </span><span class="identifier-syntax">xref_notation</span><span class="plain-syntax">)) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">reference</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">reference</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/4-sm.html#SP26" class="function-link"><span class="function-syntax">Str::substr</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">reference</span><span class="plain-syntax">, </span><a href="../foundation-module/4-sm.html#SP10" class="function-link"><span class="function-syntax">Str::at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax"> + </span><span class="identifier-syntax">N</span><span class="plain-syntax">), </span><a href="../foundation-module/4-sm.html#SP10" class="function-link"><span class="function-syntax">Str::at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">));</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/4-sm.html#SP26" class="function-link"><span class="function-syntax">Str::substr</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">reference</span><span class="plain-syntax">, </span><a href="../foundation-module/4-sm.html#SP10" class="function-link"><span class="function-syntax">Str::at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax"> + </span><span class="identifier-syntax">N</span><span class="plain-syntax">), </span><a href="../foundation-module/4-sm.html#SP10" class="function-link"><span class="function-syntax">Str::at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</span><span class="plain-syntax">));</span>
|
||||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP3_2_1" class="named-paragraph-link"><span class="named-paragraph">Attempt to resolve the cross-reference at the eleventh hour</span><span class="named-paragraph-number">3.2.1</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-twot.html#SP4_2_1" class="named-paragraph-link"><span class="named-paragraph">Attempt to resolve the cross-reference at the eleventh hour</span><span class="named-paragraph-number">4.2.1</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">reference</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">reference</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
|
@ -341,17 +373,18 @@ as appropriate.
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
</pre>
|
</pre>
|
||||||
<ul class="endnotetexts"><li>This code is used in <a href="3-twot.html#SP3">§3</a>.</li></ul>
|
<ul class="endnotetexts"><li>This code is used in <a href="3-twot.html#SP4">§4</a>.</li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP3_2_1"></a><b>§3.2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Attempt to resolve the cross-reference at the eleventh hour</span><span class="named-paragraph-number">3.2.1</span></span><span class="comment-syntax"> =</span>
|
<p class="commentary firstcommentary"><a id="SP4_2_1"></a><b>§4.2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Attempt to resolve the cross-reference at the eleventh hour</span><span class="named-paragraph-number">4.2.1</span></span><span class="comment-syntax"> =</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">);</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">ext</span><span class="plain-syntax"> = </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="6-cln.html#SP10" class="function-link"><span class="function-syntax">Colonies::resolve_reference_in_weave</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">weave_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">reference</span><span class="plain-syntax">,</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="6-cln.html#SP10" class="function-link"><span class="function-syntax">Colonies::resolve_reference_in_weave</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">weave_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">reference</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">weave_web</span><span class="plain-syntax">-></span><span class="element-syntax">md</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">current_weave_line</span><span class="plain-syntax">)) {</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">weave_web</span><span class="plain-syntax">-></span><span class="element-syntax">md</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">current_weave_line</span><span class="plain-syntax">, &</span><span class="identifier-syntax">ext</span><span class="plain-syntax">)) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">U</span><span class="plain-syntax"> = </span><a href="5-wt.html#SP5" class="function-link"><span class="function-syntax">WeaveTree::url</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">U</span><span class="plain-syntax"> = </span><a href="5-wt.html#SP5" class="function-link"><span class="function-syntax">WeaveTree::url</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">ext</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP4" class="function-link"><span class="function-syntax">TextWeaver::source_code_piece</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">from</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP5" class="function-link"><span class="function-syntax">TextWeaver::source_code_piece</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">from</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">U</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">U</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> = </span><span class="identifier-syntax">j</span><span class="plain-syntax"> + </span><span class="identifier-syntax">N</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax"> = </span><span class="identifier-syntax">j</span><span class="plain-syntax"> + </span><span class="identifier-syntax">N</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> = </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> = </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
|
||||||
|
@ -359,8 +392,8 @@ as appropriate.
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">);</span>
|
||||||
</pre>
|
</pre>
|
||||||
<ul class="endnotetexts"><li>This code is used in <a href="3-twot.html#SP3_2">§3.2</a>.</li></ul>
|
<ul class="endnotetexts"><li>This code is used in <a href="3-twot.html#SP4_2">§4.2</a>.</li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP3_3"></a><b>§3.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Spot the function</span><span class="named-paragraph-number">3.3</span></span><span class="comment-syntax"> =</span>
|
<p class="commentary firstcommentary"><a id="SP4_3"></a><b>§4.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Spot the function</span><span class="named-paragraph-number">4.3</span></span><span class="comment-syntax"> =</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
@ -370,7 +403,7 @@ as appropriate.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">source_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">defn_line</span><span class="plain-syntax"> = </span><span class="identifier-syntax">fn</span><span class="plain-syntax">-></span><span class="element-syntax">function_header_at</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">source_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">defn_line</span><span class="plain-syntax"> = </span><span class="identifier-syntax">fn</span><span class="plain-syntax">-></span><span class="element-syntax">function_header_at</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">current_weave_line</span><span class="plain-syntax"> == </span><span class="identifier-syntax">defn_line</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">current_weave_line</span><span class="plain-syntax"> == </span><span class="identifier-syntax">defn_line</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">fn</span><span class="plain-syntax">-></span><span class="element-syntax">usage_described</span><span class="plain-syntax"> == </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">fn</span><span class="plain-syntax">-></span><span class="element-syntax">usage_described</span><span class="plain-syntax"> == </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP4" class="function-link"><span class="function-syntax">TextWeaver::source_code_piece</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">from</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP5" class="function-link"><span class="function-syntax">TextWeaver::source_code_piece</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">from</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">FD</span><span class="plain-syntax"> = </span><a href="5-wt.html#SP6" class="function-link"><span class="function-syntax">WeaveTree::function_defn</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">fn</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">FD</span><span class="plain-syntax"> = </span><a href="5-wt.html#SP6" class="function-link"><span class="function-syntax">WeaveTree::function_defn</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">fn</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">FD</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">FD</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-tw.html#SP4" class="function-link"><span class="function-syntax">Weaver::show_function_usage</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">, </span><span class="identifier-syntax">FD</span><span class="plain-syntax">,</span>
|
<span class="plain-syntax"> </span><a href="3-tw.html#SP4" class="function-link"><span class="function-syntax">Weaver::show_function_usage</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">, </span><span class="identifier-syntax">FD</span><span class="plain-syntax">,</span>
|
||||||
|
@ -379,7 +412,7 @@ as appropriate.
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> = </span><span class="identifier-syntax">i</span><span class="plain-syntax">+1;</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax"> = </span><span class="identifier-syntax">i</span><span class="plain-syntax">+1;</span>
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||||
<span class="plain-syntax"> </span><a href="3-twot.html#SP4" class="function-link"><span class="function-syntax">TextWeaver::source_code_piece</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">from</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="3-twot.html#SP5" class="function-link"><span class="function-syntax">TextWeaver::source_code_piece</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">ap</span><span class="plain-syntax">, </span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="identifier-syntax">from</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">)</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">)</span>
|
||||||
<span class="plain-syntax"> </span><a href="6-cln.html#SP11" class="function-link"><span class="function-syntax">Colonies::paragraph_URL</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">defn_line</span><span class="plain-syntax">-></span><span class="element-syntax">owning_paragraph</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">weave_to</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="6-cln.html#SP11" class="function-link"><span class="function-syntax">Colonies::paragraph_URL</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">defn_line</span><span class="plain-syntax">-></span><span class="element-syntax">owning_paragraph</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-></span><span class="element-syntax">weave_to</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">U</span><span class="plain-syntax"> = </span><a href="5-wt.html#SP4" class="function-link"><span class="function-syntax">WeaveTree::function_usage</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">fn</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">U</span><span class="plain-syntax"> = </span><a href="5-wt.html#SP4" class="function-link"><span class="function-syntax">WeaveTree::function_usage</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">fn</span><span class="plain-syntax">);</span>
|
||||||
|
@ -389,11 +422,11 @@ as appropriate.
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
</pre>
|
</pre>
|
||||||
<ul class="endnotetexts"><li>This code is used in <a href="3-twot.html#SP3">§3</a>.</li></ul>
|
<ul class="endnotetexts"><li>This code is used in <a href="3-twot.html#SP4">§4</a>.</li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP4"></a><b>§4. </b></p>
|
<p class="commentary firstcommentary"><a id="SP5"></a><b>§5. </b></p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TextWeaver::source_code_piece</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">TextWeaver::source_code_piece</span></span>:<br/><a href="3-twot.html#SP3">§3</a>, <a href="3-twot.html#SP3_1">§3.1</a>, <a href="3-twot.html#SP3_2_1">§3.2.1</a>, <a href="3-twot.html#SP3_3">§3.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ap</span><span class="plain-syntax">,</span>
|
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TextWeaver::source_code_piece</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">TextWeaver::source_code_piece</span></span>:<br/><a href="3-twot.html#SP4">§4</a>, <a href="3-twot.html#SP4_1">§4.1</a>, <a href="3-twot.html#SP4_2_1">§4.2.1</a>, <a href="3-twot.html#SP4_3">§4.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ap</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">to</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">from</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">to</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">to</span><span class="plain-syntax"> > </span><span class="identifier-syntax">from</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">to</span><span class="plain-syntax"> > </span><span class="identifier-syntax">from</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">m</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">m</span><span class="plain-syntax">);</span>
|
||||||
|
|
|
@ -632,7 +632,7 @@ information.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_code_line_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_code_line_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_code_line_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_code_line_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
|
|
||||||
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::function_usage</span><button class="popup" onclick="togglePopup('usagePopup27')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup27">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::function_usage</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP3_3">§3.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
|
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::function_usage</span><button class="popup" onclick="togglePopup('usagePopup27')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup27">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::function_usage</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP4_3">§4.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="reserved-syntax">language_function</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="reserved-syntax">language_function</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_function_usage_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_function_usage_node</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_function_usage_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_function_usage_node</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">url</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">url</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
||||||
|
@ -640,7 +640,7 @@ information.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_function_usage_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_function_usage_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_function_usage_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_function_usage_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
|
|
||||||
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::commentary</span><button class="popup" onclick="togglePopup('usagePopup28')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup28">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::commentary</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">) {</span>
|
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::commentary</span><button class="popup" onclick="togglePopup('usagePopup28')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup28">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::commentary</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_commentary_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_commentary_node</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_commentary_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_commentary_node</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">text</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">text</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">text</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">text</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">in_code</span><span class="plain-syntax"> = </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">in_code</span><span class="plain-syntax"> = </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">;</span>
|
||||||
|
@ -685,7 +685,7 @@ been syntax-coloured.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::source_code</span><button class="popup" onclick="togglePopup('usagePopup33')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup33">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::source_code</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP2">§2</a>, <a href="3-twot.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
|
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::source_code</span><button class="popup" onclick="togglePopup('usagePopup33')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup33">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::source_code</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP3">§3</a>, <a href="3-twot.html#SP5">§5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">) != </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">)) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"bad source segment"</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">) != </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">)) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"bad source segment"</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax"><</span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++)</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax"><</span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++)</span>
|
||||||
|
@ -696,7 +696,7 @@ been syntax-coloured.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_source_code_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_source_code_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_source_code_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_source_code_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
|
|
||||||
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::url</span><button class="popup" onclick="togglePopup('usagePopup34')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup34">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::url</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP1_2">§1.2</a>, <a href="3-twot.html#SP1_5_1">§1.5.1</a>, <a href="3-twot.html#SP3_1">§3.1</a>, <a href="3-twot.html#SP3_2_1">§3.2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">url</span><span class="plain-syntax">,</span>
|
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::url</span><button class="popup" onclick="togglePopup('usagePopup34')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup34">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::url</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP1_2">§1.2</a>, <a href="3-twot.html#SP1_5_1">§1.5.1</a>, <a href="3-twot.html#SP4_1">§4.1</a>, <a href="3-twot.html#SP4_2_1">§4.2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">url</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">content</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">external</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">content</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">external</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_url_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_url_node</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_url_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_url_node</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">url</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">url</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
||||||
|
@ -722,7 +722,7 @@ definition has just occurred.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::function_defn</span><button class="popup" onclick="togglePopup('usagePopup37')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup37">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::function_defn</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP3_3">§3.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">language_function</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn</span><span class="plain-syntax">) {</span>
|
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::function_defn</span><button class="popup" onclick="togglePopup('usagePopup37')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup37">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::function_defn</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP4_3">§4.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">language_function</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_function_defn_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_function_defn_node</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_function_defn_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_function_defn_node</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">fn</span><span class="plain-syntax"> = </span><span class="identifier-syntax">fn</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">fn</span><span class="plain-syntax"> = </span><span class="identifier-syntax">fn</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_function_defn_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_function_defn_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_function_defn_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_function_defn_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
|
||||||
|
@ -766,7 +766,7 @@ indentation but not weave any bracketed marker.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_grammar_index_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_grammar_index_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_grammar_index_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_grammar_index_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
|
|
||||||
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::inline</span><button class="popup" onclick="togglePopup('usagePopup41')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup41">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::inline</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP2">§2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">) {</span>
|
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::inline</span><button class="popup" onclick="togglePopup('usagePopup41')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup41">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::inline</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP3">§3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_inline_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_inline_node</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_inline_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_inline_node</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_inline_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_inline_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_inline_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_inline_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
|
|
|
@ -296,7 +296,7 @@ first we find.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="reserved-syntax">colony_member</span><span class="plain-syntax"> *</span><span class="function-syntax">Colonies::find</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Colonies::find</span></span>:<br/><a href="6-cln.html#SP10_1">§10.1</a>, <a href="6-cln.html#SP10_2">§10.2</a>, <a href="6-cln.html#SP11">§11</a><br/>Configuration - <a href="1-cnf.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T</span><span class="plain-syntax">) {</span>
|
<span class="reserved-syntax">colony_member</span><span class="plain-syntax"> *</span><span class="function-syntax">Colonies::find</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Colonies::find</span></span>:<br/><a href="6-cln.html#SP10_2">§10.2</a>, <a href="6-cln.html#SP10_3">§10.3</a>, <a href="6-cln.html#SP11">§11</a><br/>Configuration - <a href="1-cnf.html#SP4">§4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">colony</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">colony</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">colony</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">colony</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">colony_member</span><span class="plain-syntax"> *</span><span class="identifier-syntax">CM</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">colony_member</span><span class="plain-syntax"> *</span><span class="identifier-syntax">CM</span><span class="plain-syntax">;</span>
|
||||||
|
@ -315,7 +315,7 @@ the data we already have; but if not, we read it in.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="reserved-syntax">module</span><span class="plain-syntax"> *</span><span class="function-syntax">Colonies::as_module</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Colonies::as_module</span></span>:<br/><a href="6-cln.html#SP10_1">§10.1</a>, <a href="6-cln.html#SP10_2">§10.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">colony_member</span><span class="plain-syntax"> *</span><span class="identifier-syntax">CM</span><span class="plain-syntax">, </span><span class="reserved-syntax">source_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax">, </span><span class="reserved-syntax">web_md</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Wm</span><span class="plain-syntax">) {</span>
|
<span class="reserved-syntax">module</span><span class="plain-syntax"> *</span><span class="function-syntax">Colonies::as_module</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Colonies::as_module</span></span>:<br/><a href="6-cln.html#SP10_2">§10.2</a>, <a href="6-cln.html#SP10_3">§10.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">colony_member</span><span class="plain-syntax"> *</span><span class="identifier-syntax">CM</span><span class="plain-syntax">, </span><span class="reserved-syntax">source_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax">, </span><span class="reserved-syntax">web_md</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Wm</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">CM</span><span class="plain-syntax">-></span><span class="element-syntax">loaded</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP8_1" class="named-paragraph-link"><span class="named-paragraph">Perhaps the web being woven</span><span class="named-paragraph-number">8.1</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">CM</span><span class="plain-syntax">-></span><span class="element-syntax">loaded</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP8_1" class="named-paragraph-link"><span class="named-paragraph">Perhaps the web being woven</span><span class="named-paragraph-number">8.1</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">CM</span><span class="plain-syntax">-></span><span class="element-syntax">loaded</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP8_2" class="named-paragraph-link"><span class="named-paragraph">Perhaps a module imported by the web being woven</span><span class="named-paragraph-number">8.2</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">CM</span><span class="plain-syntax">-></span><span class="element-syntax">loaded</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP8_2" class="named-paragraph-link"><span class="named-paragraph">Perhaps a module imported by the web being woven</span><span class="named-paragraph-number">8.2</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">CM</span><span class="plain-syntax">-></span><span class="element-syntax">loaded</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP8_3" class="named-paragraph-link"><span class="named-paragraph">Perhaps a module not yet seen</span><span class="named-paragraph-number">8.3</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">CM</span><span class="plain-syntax">-></span><span class="element-syntax">loaded</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP8_3" class="named-paragraph-link"><span class="named-paragraph">Perhaps a module not yet seen</span><span class="named-paragraph-number">8.3</span></a></span><span class="plain-syntax">;</span>
|
||||||
|
@ -412,30 +412,33 @@ is where the reference is made from.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Colonies::resolve_reference_in_weave</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Colonies::resolve_reference_in_weave</span></span>:<br/><a href="6-cln.html#SP11">§11</a><br/>The Weaver of Text - <a href="3-twot.html#SP1_5_1">§1.5.1</a>, <a href="3-twot.html#SP3_2_1">§3.2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">title</span><span class="plain-syntax">,</span>
|
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Colonies::resolve_reference_in_weave</span><button class="popup" onclick="togglePopup('usagePopup12')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup12">Usage of <span class="code-font"><span class="function-syntax">Colonies::resolve_reference_in_weave</span></span>:<br/><a href="6-cln.html#SP11">§11</a><br/>The Weaver of Text - <a href="3-twot.html#SP1_5_1">§1.5.1</a>, <a href="3-twot.html#SP4_2_1">§4.2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">title</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">for_HTML_file</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="reserved-syntax">web_md</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Wm</span><span class="plain-syntax">, </span><span class="reserved-syntax">source_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">for_HTML_file</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="reserved-syntax">web_md</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Wm</span><span class="plain-syntax">, </span><span class="reserved-syntax">source_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ext</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">r</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">r</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ext</span><span class="plain-syntax">) *</span><span class="identifier-syntax">ext</span><span class="plain-syntax"> = </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">match_results</span><span class="plain-syntax"> </span><span class="identifier-syntax">mr</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::create_mr</span></a><span class="plain-syntax">();</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">match_results</span><span class="plain-syntax"> </span><span class="identifier-syntax">mr</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::create_mr</span></a><span class="plain-syntax">();</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"(%c+?) -> (%c+)"</span><span class="plain-syntax">)) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"(%c+?) -> (%c+)"</span><span class="plain-syntax">)) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">r</span><span class="plain-syntax"> = </span><a href="6-cln.html#SP10" class="function-link"><span class="function-syntax">Colonies::resolve_reference_in_weave_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">,</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">r</span><span class="plain-syntax"> = </span><a href="6-cln.html#SP10" class="function-link"><span class="function-syntax">Colonies::resolve_reference_in_weave_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">for_HTML_file</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[1], </span><span class="identifier-syntax">Wm</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">for_HTML_file</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[1], </span><span class="identifier-syntax">Wm</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">, </span><span class="identifier-syntax">ext</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0]);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0]);</span>
|
||||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">r</span><span class="plain-syntax"> = </span><a href="6-cln.html#SP10" class="function-link"><span class="function-syntax">Colonies::resolve_reference_in_weave_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">,</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">r</span><span class="plain-syntax"> = </span><a href="6-cln.html#SP10" class="function-link"><span class="function-syntax">Colonies::resolve_reference_in_weave_inner</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">for_HTML_file</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="identifier-syntax">Wm</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">for_HTML_file</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="identifier-syntax">Wm</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">, </span><span class="identifier-syntax">ext</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::dispose_of</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::dispose_of</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">r</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">r</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
|
|
||||||
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Colonies::resolve_reference_in_weave_inner</span><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">title</span><span class="plain-syntax">,</span>
|
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Colonies::resolve_reference_in_weave_inner</span><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">title</span><span class="plain-syntax">,</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">for_HTML_file</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="reserved-syntax">web_md</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Wm</span><span class="plain-syntax">, </span><span class="reserved-syntax">source_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">for_HTML_file</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="reserved-syntax">web_md</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Wm</span><span class="plain-syntax">, </span><span class="reserved-syntax">source_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ext</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">module</span><span class="plain-syntax"> *</span><span class="identifier-syntax">from_M</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">Wm</span><span class="plain-syntax">)?(</span><span class="identifier-syntax">Wm</span><span class="plain-syntax">-></span><span class="element-syntax">as_module</span><span class="plain-syntax">):</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">module</span><span class="plain-syntax"> *</span><span class="identifier-syntax">from_M</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">Wm</span><span class="plain-syntax">)?(</span><span class="identifier-syntax">Wm</span><span class="plain-syntax">-></span><span class="element-syntax">as_module</span><span class="plain-syntax">):</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">module</span><span class="plain-syntax"> *</span><span class="identifier-syntax">search_M</span><span class="plain-syntax"> = </span><span class="identifier-syntax">from_M</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">module</span><span class="plain-syntax"> *</span><span class="identifier-syntax">search_M</span><span class="plain-syntax"> = </span><span class="identifier-syntax">from_M</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">colony_member</span><span class="plain-syntax"> *</span><span class="identifier-syntax">search_CM</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">colony_member</span><span class="plain-syntax"> *</span><span class="identifier-syntax">search_CM</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">external</span><span class="plain-syntax"> = </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">external</span><span class="plain-syntax"> = </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||||
|
|
||||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_1" class="named-paragraph-link"><span class="named-paragraph">Is it the name of a member of our colony?</span><span class="named-paragraph-number">10.1</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_1" class="named-paragraph-link"><span class="named-paragraph">Is it an explicit URL?</span><span class="named-paragraph-number">10.1</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_2" class="named-paragraph-link"><span class="named-paragraph">If it contains a colon, does this indicate a section in a colony member?</span><span class="named-paragraph-number">10.2</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_2" class="named-paragraph-link"><span class="named-paragraph">Is it the name of a member of our colony?</span><span class="named-paragraph-number">10.2</span></a></span><span class="plain-syntax">;</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_3" class="named-paragraph-link"><span class="named-paragraph">If it contains a colon, does this indicate a section in a colony member?</span><span class="named-paragraph-number">10.3</span></a></span><span class="plain-syntax">;</span>
|
||||||
|
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">module</span><span class="plain-syntax"> *</span><span class="identifier-syntax">found_M</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">module</span><span class="plain-syntax"> *</span><span class="identifier-syntax">found_M</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">section_md</span><span class="plain-syntax"> *</span><span class="identifier-syntax">found_Sm</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">section_md</span><span class="plain-syntax"> *</span><span class="identifier-syntax">found_Sm</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
|
||||||
|
@ -444,8 +447,8 @@ is where the reference is made from.
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_M</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_M</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">L</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">external</span><span class="plain-syntax"> == </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">)) {</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">L</span><span class="plain-syntax">) && (</span><span class="identifier-syntax">external</span><span class="plain-syntax"> == </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">)) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_3" class="named-paragraph-link"><span class="named-paragraph">Is it the name of a function in the current web?</span><span class="named-paragraph-number">10.3</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_4" class="named-paragraph-link"><span class="named-paragraph">Is it the name of a function in the current web?</span><span class="named-paragraph-number">10.4</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_4" class="named-paragraph-link"><span class="named-paragraph">Is it the name of a type in the current web?</span><span class="named-paragraph-number">10.4</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_5" class="named-paragraph-link"><span class="named-paragraph">Is it the name of a type in the current web?</span><span class="named-paragraph-number">10.5</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">err</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">err</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">err</span><span class="plain-syntax">, </span><span class="string-syntax">"Can't find the cross-reference '%S'"</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">err</span><span class="plain-syntax">, </span><span class="string-syntax">"Can't find the cross-reference '%S'"</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">);</span>
|
||||||
|
@ -458,12 +461,27 @@ is where the reference is made from.
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_M</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_M</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
|
||||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_5" class="named-paragraph-link"><span class="named-paragraph">It refers unambiguously to a single section</span><span class="named-paragraph-number">10.5</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_6" class="named-paragraph-link"><span class="named-paragraph">It refers unambiguously to a single section</span><span class="named-paragraph-number">10.6</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
</pre>
|
</pre>
|
||||||
<p class="commentary firstcommentary"><a id="SP10_1"></a><b>§10.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Is it the name of a member of our colony?</span><span class="named-paragraph-number">10.1</span></span><span class="comment-syntax"> =</span>
|
<p class="commentary firstcommentary"><a id="SP10_1"></a><b>§10.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Is it an explicit URL?</span><span class="named-paragraph-number">10.1</span></span><span class="comment-syntax"> =</span>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
<span class="plain-syntax"> </span><span class="reserved-syntax">match_results</span><span class="plain-syntax"> </span><span class="identifier-syntax">mr</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::create_mr</span></a><span class="plain-syntax">();</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"https*://%c*"</span><span class="plain-syntax">)) {</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">);</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">);</span>
|
||||||
|
<span class="plain-syntax"> </span><a href="../foundation-module/4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::dispose_of</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">);</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ext</span><span class="plain-syntax">) *</span><span class="identifier-syntax">ext</span><span class="plain-syntax"> = </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||||
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||||
|
<span class="plain-syntax"> }</span>
|
||||||
|
<span class="plain-syntax"> </span><a href="../foundation-module/4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::dispose_of</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">);</span>
|
||||||
|
</pre>
|
||||||
|
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10">§10</a>.</li></ul>
|
||||||
|
<p class="commentary firstcommentary"><a id="SP10_2"></a><b>§10.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Is it the name of a member of our colony?</span><span class="named-paragraph-number">10.2</span></span><span class="comment-syntax"> =</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
@ -473,11 +491,11 @@ is where the reference is made from.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">section_md</span><span class="plain-syntax"> *</span><span class="identifier-syntax">found_Sm</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FIRST_IN_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">section_md</span><span class="plain-syntax">, </span><span class="identifier-syntax">found_M</span><span class="plain-syntax">-></span><span class="element-syntax">sections_md</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">section_md</span><span class="plain-syntax"> *</span><span class="identifier-syntax">found_Sm</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FIRST_IN_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">section_md</span><span class="plain-syntax">, </span><span class="identifier-syntax">found_M</span><span class="plain-syntax">-></span><span class="element-syntax">sections_md</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">bare_module_name</span><span class="plain-syntax"> = </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">bare_module_name</span><span class="plain-syntax"> = </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_CM</span><span class="plain-syntax">-></span><span class="element-syntax">name</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_CM</span><span class="plain-syntax">-></span><span class="element-syntax">name</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_5" class="named-paragraph-link"><span class="named-paragraph">It refers unambiguously to a single section</span><span class="named-paragraph-number">10.5</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_6" class="named-paragraph-link"><span class="named-paragraph">It refers unambiguously to a single section</span><span class="named-paragraph-number">10.6</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
</pre>
|
</pre>
|
||||||
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10">§10</a>.</li></ul>
|
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10">§10</a>.</li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP10_2"></a><b>§10.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">If it contains a colon, does this indicate a section in a colony member?</span><span class="named-paragraph-number">10.2</span></span><span class="comment-syntax"> =</span>
|
<p class="commentary firstcommentary"><a id="SP10_3"></a><b>§10.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">If it contains a colon, does this indicate a section in a colony member?</span><span class="named-paragraph-number">10.3</span></span><span class="comment-syntax"> =</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
@ -496,7 +514,7 @@ is where the reference is made from.
|
||||||
<span class="plain-syntax"> </span><a href="../foundation-module/4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::dispose_of</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><a href="../foundation-module/4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::dispose_of</span></a><span class="plain-syntax">(&</span><span class="identifier-syntax">mr</span><span class="plain-syntax">);</span>
|
||||||
</pre>
|
</pre>
|
||||||
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10">§10</a>.</li></ul>
|
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10">§10</a>.</li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP10_3"></a><b>§10.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Is it the name of a function in the current web?</span><span class="named-paragraph-number">10.3</span></span><span class="comment-syntax"> =</span>
|
<p class="commentary firstcommentary"><a id="SP10_4"></a><b>§10.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Is it the name of a function in the current web?</span><span class="named-paragraph-number">10.4</span></span><span class="comment-syntax"> =</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
@ -511,7 +529,7 @@ is where the reference is made from.
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
</pre>
|
</pre>
|
||||||
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10">§10</a>.</li></ul>
|
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10">§10</a>.</li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP10_4"></a><b>§10.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Is it the name of a type in the current web?</span><span class="named-paragraph-number">10.4</span></span><span class="comment-syntax"> =</span>
|
<p class="commentary firstcommentary"><a id="SP10_5"></a><b>§10.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Is it the name of a type in the current web?</span><span class="named-paragraph-number">10.5</span></span><span class="comment-syntax"> =</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
@ -526,17 +544,17 @@ is where the reference is made from.
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
</pre>
|
</pre>
|
||||||
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10">§10</a>.</li></ul>
|
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10">§10</a>.</li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP10_5"></a><b>§10.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">It refers unambiguously to a single section</span><span class="named-paragraph-number">10.5</span></span><span class="comment-syntax"> =</span>
|
<p class="commentary firstcommentary"><a id="SP10_6"></a><b>§10.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">It refers unambiguously to a single section</span><span class="named-paragraph-number">10.6</span></span><span class="comment-syntax"> =</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">found_M</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"could not locate M"</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">found_M</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"could not locate M"</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">search_CM</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_5_1" class="named-paragraph-link"><span class="named-paragraph">The section is a known colony member</span><span class="named-paragraph-number">10.5.1</span></a></span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">search_CM</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_6_1" class="named-paragraph-link"><span class="named-paragraph">The section is a known colony member</span><span class="named-paragraph-number">10.6.1</span></a></span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_5_2" class="named-paragraph-link"><span class="named-paragraph">The section is not in a known colony member</span><span class="named-paragraph-number">10.5.2</span></a></span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="6-cln.html#SP10_6_2" class="named-paragraph-link"><span class="named-paragraph">The section is not in a known colony member</span><span class="named-paragraph-number">10.6.2</span></a></span><span class="plain-syntax">;</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||||
</pre>
|
</pre>
|
||||||
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10">§10</a>, <a href="6-cln.html#SP10_1">§10.1</a>.</li></ul>
|
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10">§10</a>, <a href="6-cln.html#SP10_2">§10.2</a>.</li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP10_5_1"></a><b>§10.5.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">The section is a known colony member</span><span class="named-paragraph-number">10.5.1</span></span><span class="comment-syntax"> =</span>
|
<p class="commentary firstcommentary"><a id="SP10_6_1"></a><b>§10.6.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">The section is a known colony member</span><span class="named-paragraph-number">10.6.1</span></span><span class="comment-syntax"> =</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
@ -548,13 +566,13 @@ is where the reference is made from.
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">bare_module_name</span><span class="plain-syntax"> == </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">)</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">bare_module_name</span><span class="plain-syntax"> == </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">)</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="string-syntax">" (in %S)"</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_CM</span><span class="plain-syntax">-></span><span class="element-syntax">name</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="string-syntax">" (in %S)"</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_CM</span><span class="plain-syntax">-></span><span class="element-syntax">name</span><span class="plain-syntax">);</span>
|
||||||
</pre>
|
</pre>
|
||||||
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10_5">§10.5</a>.</li></ul>
|
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10_6">§10.6</a>.</li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP10_5_2"></a><b>§10.5.2. </b>In the absence of a colony file, Inweb can really only guess, and the
|
<p class="commentary firstcommentary"><a id="SP10_6_2"></a><b>§10.6.2. </b>In the absence of a colony file, Inweb can really only guess, and the
|
||||||
guess it makes is that modules of the current web will be woven alongside
|
guess it makes is that modules of the current web will be woven alongside
|
||||||
the main one, and suffixed by <span class="extract"><span class="extract-syntax">-module</span></span>.
|
the main one, and suffixed by <span class="extract"><span class="extract-syntax">-module</span></span>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">The section is not in a known colony member</span><span class="named-paragraph-number">10.5.2</span></span><span class="comment-syntax"> =</span>
|
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">The section is not in a known colony member</span><span class="named-paragraph-number">10.6.2</span></span><span class="comment-syntax"> =</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
@ -567,7 +585,7 @@ the main one, and suffixed by <span class="extract"><span class="extract-syntax"
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="string-syntax">" (in %S)"</span><span class="plain-syntax">, </span><span class="identifier-syntax">found_M</span><span class="plain-syntax">-></span><span class="element-syntax">module_name</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="string-syntax">" (in %S)"</span><span class="plain-syntax">, </span><span class="identifier-syntax">found_M</span><span class="plain-syntax">-></span><span class="element-syntax">module_name</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> }</span>
|
<span class="plain-syntax"> }</span>
|
||||||
</pre>
|
</pre>
|
||||||
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10_5">§10.5</a>.</li></ul>
|
<ul class="endnotetexts"><li>This code is used in <a href="6-cln.html#SP10_6">§10.6</a>.</li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP11"></a><b>§11. URL management. </b></p>
|
<p class="commentary firstcommentary"><a id="SP11"></a><b>§11. URL management. </b></p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
@ -583,7 +601,7 @@ the main one, and suffixed by <span class="extract"><span class="extract-syntax"
|
||||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Colonies::reference_URL</span><button class="popup" onclick="togglePopup('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Colonies::reference_URL</span></span>:<br/>The Collater - <a href="3-tc.html#SP5_1_8_11">§5.1.8.11</a>, <a href="3-tc.html#SP5_1_8_14">§5.1.8.14</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">link_text</span><span class="plain-syntax">, </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">) {</span>
|
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Colonies::reference_URL</span><button class="popup" onclick="togglePopup('usagePopup14')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup14">Usage of <span class="code-font"><span class="function-syntax">Colonies::reference_URL</span></span>:<br/>The Collater - <a href="3-tc.html#SP5_1_8_11">§5.1.8.11</a>, <a href="3-tc.html#SP5_1_8_14">§5.1.8.14</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">link_text</span><span class="plain-syntax">, </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="6-cln.html#SP10" class="function-link"><span class="function-syntax">Colonies::resolve_reference_in_weave</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">link_text</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">))</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="6-cln.html#SP10" class="function-link"><span class="function-syntax">Colonies::resolve_reference_in_weave</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">link_text</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">))</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">PRINT</span><span class="plain-syntax">(</span><span class="string-syntax">"Warning: unable to resolve reference '%S' in navigation\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">link_text</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">PRINT</span><span class="plain-syntax">(</span><span class="string-syntax">"Warning: unable to resolve reference '%S' in navigation\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">link_text</span><span class="plain-syntax">);</span>
|
||||||
|
@ -591,7 +609,7 @@ the main one, and suffixed by <span class="extract"><span class="extract-syntax"
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
|
|
||||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Colonies::section_URL</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">Colonies::section_URL</span></span>:<br/><a href="6-cln.html#SP10_5_1">§10.5.1</a>, <a href="6-cln.html#SP10_5_2">§10.5.2</a><br/>The Collater - <a href="3-tc.html#SP5_1_8_8_1">§5.1.8.8.1</a><br/>HTML Formats - <a href="5-hf.html#SP5_3">§5.3</a>, <a href="5-hf.html#SP5_3_1">§5.3.1</a>, <a href="5-hf.html#SP5_3_2">§5.3.2</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">section_md</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Sm</span><span class="plain-syntax">) {</span>
|
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Colonies::section_URL</span><button class="popup" onclick="togglePopup('usagePopup15')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup15">Usage of <span class="code-font"><span class="function-syntax">Colonies::section_URL</span></span>:<br/><a href="6-cln.html#SP10_6_1">§10.6.1</a>, <a href="6-cln.html#SP10_6_2">§10.6.2</a><br/>The Collater - <a href="3-tc.html#SP5_1_8_8_1">§5.1.8.8.1</a><br/>HTML Formats - <a href="5-hf.html#SP5_3">§5.3</a>, <a href="5-hf.html#SP5_3_1">§5.3.1</a>, <a href="5-hf.html#SP5_3_2">§5.3.2</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">section_md</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Sm</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Sm</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"unwoven section"</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Sm</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"unwoven section"</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_THROUGH_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">pos</span><span class="plain-syntax">, </span><span class="identifier-syntax">Sm</span><span class="plain-syntax">-></span><span class="element-syntax">sect_range</span><span class="plain-syntax">)</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_THROUGH_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">pos</span><span class="plain-syntax">, </span><span class="identifier-syntax">Sm</span><span class="plain-syntax">-></span><span class="element-syntax">sect_range</span><span class="plain-syntax">)</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="../foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pos</span><span class="plain-syntax">) == </span><span class="character-syntax">'/'</span><span class="plain-syntax">) || (</span><a href="../foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pos</span><span class="plain-syntax">) == </span><span class="character-syntax">' '</span><span class="plain-syntax">))</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="../foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pos</span><span class="plain-syntax">) == </span><span class="character-syntax">'/'</span><span class="plain-syntax">) || (</span><a href="../foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pos</span><span class="plain-syntax">) == </span><span class="character-syntax">' '</span><span class="plain-syntax">))</span>
|
||||||
|
@ -601,7 +619,7 @@ the main one, and suffixed by <span class="extract"><span class="extract-syntax"
|
||||||
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">".html"</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">".html"</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax">}</span>
|
<span class="plain-syntax">}</span>
|
||||||
|
|
||||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Colonies::paragraph_URL</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">Colonies::paragraph_URL</span></span>:<br/><a href="6-cln.html#SP10_3">§10.3</a>, <a href="6-cln.html#SP10_4">§10.4</a><br/>The Weaver of Text - <a href="3-twot.html#SP3_3">§3.3</a><br/>HTML Formats - <a href="5-hf.html#SP5_15">§5.15</a>, <a href="5-hf.html#SP5_23">§5.23</a>, <a href="5-hf.html#SP5_34">§5.34</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">paragraph</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">from</span><span class="plain-syntax">) {</span>
|
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Colonies::paragraph_URL</span><button class="popup" onclick="togglePopup('usagePopup16')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup16">Usage of <span class="code-font"><span class="function-syntax">Colonies::paragraph_URL</span></span>:<br/><a href="6-cln.html#SP10_4">§10.4</a>, <a href="6-cln.html#SP10_5">§10.5</a><br/>The Weaver of Text - <a href="3-twot.html#SP4_3">§4.3</a><br/>HTML Formats - <a href="5-hf.html#SP5_15">§5.15</a>, <a href="5-hf.html#SP5_23">§5.23</a>, <a href="5-hf.html#SP5_34">§5.34</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">paragraph</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">from</span><span class="plain-syntax">) {</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">from</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"no from file"</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">from</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"no from file"</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">P</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"no para"</span><span class="plain-syntax">);</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">P</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"no para"</span><span class="plain-syntax">);</span>
|
||||||
<span class="plain-syntax"> </span><span class="reserved-syntax">section</span><span class="plain-syntax"> *</span><span class="identifier-syntax">to_S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="element-syntax">under_section</span><span class="plain-syntax">;</span>
|
<span class="plain-syntax"> </span><span class="reserved-syntax">section</span><span class="plain-syntax"> *</span><span class="identifier-syntax">to_S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">P</span><span class="plain-syntax">-></span><span class="element-syntax">under_section</span><span class="plain-syntax">;</span>
|
||||||
|
|
|
@ -62,7 +62,7 @@ MathJax = {
|
||||||
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="index.html">inweb</a></li><li><a href="index.html#M">Manual</a></li><li><b>How to Write a Web</b></li></ul></div>
|
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="index.html">inweb</a></li><li><a href="index.html#M">Manual</a></li><li><b>How to Write a Web</b></li></ul></div>
|
||||||
<p class="purpose">How to mark up code for literate programming.</p>
|
<p class="purpose">How to mark up code for literate programming.</p>
|
||||||
|
|
||||||
<ul class="toc"><li><a href="M-htwaw.html#SP1">§1. The title of a section</a></li><li><a href="M-htwaw.html#SP2">§2. Paragraphing</a></li><li><a href="M-htwaw.html#SP6">§6. Conditional compilation</a></li><li><a href="M-htwaw.html#SP7">§7. Commentary</a></li><li><a href="M-htwaw.html#SP12">§12. Code samples and other extraneous matter</a></li><li><a href="M-htwaw.html#SP13">§13. Links</a></li><li><a href="M-htwaw.html#SP14">§14. Cross-references</a></li><li><a href="M-htwaw.html#SP18">§18. Figures</a></li><li><a href="M-htwaw.html#SP19">§19. Carousels</a></li><li><a href="M-htwaw.html#SP20">§20. Video and audio</a></li><li><a href="M-htwaw.html#SP21">§21. Embedded video and audio</a></li><li><a href="M-htwaw.html#SP23">§23. Mathematics notation</a></li><li><a href="M-htwaw.html#SP24">§24. Footnotes</a></li></ul><hr class="tocbar">
|
<ul class="toc"><li><a href="M-htwaw.html#SP1">§1. The title of a section</a></li><li><a href="M-htwaw.html#SP2">§2. Paragraphing</a></li><li><a href="M-htwaw.html#SP6">§6. Conditional compilation</a></li><li><a href="M-htwaw.html#SP7">§7. Commentary</a></li><li><a href="M-htwaw.html#SP12">§12. Code samples and other extraneous matter</a></li><li><a href="M-htwaw.html#SP13">§13. Links</a></li><li><a href="M-htwaw.html#SP14">§14. Cross-references</a></li><li><a href="M-htwaw.html#SP19">§19. Figures</a></li><li><a href="M-htwaw.html#SP20">§20. Carousels</a></li><li><a href="M-htwaw.html#SP21">§21. Video and audio</a></li><li><a href="M-htwaw.html#SP22">§22. Embedded video and audio</a></li><li><a href="M-htwaw.html#SP24">§24. Mathematics notation</a></li><li><a href="M-htwaw.html#SP25">§25. Footnotes</a></li></ul><hr class="tocbar">
|
||||||
|
|
||||||
<p class="commentary firstcommentary"><a id="SP1"></a><b>§1. The title of a section. </b>In any section file, there will be a few lines at the top which occur before
|
<p class="commentary firstcommentary"><a id="SP1"></a><b>§1. The title of a section. </b>In any section file, there will be a few lines at the top which occur before
|
||||||
the first paragraph of code begins. (The first paragraph begins on the first
|
the first paragraph of code begins. (The first paragraph begins on the first
|
||||||
|
@ -516,13 +516,15 @@ make them into links. For example:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="plain-syntax"> For further reading, see: https://en.wikipedia.org/wiki/How_to_Avoid_Huge_Ships</span>
|
<span class="plain-syntax"> For further reading, see: https://en.wikipedia.org/wiki/How_to_Avoid_Huge_Ships.</span>
|
||||||
</pre>
|
</pre>
|
||||||
<p class="commentary">For further reading, see: <a href="https://en.wikipedia.org/wiki/How_to_Avoid_Huge_Ships" class="external">https://en.wikipedia.org/wiki/How_to_Avoid_Huge_Ships</a>
|
<p class="commentary">For further reading, see: <a href="https://en.wikipedia.org/wiki/How_to_Avoid_Huge_Ships" class="external">https://en.wikipedia.org/wiki/How_to_Avoid_Huge_Ships</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="commentary">Note that URLs are considered to continue to the next white space, so don't
|
<p class="commentary">Note that URLs are considered to continue to the next white space, except
|
||||||
end them with full stops or commas.
|
that any final full stops, question or exclamation marks, commas, brackets,
|
||||||
|
semicolons, or colons are disregarded. (This is why the above sentence ended
|
||||||
|
with a full stop and yet the full stop wasn't part of the reference URL.)
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="commentary">URLs will also be recognised in any text extract marked as <span class="extract"><span class="extract-syntax">hyperlinked</span></span>.
|
<p class="commentary">URLs will also be recognised in any text extract marked as <span class="extract"><span class="extract-syntax">hyperlinked</span></span>.
|
||||||
|
@ -530,15 +532,15 @@ For example,
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="plain-syntax"> Compare: https://en.wikipedia.org/wiki/Crocheting_Adventures_with_Hyperbolic_Planes</span>
|
<span class="plain-syntax"> Compare: https://en.wikipedia.org/wiki/Crocheting_Adventures_with_Hyperbolic_Planes!</span>
|
||||||
</pre>
|
</pre>
|
||||||
<p class="commentary">produces:
|
<p class="commentary">produces:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="plain-syntax"> Compare: </span><a href="https://en.wikipedia.org/wiki/Crocheting_Adventures_with_Hyperbolic_Planes" class="external">https://en.wikipedia.org/wiki/Crocheting_Adventures_with_Hyperbolic_Planes</a>
|
<span class="plain-syntax"> Compare: </span><a href="https://en.wikipedia.org/wiki/Crocheting_Adventures_with_Hyperbolic_Planes!" class="external">https://en.wikipedia.org/wiki/Crocheting_Adventures_with_Hyperbolic_Planes!</a>
|
||||||
</pre>
|
</pre>
|
||||||
<p class="commentary firstcommentary"><a id="SP14"></a><b>§14. Cross-references. </b>These are like links, but internal. These are normally written within <span class="extract"><span class="extract-syntax">//</span></span>
|
<p class="commentary firstcommentary"><a id="SP14"></a><b>§14. Cross-references. </b>These are like links, but are internal. These are normally written within <span class="extract"><span class="extract-syntax">//</span></span>
|
||||||
signs and are only available in the commentary of a web. They allow us to
|
signs and are only available in the commentary of a web. They allow us to
|
||||||
place cross-references like so:
|
place cross-references like so:
|
||||||
</p>
|
</p>
|
||||||
|
@ -576,6 +578,14 @@ This is simple: for example,
|
||||||
</pre>
|
</pre>
|
||||||
<p class="commentary">produces: "First <a href="1-cnf.html" class="internal">the program has to configure itself</a>,
|
<p class="commentary">produces: "First <a href="1-cnf.html" class="internal">the program has to configure itself</a>,
|
||||||
then..."; the text "the program has to configure itself" links to <a href="1-cnf.html" class="internal">Configuration</a>.
|
then..."; the text "the program has to configure itself" links to <a href="1-cnf.html" class="internal">Configuration</a>.
|
||||||
|
This is especially useful if the destination is given as an explicit URL, which
|
||||||
|
is also allowed:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
<span class="plain-syntax"> See //this biographical note -> http://mathshistory.st-andrews.ac.uk/Biographies/Gauss.html//.</span>
|
||||||
|
</pre>
|
||||||
|
<p class="commentary">See <a href="http://mathshistory.st-andrews.ac.uk/Biographies/Gauss.html" class="external">this biographical note</a>.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="commentary firstcommentary"><a id="SP16"></a><b>§16. </b>It's also possible to reference function names and type names, provided that
|
<p class="commentary firstcommentary"><a id="SP16"></a><b>§16. </b>It's also possible to reference function names and type names, provided that
|
||||||
|
@ -611,7 +621,11 @@ See <a href="M-mwiw.html" class="internal">Making Weaves into Websites</a>.
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="plain-syntax"> See the </span><a href="M-iti.html" class="internal">Manual</a><span class="plain-syntax"> for more on this.</span>
|
<span class="plain-syntax"> See the </span><a href="M-iti.html" class="internal">Manual</a><span class="plain-syntax"> for more on this.</span>
|
||||||
</pre>
|
</pre>
|
||||||
<p class="commentary">This notation may be inconvenient if you need <span class="extract"><span class="extract-syntax">//</span></span> for something else, but it
|
<p class="commentary firstcommentary"><a id="SP18"></a><b>§18. </b>Cross-references must begin after white space, or a punctuation mark (other
|
||||||
|
than a colon), and must end to be followed by more white space or another
|
||||||
|
punctuation mark (this time allowing a colon). In practice, that reduces
|
||||||
|
the risk of misunderstanding a <span class="extract"><span class="extract-syntax">//</span></span> occurring in the commentary for some
|
||||||
|
other reason. All the same, you might want a different notation, so this
|
||||||
can be configured in the Contents page of a web, say like so:
|
can be configured in the Contents page of a web, say like so:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
@ -624,7 +638,7 @@ can be configured in the Contents page of a web, say like so:
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="element-syntax">Cross-References Notation</span><span class="plain-syntax">:</span><span class="string-syntax"> Off</span>
|
<span class="element-syntax">Cross-References Notation</span><span class="plain-syntax">:</span><span class="string-syntax"> Off</span>
|
||||||
</pre>
|
</pre>
|
||||||
<p class="commentary firstcommentary"><a id="SP18"></a><b>§18. Figures. </b>Images to be included in weaves of a web are called "Figures", as they
|
<p class="commentary firstcommentary"><a id="SP19"></a><b>§19. Figures. </b>Images to be included in weaves of a web are called "Figures", as they
|
||||||
would be in a printed book. These images should ideally be in PNG, JPG or PDF
|
would be in a printed book. These images should ideally be in PNG, JPG or PDF
|
||||||
format and placed in a subdirectory of the web called <span class="extract"><span class="extract-syntax">Figures</span></span>: for instance,
|
format and placed in a subdirectory of the web called <span class="extract"><span class="extract-syntax">Figures</span></span>: for instance,
|
||||||
the weaver would seek <span class="extract"><span class="extract-syntax">Fig_2_3.pdf</span></span> at pathname <span class="extract"><span class="extract-syntax">Figures/Fig_2_3.pdf</span></span>.
|
the weaver would seek <span class="extract"><span class="extract-syntax">Fig_2_3.pdf</span></span> at pathname <span class="extract"><span class="extract-syntax">Figures/Fig_2_3.pdf</span></span>.
|
||||||
|
@ -657,7 +671,7 @@ correspond. If you really want to monkey with the aspect ratio,
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
<span class="plain-syntax"> = (figure Whatever.jpg at 20 by 100)</span>
|
<span class="plain-syntax"> = (figure Whatever.jpg at 20 by 100)</span>
|
||||||
</pre>
|
</pre>
|
||||||
<p class="commentary firstcommentary"><a id="SP19"></a><b>§19. Carousels. </b>A carousel is a slide-show of (usually but not always) figures; there's a
|
<p class="commentary firstcommentary"><a id="SP20"></a><b>§20. Carousels. </b>A carousel is a slide-show of (usually but not always) figures; there's a
|
||||||
set of slides with captions, only one of which is visible at a time.
|
set of slides with captions, only one of which is visible at a time.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
@ -770,7 +784,7 @@ it can also be <span class="extract"><span class="extract-syntax">above</span></
|
||||||
<span class="plain-syntax"> = (figure furtive.jpg)</span>
|
<span class="plain-syntax"> = (figure furtive.jpg)</span>
|
||||||
<span class="plain-syntax"> = (carousel end)</span>
|
<span class="plain-syntax"> = (carousel end)</span>
|
||||||
</pre>
|
</pre>
|
||||||
<p class="commentary firstcommentary"><a id="SP20"></a><b>§20. Video and audio. </b>To include audio samples, place them as MP3 files in the subdirectory <span class="extract"><span class="extract-syntax">Audio</span></span>
|
<p class="commentary firstcommentary"><a id="SP21"></a><b>§21. Video and audio. </b>To include audio samples, place them as MP3 files in the subdirectory <span class="extract"><span class="extract-syntax">Audio</span></span>
|
||||||
of the web. For example, in the present web,
|
of the web. For example, in the present web,
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
@ -796,7 +810,7 @@ Your browser does not support the audio element.
|
||||||
takes up space, so for economy's sake a demonstration is omitted from this manual.
|
takes up space, so for economy's sake a demonstration is omitted from this manual.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="commentary firstcommentary"><a id="SP21"></a><b>§21. Embedded video and audio. </b>One way to get around such space limitations is to embed players for video or
|
<p class="commentary firstcommentary"><a id="SP22"></a><b>§22. Embedded video and audio. </b>One way to get around such space limitations is to embed players for video or
|
||||||
audio hosted on some external service. For example:
|
audio hosted on some external service. For example:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
@ -839,7 +853,7 @@ this case was <span class="extract"><span class="extract-syntax">https://youtu.b
|
||||||
<p class="center-p"><iframe width="100%" height="405" scrolling="no" frameborder="no" allow="autoplay" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/42803139&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true"></iframe>
|
<p class="center-p"><iframe width="100%" height="405" scrolling="no" frameborder="no" allow="autoplay" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/42803139&color=%23ff5500&auto_play=false&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true&visual=true"></iframe>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="commentary firstcommentary"><a id="SP22"></a><b>§22. </b>Adding width and height is straightforward; by default the dimensions are
|
<p class="commentary firstcommentary"><a id="SP23"></a><b>§23. </b>Adding width and height is straightforward; by default the dimensions are
|
||||||
720 by 405.
|
720 by 405.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
@ -851,7 +865,7 @@ this case was <span class="extract"><span class="extract-syntax">https://youtu.b
|
||||||
arguably music has width and not height, but SoundCloud thinks otherwise).
|
arguably music has width and not height, but SoundCloud thinks otherwise).
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="commentary firstcommentary"><a id="SP23"></a><b>§23. Mathematics notation. </b>Literate programming is a good technique to justify code which hangs on
|
<p class="commentary firstcommentary"><a id="SP24"></a><b>§24. Mathematics notation. </b>Literate programming is a good technique to justify code which hangs on
|
||||||
unobvious pieces of mathematics or computer science, and which must therefore
|
unobvious pieces of mathematics or computer science, and which must therefore
|
||||||
be explained carefully. Formulae or equations are a real convenience for that.
|
be explained carefully. Formulae or equations are a real convenience for that.
|
||||||
</p>
|
</p>
|
||||||
|
@ -890,7 +904,7 @@ changed. The defaults are:
|
||||||
treat it as any other text would be treated.
|
treat it as any other text would be treated.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p class="commentary firstcommentary"><a id="SP24"></a><b>§24. Footnotes. </b>Not everyone likes footnotes,<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> but sometimes they're a tidy way to make
|
<p class="commentary firstcommentary"><a id="SP25"></a><b>§25. Footnotes. </b>Not everyone likes footnotes,<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> but sometimes they're a tidy way to make
|
||||||
references.<sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup>
|
references.<sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
@ -899,7 +913,7 @@ University Press, 1999).
|
||||||
<a href="#fnref:1" title="return to text"> ↩</a></p></li><li class="footnote" id="fn:2"><p class="inwebfootnote"><sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup> For example, to cite Donald Knuth, "Evaluation of Porter's constant",
|
<a href="#fnref:1" title="return to text"> ↩</a></p></li><li class="footnote" id="fn:2"><p class="inwebfootnote"><sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup> For example, to cite Donald Knuth, "Evaluation of Porter's constant",
|
||||||
Computers & Mathematics with Applications, 2, 137-39 (1976).
|
Computers & Mathematics with Applications, 2, 137-39 (1976).
|
||||||
<a href="#fnref:2" title="return to text"> ↩</a></p></li></ul>
|
<a href="#fnref:2" title="return to text"> ↩</a></p></li></ul>
|
||||||
<p class="commentary firstcommentary"><a id="SP25"></a><b>§25. </b>The content of that sentence was typed as follows:
|
<p class="commentary firstcommentary"><a id="SP26"></a><b>§26. </b>The content of that sentence was typed as follows:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre class="displayed-code all-displayed-code code-font">
|
<pre class="displayed-code all-displayed-code code-font">
|
||||||
|
|
Loading…
Reference in a new issue