Allowed parameter-less preprocessor macro definitions

This commit is contained in:
Graham Nelson 2022-04-25 16:46:46 +01:00
parent 839ac15b14
commit 04343a64a5
108 changed files with 258 additions and 201 deletions

View file

@ -16,4 +16,4 @@ web: "twinprimes" at "inweb/Examples/twinprimes.inweb" in "inweb/docs/twinprimes
web: "eastertide" at "inweb/Examples/eastertide" in "inweb/docs/eastertide"
web: "intest" at "intest" in "intest/docs"
web: "inform" at "inform/docs-src/index.inweb" in "inform/docs"
web: "inform" at "inform/docs-src/overview.inweb" in "inform/docs"

View file

@ -33,6 +33,7 @@ for analysing a web:
-functions catalogue the functions in the web
-gitignore X write a .gitignore file for this web and store it in X
-makefile X write a makefile for this web and store it in X
-platform X use platform X (e.g. 'windows') when making e.g. makefiles
-prototype X translate makefile from prototype X
-scan scan the web
-structures catalogue the structures in the web

View file

@ -1,6 +1,6 @@
# Inweb 7
v7-alpha.1+1A93 'Escape to Danger' (24 April 2022)
v7-alpha.1+1A94 'Escape to Danger' (25 April 2022)
## About Inweb

View file

@ -1332,19 +1332,19 @@ typedef struct preprocessor_state {
struct general_pointer specifics;
wchar_t comment_character;
} preprocessor_state;
#line 422 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 433 "inweb/foundation-module/Chapter 4/Preprocessor.w"
typedef struct preprocessor_variable {
struct text_stream *name;
struct text_stream *value;
CLASS_DEFINITION
} preprocessor_variable;
#line 442 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 453 "inweb/foundation-module/Chapter 4/Preprocessor.w"
typedef struct preprocessor_variable_set {
struct linked_list *variables; /* of |preprocessor_variable| */
struct preprocessor_variable_set *outer;
CLASS_DEFINITION
} preprocessor_variable_set;
#line 515 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 526 "inweb/foundation-module/Chapter 4/Preprocessor.w"
typedef struct preprocessor_macro {
/* syntax */
struct text_stream *identifier;
@ -1368,7 +1368,7 @@ typedef struct preprocessor_macro {
CLASS_DEFINITION
} preprocessor_macro;
#line 539 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 550 "inweb/foundation-module/Chapter 4/Preprocessor.w"
typedef struct preprocessor_macro_parameter {
struct text_stream *name;
struct text_stream *definition_token;
@ -3426,41 +3426,41 @@ void Preprocessor__set_loop_var_name(preprocessor_loop *loop, text_stream *name
void Preprocessor__add_loop_iteration(preprocessor_loop *loop, text_stream *value) ;
#line 98 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__scan_line(text_stream *line, text_file_position *tfp, void *X) ;
#line 169 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 180 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__expand(text_stream *text, text_file_position *tfp, preprocessor_state *PPS) ;
#line 408 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 419 "inweb/foundation-module/Chapter 4/Preprocessor.w"
int Preprocessor__acceptable_variable_name(text_stream *name) ;
#line 428 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 439 "inweb/foundation-module/Chapter 4/Preprocessor.w"
text_stream * Preprocessor__read_variable(preprocessor_variable *var) ;
#line 432 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 443 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__write_variable(preprocessor_variable *var, text_stream *val) ;
#line 448 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 459 "inweb/foundation-module/Chapter 4/Preprocessor.w"
preprocessor_variable_set * Preprocessor__new_variable_set(preprocessor_variable_set *outer) ;
#line 455 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 466 "inweb/foundation-module/Chapter 4/Preprocessor.w"
preprocessor_variable * Preprocessor__find_variable_in_one(text_stream *name, preprocessor_variable_set *set) ;
#line 465 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 476 "inweb/foundation-module/Chapter 4/Preprocessor.w"
preprocessor_variable * Preprocessor__find_variable(text_stream *name, preprocessor_variable_set *set) ;
#line 479 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 490 "inweb/foundation-module/Chapter 4/Preprocessor.w"
preprocessor_variable * Preprocessor__ensure_variable(text_stream *name, preprocessor_variable_set *in_set) ;
#line 556 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 567 "inweb/foundation-module/Chapter 4/Preprocessor.w"
preprocessor_macro * Preprocessor__new_macro(linked_list *L, text_stream *name, text_stream *parameter_specification, void (*expander)(preprocessor_macro *, preprocessor_state *, text_stream **, preprocessor_loop *, text_file_position *), text_file_position *tfp) ;
#line 616 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 627 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__add_line_to_macro(preprocessor_macro *mm, text_stream *line, text_file_position *tfp) ;
#line 634 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 645 "inweb/foundation-module/Chapter 4/Preprocessor.w"
linked_list * Preprocessor__list_of_reserved_macros(linked_list *special_macros) ;
#line 647 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 658 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__do_not_suppress_whitespace(preprocessor_macro *mm) ;
#line 652 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 663 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__new_loop_macro(linked_list *L, text_stream *name, text_stream *parameter_specification, void (*expander)(preprocessor_macro *, preprocessor_state *, text_stream **, preprocessor_loop *, text_file_position *), text_file_position *tfp) ;
#line 691 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 702 "inweb/foundation-module/Chapter 4/Preprocessor.w"
preprocessor_macro * Preprocessor__find_macro(linked_list *L, text_stream *name) ;
#line 706 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 717 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__default_expander(preprocessor_macro *mm, preprocessor_state *PPS, text_stream **parameter_values, preprocessor_loop *loop, text_file_position *tfp) ;
#line 723 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 734 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__set_expander(preprocessor_macro *mm, preprocessor_state *PPS, text_stream **parameter_values, preprocessor_loop *loop, text_file_position *tfp) ;
#line 738 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 749 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__repeat_expander(preprocessor_macro *mm, preprocessor_state *PPS, text_stream **parameter_values, preprocessor_loop *loop, text_file_position *tfp) ;
#line 767 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 778 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__end_loop_expander(preprocessor_macro *mm, preprocessor_state *PPS, text_stream **parameter_values, preprocessor_loop *loop, text_file_position *tfp) ;
#line 77 "inweb/foundation-module/Chapter 4/Tries and Avinues.w"
wchar_t * Tries__search(match_trie *T, text_stream *p, wchar_t *add_outcome) ;
@ -8733,11 +8733,11 @@ int CommandLine__read_pair_p(text_stream *opt, text_stream *opt_val, int N,
; innocuous = TRUE; break;
case VERSION_CLSW: {
PRINT("inweb");
char *svn = "7-alpha.1+1A92";
char *svn = "7-alpha.1+1A93";
if (svn[0]) PRINT(" version %s", svn);
char *vname = "Escape to Danger";
if (vname[0]) PRINT(" '%s'", vname);
char *d = "23 April 2022";
char *d = "24 April 2022";
if (d[0]) PRINT(" (%s)", d);
PRINT("\n");
innocuous = TRUE; break;
@ -11244,9 +11244,24 @@ void Preprocessor__scan_line(text_stream *line, text_file_position *tfp, void *X
{
#line 117 "inweb/foundation-module/Chapter 4/Preprocessor.w"
match_results mr = Regexp__create_mr();
if (Regexp__match(&mr, line, L" *{define: *(%C+) *} *"))
{
#line 125 "inweb/foundation-module/Chapter 4/Preprocessor.w"
if (PPS->defining)
Errors__in_text_file("nested definitions are not allowed", tfp);
text_stream *name = mr.exp[0];
text_stream *parameter_specification = Str__new();
PPS->defining = Preprocessor__new_macro(PPS->known_macros, name,
parameter_specification, Preprocessor__default_expander, tfp);
Regexp__dispose_of(&mr);
return;
}
#line 118 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
if (Regexp__match(&mr, line, L" *{define: *(%C+) (%c*)} *"))
{
#line 124 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 135 "inweb/foundation-module/Chapter 4/Preprocessor.w"
if (PPS->defining)
Errors__in_text_file("nested definitions are not allowed", tfp);
text_stream *name = mr.exp[0];
@ -11257,11 +11272,11 @@ void Preprocessor__scan_line(text_stream *line, text_file_position *tfp, void *X
return;
}
#line 118 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 119 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
if (Regexp__match(&mr, line, L" *{end-define} *"))
{
#line 139 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 150 "inweb/foundation-module/Chapter 4/Preprocessor.w"
if (PPS->defining == NULL)
Errors__in_text_file("{end-define} without {define: ...}", tfp);
PPS->defining = NULL;
@ -11269,17 +11284,17 @@ void Preprocessor__scan_line(text_stream *line, text_file_position *tfp, void *X
return;
}
#line 119 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 120 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
if (PPS->defining)
{
#line 134 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 145 "inweb/foundation-module/Chapter 4/Preprocessor.w"
Preprocessor__add_line_to_macro(PPS->defining, line, tfp);
Regexp__dispose_of(&mr);
return;
}
#line 120 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 121 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
Regexp__dispose_of(&mr);
@ -11289,7 +11304,7 @@ void Preprocessor__scan_line(text_stream *line, text_file_position *tfp, void *X
Preprocessor__expand(line, tfp, PPS);
{
#line 146 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 157 "inweb/foundation-module/Chapter 4/Preprocessor.w"
if (PPS->suppress_newline == FALSE) {
text_stream *OUT = PPS->dest;
if (Str__len(line) == 0) {
@ -11307,7 +11322,7 @@ void Preprocessor__scan_line(text_stream *line, text_file_position *tfp, void *X
;
}
#line 169 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 180 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__expand(text_stream *text, text_file_position *tfp, preprocessor_state *PPS) {
TEMPORARY_TEXT(before_matter)
TEMPORARY_TEXT(braced_matter)
@ -11333,18 +11348,18 @@ void Preprocessor__expand(text_stream *text, text_file_position *tfp, preprocess
if (after_times) {
{
#line 206 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 217 "inweb/foundation-module/Chapter 4/Preprocessor.w"
if (Preprocessor__acceptable_variable_name(braced_matter)) {
{
#line 267 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 278 "inweb/foundation-module/Chapter 4/Preprocessor.w"
Preprocessor__expand(before_matter, tfp, PPS);
if (PPS->repeat_sp > 0) {
WRITE_TO(PPS->dest, "{%S}", braced_matter);
} else {
{
#line 312 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 323 "inweb/foundation-module/Chapter 4/Preprocessor.w"
preprocessor_variable *var =
Preprocessor__find_variable(braced_matter, PPS->stack_frame);
if (var) {
@ -11357,13 +11372,13 @@ void Preprocessor__expand(text_stream *text, text_file_position *tfp, preprocess
}
}
#line 271 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 282 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
}
Preprocessor__expand(after_matter, tfp, PPS);
}
#line 207 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 218 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
} else {
text_stream *identifier = braced_matter;
@ -11375,7 +11390,7 @@ void Preprocessor__expand(text_stream *text, text_file_position *tfp, preprocess
}
{
#line 234 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 245 "inweb/foundation-module/Chapter 4/Preprocessor.w"
preprocessor_macro *loop_mm;
LOOP_OVER_LINKED_LIST(loop_mm, preprocessor_macro, PPS->known_macros)
if (Str__len(loop_mm->loop_name) > 0) {
@ -11404,7 +11419,7 @@ void Preprocessor__expand(text_stream *text, text_file_position *tfp, preprocess
}
}
#line 216 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 227 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
preprocessor_macro *mm = Preprocessor__find_macro(PPS->known_macros, identifier);
@ -11416,7 +11431,7 @@ void Preprocessor__expand(text_stream *text, text_file_position *tfp, preprocess
} else {
{
#line 283 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 294 "inweb/foundation-module/Chapter 4/Preprocessor.w"
if (mm->suppress_whitespace_when_expanding) {
while (Characters__is_whitespace(Str__get_last_char(before_matter)))
Str__delete_last_character(before_matter);
@ -11438,12 +11453,12 @@ void Preprocessor__expand(text_stream *text, text_file_position *tfp, preprocess
} else {
{
#line 327 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 338 "inweb/foundation-module/Chapter 4/Preprocessor.w"
text_stream *parameter_values[MAX_PP_MACRO_PARAMETERS];
for (int i=0; i<MAX_PP_MACRO_PARAMETERS; i++) parameter_values[i] = NULL;
{
#line 342 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 353 "inweb/foundation-module/Chapter 4/Preprocessor.w"
match_results mr = Regexp__create_mr();
while (Regexp__match(&mr, parameter_settings, L" *(%C+): *(%c*)")) {
text_stream *setting = mr.exp[0];
@ -11479,11 +11494,11 @@ void Preprocessor__expand(text_stream *text, text_file_position *tfp, preprocess
Errors__in_text_file("parameter list is malformed", tfp);
}
#line 329 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 340 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
{
#line 377 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 388 "inweb/foundation-module/Chapter 4/Preprocessor.w"
for (int i=0; i<mm->no_parameters; i++)
if (parameter_values[i] == NULL)
if (mm->parameters[i]->optional == FALSE) {
@ -11494,13 +11509,13 @@ void Preprocessor__expand(text_stream *text, text_file_position *tfp, preprocess
}
}
#line 330 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 341 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
preprocessor_loop *loop = NULL;
if (mm->begins_loop)
{
#line 391 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 402 "inweb/foundation-module/Chapter 4/Preprocessor.w"
if (PPS->repeat_sp >= MAX_PREPROCESSOR_LOOP_DEPTH) {
Errors__in_text_file("repetition too deep", tfp);
} else {
@ -11515,27 +11530,27 @@ void Preprocessor__expand(text_stream *text, text_file_position *tfp, preprocess
}
}
#line 333 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 344 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
(*(mm->expander))(mm, PPS, parameter_values, loop, tfp);
}
#line 302 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 313 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
if (mm->suppress_newline_after_expanding) PPS->suppress_newline = TRUE;
}
Preprocessor__expand(after_matter, tfp, PPS);
}
#line 225 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 236 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
}
Regexp__dispose_of(&mr);
}
}
#line 192 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 203 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
} else {
WRITE_TO(PPS->dest, "%S", text);
@ -11545,7 +11560,7 @@ void Preprocessor__expand(text_stream *text, text_file_position *tfp, preprocess
DISCARD_TEXT(after_matter)
}
#line 408 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 419 "inweb/foundation-module/Chapter 4/Preprocessor.w"
int Preprocessor__acceptable_variable_name(text_stream *name) {
LOOP_THROUGH_TEXT(pos, name) {
wchar_t c = Str__get(pos);
@ -11557,7 +11572,7 @@ int Preprocessor__acceptable_variable_name(text_stream *name) {
return TRUE;
}
#line 427 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 438 "inweb/foundation-module/Chapter 4/Preprocessor.w"
text_stream *Preprocessor__read_variable(preprocessor_variable *var) {
if (var == NULL) internal_error("no such pp variable");
@ -11568,7 +11583,7 @@ void Preprocessor__write_variable(preprocessor_variable *var, text_stream *val)
var->value = Str__duplicate(val);
}
#line 447 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 458 "inweb/foundation-module/Chapter 4/Preprocessor.w"
preprocessor_variable_set *Preprocessor__new_variable_set(preprocessor_variable_set *outer) {
preprocessor_variable_set *set = CREATE(preprocessor_variable_set);
@ -11597,7 +11612,7 @@ preprocessor_variable *Preprocessor__find_variable(text_stream *name,
return NULL;
}
#line 479 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 490 "inweb/foundation-module/Chapter 4/Preprocessor.w"
preprocessor_variable *Preprocessor__ensure_variable(text_stream *name,
preprocessor_variable_set *in_set) {
if (in_set == NULL) internal_error("variable without set");
@ -11611,11 +11626,11 @@ preprocessor_variable *Preprocessor__ensure_variable(text_stream *name,
return var;
}
#line 538 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 545 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 549 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 556 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 567 "inweb/foundation-module/Chapter 4/Preprocessor.w"
preprocessor_macro *Preprocessor__new_macro(linked_list *L, text_stream *name,
text_stream *parameter_specification,
void (*expander)(preprocessor_macro *, preprocessor_state *, text_stream **, preprocessor_loop *, text_file_position *),
@ -11625,7 +11640,7 @@ preprocessor_macro *Preprocessor__new_macro(linked_list *L, text_stream *name,
preprocessor_macro *new_macro = CREATE(preprocessor_macro);
{
#line 570 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 581 "inweb/foundation-module/Chapter 4/Preprocessor.w"
new_macro->identifier = Str__duplicate(name);
new_macro->no_parameters = 0;
@ -11640,11 +11655,11 @@ preprocessor_macro *Preprocessor__new_macro(linked_list *L, text_stream *name,
new_macro->suppress_whitespace_when_expanding = TRUE;
}
#line 563 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 574 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
{
#line 584 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 595 "inweb/foundation-module/Chapter 4/Preprocessor.w"
text_stream *spec = Str__duplicate(parameter_specification);
match_results mr = Regexp__create_mr();
while (Regexp__match(&mr, spec, L" *(%C+): *(%C+) *(%c*)")) {
@ -11657,7 +11672,7 @@ preprocessor_macro *Preprocessor__new_macro(linked_list *L, text_stream *name,
} else {
{
#line 602 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 613 "inweb/foundation-module/Chapter 4/Preprocessor.w"
preprocessor_macro_parameter *new_parameter = CREATE(preprocessor_macro_parameter);
new_parameter->name = Str__duplicate(par_name);
new_parameter->definition_token = Str__duplicate(token_name);
@ -11669,7 +11684,7 @@ preprocessor_macro *Preprocessor__new_macro(linked_list *L, text_stream *name,
new_macro->parameters[new_macro->no_parameters++] = new_parameter;
}
#line 594 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 605 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
}
}
@ -11678,13 +11693,13 @@ preprocessor_macro *Preprocessor__new_macro(linked_list *L, text_stream *name,
Errors__in_text_file("parameter list for this definition is malformed", tfp);
}
#line 564 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 575 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
ADD_TO_LINKED_LIST(new_macro, preprocessor_macro, L);
return new_macro;
}
#line 616 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 627 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__add_line_to_macro(preprocessor_macro *mm, text_stream *line,
text_file_position *tfp) {
if (mm->no_lines >= MAX_PP_MACRO_LINES) {
@ -11694,7 +11709,7 @@ void Preprocessor__add_line_to_macro(preprocessor_macro *mm, text_stream *line,
}
}
#line 634 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 645 "inweb/foundation-module/Chapter 4/Preprocessor.w"
linked_list *Preprocessor__list_of_reserved_macros(linked_list *special_macros) {
linked_list *L = NEW_LINKED_LIST(preprocessor_macro);
Preprocessor__new_loop_macro(L, TL_IS_5, TL_IS_6,
@ -11749,7 +11764,7 @@ void Preprocessor__new_loop_macro(linked_list *L, text_stream *name,
DISCARD_TEXT(subname)
}
#line 691 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 702 "inweb/foundation-module/Chapter 4/Preprocessor.w"
preprocessor_macro *Preprocessor__find_macro(linked_list *L, text_stream *name) {
preprocessor_macro *mm;
LOOP_OVER_LINKED_LIST(mm, preprocessor_macro, L)
@ -11758,7 +11773,7 @@ preprocessor_macro *Preprocessor__find_macro(linked_list *L, text_stream *name)
return NULL;
}
#line 706 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 717 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__default_expander(preprocessor_macro *mm, preprocessor_state *PPS,
text_stream **parameter_values, preprocessor_loop *loop, text_file_position *tfp) {
PPS->stack_frame = Preprocessor__new_variable_set(PPS->stack_frame);
@ -11772,7 +11787,7 @@ void Preprocessor__default_expander(preprocessor_macro *mm, preprocessor_state *
PPS->stack_frame = PPS->stack_frame->outer;
}
#line 723 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 734 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__set_expander(preprocessor_macro *mm, preprocessor_state *PPS,
text_stream **parameter_values, preprocessor_loop *loop, text_file_position *tfp) {
text_stream *name = parameter_values[0];
@ -11785,7 +11800,7 @@ void Preprocessor__set_expander(preprocessor_macro *mm, preprocessor_state *PPS,
Preprocessor__write_variable(var, value);
}
#line 738 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 749 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__repeat_expander(preprocessor_macro *mm, preprocessor_state *PPS,
text_stream **parameter_values, preprocessor_loop *loop, text_file_position *tfp) {
text_stream *with = parameter_values[0];
@ -11805,7 +11820,7 @@ void Preprocessor__repeat_expander(preprocessor_macro *mm, preprocessor_state *P
Preprocessor__add_loop_iteration(loop, value);
}
#line 767 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 778 "inweb/foundation-module/Chapter 4/Preprocessor.w"
void Preprocessor__end_loop_expander(preprocessor_macro *mm, preprocessor_state *PPS,
text_stream **parameter_values, preprocessor_loop *loop, text_file_position *tfp) {
PPS->shadow_sp = 0;
@ -11821,7 +11836,7 @@ void Preprocessor__end_loop_expander(preprocessor_macro *mm, preprocessor_state
LOOP_OVER_LINKED_LIST(value, text_stream, loop->iterations)
{
#line 786 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 797 "inweb/foundation-module/Chapter 4/Preprocessor.w"
Preprocessor__write_variable(loop_var, value);
if (mm->span) {
Preprocessor__expand(matter, tfp, PPS);
@ -11839,7 +11854,7 @@ void Preprocessor__end_loop_expander(preprocessor_macro *mm, preprocessor_state
}
}
#line 780 "inweb/foundation-module/Chapter 4/Preprocessor.w"
#line 791 "inweb/foundation-module/Chapter 4/Preprocessor.w"
;
PPS->stack_frame = PPS->stack_frame->outer;
}
@ -31631,7 +31646,7 @@ void Ctags__write(web *W, filename *F) {
WRITE("!_TAG_FILE_SORTED\t0\t/0=unsorted, 1=sorted, 2=foldcase/\n");
WRITE("!_TAG_PROGRAM_AUTHOR\tGraham Nelson\t/graham.nelson@mod-langs.ox.ac.uk/\n");
WRITE("!_TAG_PROGRAM_NAME\tinweb\t//\n");
WRITE("!_TAG_PROGRAM_VERSION\t7-alpha.1+1A92\t/built 23 April 2022/\n");
WRITE("!_TAG_PROGRAM_VERSION\t7-alpha.1+1A93\t/built 24 April 2022/\n");
}
#line 47 "inweb/Chapter 6/Ctags Support.w"

View file

@ -1,3 +1,3 @@
Prerelease: alpha.1
Build Date: 24 April 2022
Build Number: 1A93
Build Date: 25 April 2022
Build Number: 1A94

View file

@ -16,4 +16,4 @@ web: "twinprimes" at "inweb/Examples/twinprimes.inweb" in "inweb/docs/twinprimes
web: "eastertide" at "inweb/Examples/eastertide" in "inweb/docs/eastertide"
web: "intest" at "intest" in "intest/docs"
web: "inform" at "inform/docs-src/index.inweb" in "inform/docs"
web: "inform" at "inform/docs-src/overview.inweb" in "inform/docs"

View file

@ -40,7 +40,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -29,7 +29,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -31,7 +31,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -31,7 +31,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -31,7 +31,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -53,7 +53,7 @@ MathJax = {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -31,7 +31,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>
@ -179,7 +179,7 @@ specify this at three levels of abstraction:
<span class="plain-syntax"> </span><a href="3-em.html#SP5" class="function-link"><span class="function-syntax">Errors::in_text_file</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">message</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">void</span><span class="plain-syntax"> </span><span class="function-syntax">Errors::in_text_file</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Errors::in_text_file</span></span>:<br/>Command Line Arguments - <a href="3-cla.html#SP11">&#167;11</a><br/>Preprocessor - <a href="4-prp.html#SP3_2_1">&#167;3.2.1</a>, <a href="4-prp.html#SP3_2_3">&#167;3.2.3</a>, <a href="4-prp.html#SP4">&#167;4</a>, <a href="4-prp.html#SP4_1_3_1_1">&#167;4.1.3.1.1</a>, <a href="4-prp.html#SP4_1_3_1_3">&#167;4.1.3.1.3</a>, <a href="4-prp.html#SP11">&#167;11</a>, <a href="4-prp.html#SP11_2">&#167;11.2</a>, <a href="4-prp.html#SP12">&#167;12</a>, <a href="4-prp.html#SP16">&#167;16</a>, <a href="4-prp.html#SP18">&#167;18</a><br/>Build Files - <a href="8-bf.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">message</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_file_position</span><span class="plain-syntax"> *</span><span class="identifier-syntax">here</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Errors::in_text_file</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Errors::in_text_file</span></span>:<br/>Command Line Arguments - <a href="3-cla.html#SP11">&#167;11</a><br/>Preprocessor - <a href="4-prp.html#SP3_2_1">&#167;3.2.1</a>, <a href="4-prp.html#SP3_2_2">&#167;3.2.2</a>, <a href="4-prp.html#SP3_2_4">&#167;3.2.4</a>, <a href="4-prp.html#SP4">&#167;4</a>, <a href="4-prp.html#SP4_1_3_1_1">&#167;4.1.3.1.1</a>, <a href="4-prp.html#SP4_1_3_1_3">&#167;4.1.3.1.3</a>, <a href="4-prp.html#SP11">&#167;11</a>, <a href="4-prp.html#SP11_2">&#167;11.2</a>, <a href="4-prp.html#SP12">&#167;12</a>, <a href="4-prp.html#SP16">&#167;16</a>, <a href="4-prp.html#SP18">&#167;18</a><br/>Build Files - <a href="8-bf.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">message</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_file_position</span><span class="plain-syntax"> *</span><span class="identifier-syntax">here</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">here</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="3-em.html#SP6" class="function-link"><span class="function-syntax">Errors::at_position</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">message</span><span class="plain-syntax">, </span><span class="identifier-syntax">here</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">text_file_filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">here</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">line_count</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>
@ -214,7 +214,7 @@ deallocate.
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><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">void</span><span class="plain-syntax"> </span><span class="function-syntax">Regexp::dispose_of</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">Regexp::dispose_of</span></span>:<br/><a href="4-pm.html#SP10">&#167;10</a>, <a href="4-pm.html#SP14">&#167;14</a><br/>Command Line Arguments - <a href="3-cla.html#SP11">&#167;11</a><br/>Preprocessor - <a href="4-prp.html#SP3_2">&#167;3.2</a>, <a href="4-prp.html#SP3_2_1">&#167;3.2.1</a>, <a href="4-prp.html#SP3_2_2">&#167;3.2.2</a>, <a href="4-prp.html#SP3_2_3">&#167;3.2.3</a>, <a href="4-prp.html#SP4_1">&#167;4.1</a>, <a href="4-prp.html#SP4_1_3_1_1">&#167;4.1.3.1.1</a>, <a href="4-prp.html#SP11_2">&#167;11.2</a>, <a href="4-prp.html#SP17">&#167;17</a><br/>Web Structure - <a href="8-ws.html#SP7_3_2">&#167;7.3.2</a>, <a href="8-ws.html#SP7_3_3_2">&#167;7.3.3.2</a>, <a href="8-ws.html#SP7_3_3_2_1">&#167;7.3.3.2.1</a>, <a href="8-ws.html#SP7_2_1">&#167;7.2.1</a>, <a href="8-ws.html#SP7_2_2_1">&#167;7.2.2.1</a>, <a href="8-ws.html#SP7_2_2_3">&#167;7.2.2.3</a><br/>Web Modules - <a href="8-wm.html#SP9">&#167;9</a><br/>Build Files - <a href="8-bf.html#SP3">&#167;3</a><br/>Simple Tangler - <a href="8-st.html#SP7_2_3">&#167;7.2.3</a></span></button><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>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Regexp::dispose_of</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">Regexp::dispose_of</span></span>:<br/><a href="4-pm.html#SP10">&#167;10</a>, <a href="4-pm.html#SP14">&#167;14</a><br/>Command Line Arguments - <a href="3-cla.html#SP11">&#167;11</a><br/>Preprocessor - <a href="4-prp.html#SP3_2">&#167;3.2</a>, <a href="4-prp.html#SP3_2_1">&#167;3.2.1</a>, <a href="4-prp.html#SP3_2_2">&#167;3.2.2</a>, <a href="4-prp.html#SP3_2_3">&#167;3.2.3</a>, <a href="4-prp.html#SP3_2_4">&#167;3.2.4</a>, <a href="4-prp.html#SP4_1">&#167;4.1</a>, <a href="4-prp.html#SP4_1_3_1_1">&#167;4.1.3.1.1</a>, <a href="4-prp.html#SP11_2">&#167;11.2</a>, <a href="4-prp.html#SP17">&#167;17</a><br/>Web Structure - <a href="8-ws.html#SP7_3_2">&#167;7.3.2</a>, <a href="8-ws.html#SP7_3_3_2">&#167;7.3.3.2</a>, <a href="8-ws.html#SP7_3_3_2_1">&#167;7.3.3.2.1</a>, <a href="8-ws.html#SP7_2_1">&#167;7.2.1</a>, <a href="8-ws.html#SP7_2_2_1">&#167;7.2.2.1</a>, <a href="8-ws.html#SP7_2_2_3">&#167;7.2.2.3</a><br/>Web Modules - <a href="8-wm.html#SP9">&#167;9</a><br/>Build Files - <a href="8-bf.html#SP3">&#167;3</a><br/>Simple Tangler - <a href="8-st.html#SP7_2_3">&#167;7.2.3</a></span></button><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>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><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">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">&lt;</span><span class="constant-syntax">MAX_BRACKETED_SUBEXPRESSIONS</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">mr</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">exp</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">]) {</span>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>
@ -185,13 +185,28 @@ is the special comment character: often <span class="extract"><span class="extra
<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="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="4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">line</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *{define: *(%C+) (%c*)} *"</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="4-prp.html#SP3_2_1" class="named-paragraph-link"><span class="named-paragraph">Begin a definition</span><span class="named-paragraph-number">3.2.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="4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">line</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *{end-define} *"</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="4-prp.html#SP3_2_3" class="named-paragraph-link"><span class="named-paragraph">End a definition</span><span class="named-paragraph-number">3.2.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">PPS</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">defining</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="4-prp.html#SP3_2_2" class="named-paragraph-link"><span class="named-paragraph">Continue a definition</span><span class="named-paragraph-number">3.2.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><a href="4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">line</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *{define: *(%C+) *} *"</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="4-prp.html#SP3_2_1" class="named-paragraph-link"><span class="named-paragraph">Begin a bare definition</span><span class="named-paragraph-number">3.2.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="4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">line</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *{define: *(%C+) (%c*)} *"</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="4-prp.html#SP3_2_2" class="named-paragraph-link"><span class="named-paragraph">Begin a definition</span><span class="named-paragraph-number">3.2.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><a href="4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">line</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">" *{end-define} *"</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="4-prp.html#SP3_2_4" class="named-paragraph-link"><span class="named-paragraph">End a definition</span><span class="named-paragraph-number">3.2.4</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">PPS</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">defining</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="4-prp.html#SP3_2_3" class="named-paragraph-link"><span class="named-paragraph">Continue a definition</span><span class="named-paragraph-number">3.2.3</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><a href="4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::dispose_of</span></a><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="4-prp.html#SP3">&#167;3</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3_2_1" class="paragraph-anchor"></a><b>&#167;3.2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Begin a definition</span><span class="named-paragraph-number">3.2.1</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP3_2_1" class="paragraph-anchor"></a><b>&#167;3.2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Begin a bare definition</span><span class="named-paragraph-number">3.2.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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">PPS</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">defining</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="3-em.html#SP5" class="function-link"><span class="function-syntax">Errors::in_text_file</span></a><span class="plain-syntax">(</span><span class="string-syntax">"nested definitions are not allowed"</span><span class="plain-syntax">, </span><span class="identifier-syntax">tfp</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">name</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="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">parameter_specification</span><span class="plain-syntax"> = </span><a href="4-sm.html#SP2" class="function-link"><span class="function-syntax">Str::new</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PPS</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">defining</span><span class="plain-syntax"> = </span><a href="4-prp.html#SP11" class="function-link"><span class="function-syntax">Preprocessor::new_macro</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">PPS</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">known_macros</span><span class="plain-syntax">, </span><span class="identifier-syntax">name</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">parameter_specification</span><span class="plain-syntax">, </span><a href="4-prp.html#SP15" class="function-link"><span class="function-syntax">Preprocessor::default_expander</span></a><span class="plain-syntax">, </span><span class="identifier-syntax">tfp</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::dispose_of</span></a><span class="plain-syntax">(&amp;</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>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="4-prp.html#SP3_2">&#167;3.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3_2_2" class="paragraph-anchor"></a><b>&#167;3.2.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Begin a definition</span><span class="named-paragraph-number">3.2.2</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -205,7 +220,7 @@ is the special comment character: often <span class="extract"><span class="extra
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="4-prp.html#SP3_2">&#167;3.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3_2_2" class="paragraph-anchor"></a><b>&#167;3.2.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Continue a definition</span><span class="named-paragraph-number">3.2.2</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP3_2_3" class="paragraph-anchor"></a><b>&#167;3.2.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Continue a definition</span><span class="named-paragraph-number">3.2.3</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -214,7 +229,7 @@ is the special comment character: often <span class="extract"><span class="extra
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="4-prp.html#SP3_2">&#167;3.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP3_2_3" class="paragraph-anchor"></a><b>&#167;3.2.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">End a definition</span><span class="named-paragraph-number">3.2.3</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP3_2_4" class="paragraph-anchor"></a><b>&#167;3.2.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">End a definition</span><span class="named-paragraph-number">3.2.4</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -695,7 +710,7 @@ fact we expect more like 10.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">preprocessor_macro</span><span class="plain-syntax"> *</span><span class="function-syntax">Preprocessor::new_macro</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">Preprocessor::new_macro</span></span>:<br/><a href="4-prp.html#SP3_2_1">&#167;3.2.1</a>, <a href="4-prp.html#SP13">&#167;13</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">preprocessor_macro</span><span class="plain-syntax"> *</span><span class="function-syntax">Preprocessor::new_macro</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">Preprocessor::new_macro</span></span>:<br/><a href="4-prp.html#SP3_2_1">&#167;3.2.1</a>, <a href="4-prp.html#SP3_2_2">&#167;3.2.2</a>, <a href="4-prp.html#SP13">&#167;13</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</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">parameter_specification</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">void</span><span class="plain-syntax"> (*</span><span class="identifier-syntax">expander</span><span class="plain-syntax">)(</span><span class="reserved-syntax">preprocessor_macro</span><span class="plain-syntax"> *, </span><span class="reserved-syntax">preprocessor_state</span><span class="plain-syntax"> *, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> **, </span><span class="reserved-syntax">preprocessor_loop</span><span class="plain-syntax"> *, </span><span class="reserved-syntax">text_file_position</span><span class="plain-syntax"> *),</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_file_position</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tfp</span><span class="plain-syntax">) {</span>
@ -768,7 +783,7 @@ expander function is <a href="4-prp.html#SP15" class="internal">Preprocessor::de
</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">Preprocessor::add_line_to_macro</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">Preprocessor::add_line_to_macro</span></span>:<br/><a href="4-prp.html#SP3_2_2">&#167;3.2.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">preprocessor_macro</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mm</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">line</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Preprocessor::add_line_to_macro</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">Preprocessor::add_line_to_macro</span></span>:<br/><a href="4-prp.html#SP3_2_3">&#167;3.2.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">preprocessor_macro</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mm</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">line</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_file_position</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tfp</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">mm</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">no_lines</span><span class="plain-syntax"> &gt;= </span><span class="constant-syntax">MAX_PP_MACRO_LINES</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="3-em.html#SP5" class="function-link"><span class="function-syntax">Errors::in_text_file</span></a><span class="plain-syntax">(</span><span class="string-syntax">"too many lines in this definition"</span><span class="plain-syntax">, </span><span class="identifier-syntax">tfp</span><span class="plain-syntax">);</span>
@ -860,7 +875,7 @@ frame again.
</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">Preprocessor::default_expander</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">Preprocessor::default_expander</span></span>:<br/><a href="4-prp.html#SP3_2_1">&#167;3.2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">preprocessor_macro</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mm</span><span class="plain-syntax">, </span><span class="reserved-syntax">preprocessor_state</span><span class="plain-syntax"> *</span><span class="identifier-syntax">PPS</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Preprocessor::default_expander</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">Preprocessor::default_expander</span></span>:<br/><a href="4-prp.html#SP3_2_1">&#167;3.2.1</a>, <a href="4-prp.html#SP3_2_2">&#167;3.2.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">preprocessor_macro</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mm</span><span class="plain-syntax">, </span><span class="reserved-syntax">preprocessor_state</span><span class="plain-syntax"> *</span><span class="identifier-syntax">PPS</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">parameter_values</span><span class="plain-syntax">, </span><span class="reserved-syntax">preprocessor_loop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">loop</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_file_position</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tfp</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PPS</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">stack_frame</span><span class="plain-syntax"> = </span><a href="4-prp.html#SP7" class="function-link"><span class="function-syntax">Preprocessor::new_variable_set</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">PPS</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">stack_frame</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="function-syntax">&lt;mm-&gt;</span><span class="element-syntax">no_parameters</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>
@ -88,7 +88,7 @@ access.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">Str::new</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">Str::new</span></span>:<br/><a href="4-sm.html#SP3">&#167;3</a><br/>Debugging Log - <a href="2-dl.html#SP4_1">&#167;4.1</a><br/>Dictionaries - <a href="2-dct.html#SP7_3_1">&#167;7.3.1</a><br/>Command Line Arguments - <a href="3-cla.html#SP6">&#167;6</a>, <a href="3-cla.html#SP11">&#167;11</a><br/>Directories - <a href="3-drc.html#SP3">&#167;3</a><br/>Preprocessor - <a href="4-prp.html#SP4_1_3_1_1">&#167;4.1.3.1.1</a>, <a href="4-prp.html#SP4_1_3_1_3">&#167;4.1.3.1.3</a><br/>HTML - <a href="5-htm.html#SP27_2">&#167;27.2</a><br/>Epub Ebooks - <a href="5-ee.html#SP5">&#167;5</a><br/>Version Numbers - <a href="7-vn.html#SP7">&#167;7</a><br/>Web Structure - <a href="8-ws.html#SP5_2">&#167;5.2</a>, <a href="8-ws.html#SP6_1">&#167;6.1</a>, <a href="8-ws.html#SP7_2_1">&#167;7.2.1</a>, <a href="8-ws.html#SP7_2_2_1">&#167;7.2.2.1</a><br/>Build Files - <a href="8-bf.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">Str::new</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">Str::new</span></span>:<br/><a href="4-sm.html#SP3">&#167;3</a><br/>Debugging Log - <a href="2-dl.html#SP4_1">&#167;4.1</a><br/>Dictionaries - <a href="2-dct.html#SP7_3_1">&#167;7.3.1</a><br/>Command Line Arguments - <a href="3-cla.html#SP6">&#167;6</a>, <a href="3-cla.html#SP11">&#167;11</a><br/>Directories - <a href="3-drc.html#SP3">&#167;3</a><br/>Preprocessor - <a href="4-prp.html#SP3_2_1">&#167;3.2.1</a>, <a href="4-prp.html#SP4_1_3_1_1">&#167;4.1.3.1.1</a>, <a href="4-prp.html#SP4_1_3_1_3">&#167;4.1.3.1.3</a><br/>HTML - <a href="5-htm.html#SP27_2">&#167;27.2</a><br/>Epub Ebooks - <a href="5-ee.html#SP5">&#167;5</a><br/>Version Numbers - <a href="7-vn.html#SP7">&#167;7</a><br/>Web Structure - <a href="8-ws.html#SP5_2">&#167;5.2</a>, <a href="8-ws.html#SP6_1">&#167;6.1</a>, <a href="8-ws.html#SP7_2_1">&#167;7.2.1</a>, <a href="8-ws.html#SP7_2_2_1">&#167;7.2.2.1</a><br/>Build Files - <a href="8-bf.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="4-sm.html#SP2" class="function-link"><span class="function-syntax">Str::new_with_capacity</span></a><span class="plain-syntax">(32);</span>
<span class="plain-syntax">}</span>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -53,7 +53,7 @@ MathJax = {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -31,7 +31,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -31,7 +31,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -44,7 +44,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -45,7 +45,7 @@ MathJax = {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -29,7 +29,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -31,7 +31,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -29,7 +29,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -51,7 +51,7 @@ MathJax = {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

Binary file not shown.

View file

@ -29,7 +29,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -31,7 +31,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../inform/docs/index.html">inform</a></li>
<li><a href="../../inform/docs/overview.html">inform</a></li>
<li><a href="../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -31,7 +31,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>
@ -89,6 +89,7 @@ command line: there will only ever be one of these.
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">colony_setting</span><span class="plain-syntax">; </span><span class="comment-syntax"> </span><span class="extract"><span class="extract-syntax">-colony X</span></span><span class="comment-syntax">: the filename X, if supplied</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">member_setting</span><span class="plain-syntax">; </span><span class="comment-syntax"> </span><span class="extract"><span class="extract-syntax">-member X</span></span><span class="comment-syntax">: sets web to member X of colony</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">breadcrumb_setting</span><span class="plain-syntax">; </span><span class="comment-syntax"> of </span><span class="extract"><span class="extract-syntax">breadcrumb_request</span></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">platform_setting</span><span class="plain-syntax">; </span><span class="comment-syntax"> </span><span class="extract"><span class="extract-syntax">-platform X</span></span><span class="comment-syntax">: sets prevailing platform to X</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">verbose_switch</span><span class="plain-syntax">; </span><span class="comment-syntax"> </span><span class="extract"><span class="extract-syntax">-verbose</span></span><span class="comment-syntax">: print names of files read to stdout</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">targets</span><span class="plain-syntax">; </span><span class="comment-syntax"> used only for parsing</span>
@ -155,6 +156,7 @@ then declare them.
<span class="plain-syntax"> </span><span class="identifier-syntax">args</span><span class="plain-syntax">.</span><span class="element-syntax">colony_setting</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">args</span><span class="plain-syntax">.</span><span class="element-syntax">member_setting</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">args</span><span class="plain-syntax">.</span><span class="element-syntax">breadcrumb_setting</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">breadcrumb_request</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">args</span><span class="plain-syntax">.</span><span class="element-syntax">platform_setting</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">args</span><span class="plain-syntax">.</span><span class="element-syntax">tag_setting</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP2" class="function-link"><span class="function-syntax">Str::new</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">args</span><span class="plain-syntax">.</span><span class="element-syntax">weave_pattern</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP2" class="function-link"><span class="function-syntax">Str::new</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">args</span><span class="plain-syntax">.</span><span class="element-syntax">import_setting</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
@ -184,6 +186,7 @@ provides automatically.
<span class="definition-keyword">enum</span> <span class="constant-syntax">GITIGNORE_CLSW</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">MAKEFILE_CLSW</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">WRITEME_CLSW</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">PLATFORM_CLSW</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">ADVANCE_FILE_CLSW</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">PROTOTYPE_CLSW</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">SCAN_CLSW</span>
@ -251,6 +254,8 @@ provides automatically.
<span class="plain-syntax"> </span><span class="identifier-syntax">L</span><span class="string-syntax">"increment daily build code in file X"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::declare_switch</span></a><span class="plain-syntax">(</span><span class="constant-syntax">WRITEME_CLSW</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"write-me"</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">L</span><span class="string-syntax">"write a read-me file following instructions in file X"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::declare_switch</span></a><span class="plain-syntax">(</span><span class="constant-syntax">PLATFORM_CLSW</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"platform"</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">L</span><span class="string-syntax">"use platform X (e.g. 'windows') when making e.g. makefiles"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::declare_switch</span></a><span class="plain-syntax">(</span><span class="constant-syntax">PROTOTYPE_CLSW</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"prototype"</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">L</span><span class="string-syntax">"translate makefile from prototype X"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../foundation-module/3-cla.html#SP5" class="function-link"><span class="function-syntax">CommandLine::declare_switch</span></a><span class="plain-syntax">(</span><span class="constant-syntax">FUNCTIONS_CLSW</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"functions"</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">,</span>
@ -357,6 +362,9 @@ provides automatically.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">args</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">inweb_mode</span><span class="plain-syntax"> != </span><span class="constant-syntax">TRANSLATE_MODE</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="1-cnf.html#SP7" class="function-link"><span class="function-syntax">Configuration::set_fundamental_mode</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">args</span><span class="plain-syntax">, </span><span class="constant-syntax">ANALYSE_MODE</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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">PLATFORM_CLSW:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">args</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">platform_setting</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">arg</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">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">ADVANCE_FILE_CLSW:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">args</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">advance_setting</span><span class="plain-syntax"> = </span><a href="../foundation-module/3-fln.html#SP3" class="function-link"><span class="function-syntax">Filenames::from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="1-cnf.html#SP7" class="function-link"><span class="function-syntax">Configuration::set_fundamental_mode</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">args</span><span class="plain-syntax">, </span><span class="constant-syntax">TRANSLATE_MODE</span><span class="plain-syntax">);</span>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>
@ -187,7 +187,7 @@ program: some input, some thinking, a choice of three forms of output.
<span class="plain-syntax"> </span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">prototype_setting</span><span class="plain-syntax"> = </span><a href="../foundation-module/3-fln.html#SP3" class="function-link"><span class="function-syntax">Filenames::from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"script.rmscript"</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">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">makefile_setting</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="6-mkf.html#SP1" class="function-link"><span class="function-syntax">Makefiles::write</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">prototype_setting</span><span class="plain-syntax">, </span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">makefile_setting</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><a href="../foundation-module/8-wm.html#SP6" class="function-link"><span class="function-syntax">WebModules::make_search_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">import_setting</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><a href="../foundation-module/8-wm.html#SP6" class="function-link"><span class="function-syntax">WebModules::make_search_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">import_setting</span><span class="plain-syntax">), </span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">platform_setting</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">gitignore_setting</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="6-gs.html#SP1" class="function-link"><span class="function-syntax">Git::write_gitignore</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">prototype_setting</span><span class="plain-syntax">, </span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">gitignore_setting</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">advance_setting</span><span class="plain-syntax">)</span>
@ -258,7 +258,7 @@ program: some input, some thinking, a choice of three forms of output.
<span class="plain-syntax"> </span><a href="3-ta.html#SP2" class="function-link"><span class="function-syntax">Analyser::catalogue_the_sections</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">chosen_range</span><span class="plain-syntax">, </span><span class="constant-syntax">STRUCTURES_SECTIONCAT</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">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">makefile_setting</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="3-ta.html#SP13" class="function-link"><span class="function-syntax">Analyser::write_makefile</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">makefile_setting</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><a href="../foundation-module/8-wm.html#SP6" class="function-link"><span class="function-syntax">WebModules::make_search_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">import_setting</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><a href="../foundation-module/8-wm.html#SP6" class="function-link"><span class="function-syntax">WebModules::make_search_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">import_setting</span><span class="plain-syntax">), </span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">platform_setting</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">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">gitignore_setting</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="3-ta.html#SP13" class="function-link"><span class="function-syntax">Analyser::write_gitignore</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">gitignore_setting</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">ins</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">advance_switch</span><span class="plain-syntax">)</span>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>
@ -477,7 +477,7 @@ folder: failing that, we fall back on a default script belonging to Inweb.
</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">Analyser::write_makefile</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">Analyser::write_makefile</span></span>:<br/>Program Control - <a href="1-pc.html#SP7_4_1">&#167;7.4.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">web</span><span class="plain-syntax"> *</span><span class="identifier-syntax">W</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">module_search</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Analyser::write_makefile</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">Analyser::write_makefile</span></span>:<br/>Program Control - <a href="1-pc.html#SP7_4_1">&#167;7.4.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">web</span><span class="plain-syntax"> *</span><span class="identifier-syntax">W</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">module_search</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">platform</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><span class="identifier-syntax">W</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">md</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">path_to_web</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">short_name</span><span class="plain-syntax"> = </span><a href="../foundation-module/3-pth.html#SP7" class="function-link"><span class="function-syntax">Pathnames::directory_name</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</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">short_name</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">) ||</span>
@ -489,7 +489,7 @@ folder: failing that, we fall back on a default script belonging to Inweb.
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">leafname</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-tf.html#SP1" class="function-link"><span class="function-syntax">TextFiles::exists</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">prototype</span><span class="plain-syntax">)))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">prototype</span><span class="plain-syntax"> = </span><a href="../foundation-module/3-fln.html#SP2" class="function-link"><span class="function-syntax">Filenames::in</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">path_to_inweb_materials</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"default.mkscript"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="6-mkf.html#SP1" class="function-link"><span class="function-syntax">Makefiles::write</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">prototype</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="6-mkf.html#SP1" class="function-link"><span class="function-syntax">Makefiles::write</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">prototype</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="plain-syntax">, </span><span class="identifier-syntax">platform</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">Analyser::write_gitignore</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">Analyser::write_gitignore</span></span>:<br/>Program Control - <a href="1-pc.html#SP7_4_1">&#167;7.4.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">web</span><span class="plain-syntax"> *</span><span class="identifier-syntax">W</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>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -53,7 +53,7 @@ MathJax = {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -44,7 +44,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>
@ -134,7 +134,7 @@ at GitHub:
<span class="plain-syntax">web: "eastertide" at "inweb/Examples/eastertide" in "inweb/docs/eastertide"</span>
<span class="plain-syntax">web: "intest" at "intest" in "intest/docs"</span>
<span class="plain-syntax">web: "inform" at "inform/docs-src/index.inweb" in "inform/docs"</span>
<span class="plain-syntax">web: "inform" at "inform/docs-src/overview.inweb" in "inform/docs"</span>
</pre>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">colony_reader_state</span><span class="plain-syntax"> {</span>

View file

@ -44,7 +44,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>
@ -60,7 +60,8 @@ special loop construct.
</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">Makefiles::write</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">Makefiles::write</span></span>:<br/>Program Control - <a href="1-pc.html#SP7_1">&#167;7.1</a><br/>The Analyser - <a href="3-ta.html#SP13">&#167;13</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">web</span><span class="plain-syntax"> *</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prototype</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">module_search</span><span class="plain-syntax"> *</span><span class="identifier-syntax">I</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Makefiles::write</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">Makefiles::write</span></span>:<br/>Program Control - <a href="1-pc.html#SP7_1">&#167;7.1</a><br/>The Analyser - <a href="3-ta.html#SP13">&#167;13</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">web</span><span class="plain-syntax"> *</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prototype</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">module_search</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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">platform</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">preprocessor_macro</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../foundation-module/4-prp.html#SP11" class="function-link"><span class="function-syntax">Preprocessor::new_macro</span></a><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">I</span><span class="string-syntax">"platform-settings"</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">,</span>
@ -101,6 +102,7 @@ a data structure to store those declarations in:
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">webs_dictionary</span><span class="plain-syntax">; </span><span class="comment-syntax"> components with </span><span class="extract"><span class="extract-syntax">type: web</span></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">dictionary</span><span class="plain-syntax"> *</span><span class="identifier-syntax">modules_dictionary</span><span class="plain-syntax">; </span><span class="comment-syntax"> components with </span><span class="extract"><span class="extract-syntax">type: module</span></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">module_search</span><span class="plain-syntax"> *</span><span class="identifier-syntax">search_path</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">which_platform</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="constant-syntax">CLASS_DEFINITION</span>
<span class="plain-syntax">} </span><span class="reserved-syntax">makefile_specifics</span><span class="plain-syntax">;</span>
</pre>
@ -114,6 +116,7 @@ a data structure to store those declarations in:
<span class="plain-syntax"> </span><span class="identifier-syntax">specifics</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">webs_dictionary</span><span class="plain-syntax"> = </span><a href="../foundation-module/2-dct.html#SP2" class="function-link"><span class="function-syntax">Dictionaries::new</span></a><span class="plain-syntax">(16, </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">specifics</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">modules_dictionary</span><span class="plain-syntax"> = </span><a href="../foundation-module/2-dct.html#SP2" class="function-link"><span class="function-syntax">Dictionaries::new</span></a><span class="plain-syntax">(16, </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">specifics</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">search_path</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">specifics</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">which_platform</span><span class="plain-syntax"> = </span><span class="identifier-syntax">platform</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="6-mkf.html#SP1">&#167;1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>&#167;2. The identity-settings expander. </b></p>
@ -143,10 +146,13 @@ for that platform.
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Makefiles::platform_settings_expander</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">Makefiles::platform_settings_expander</span></span>:<br/><a href="6-mkf.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">preprocessor_macro</span><span class="plain-syntax"> *</span><span class="identifier-syntax">mm</span><span class="plain-syntax">, </span><span class="reserved-syntax">preprocessor_state</span><span class="plain-syntax"> *</span><span class="identifier-syntax">PPS</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">parameter_values</span><span class="plain-syntax">, </span><span class="reserved-syntax">preprocessor_loop</span><span class="plain-syntax"> *</span><span class="identifier-syntax">loop</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_file_position</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tfp</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">prototype</span><span class="plain-syntax"> = </span><a href="../foundation-module/3-fln.html#SP2" class="function-link"><span class="function-syntax">Filenames::in</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">path_to_inweb</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"platform-settings.mk"</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">INWEBPLATFORM</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP2" class="function-link"><span class="function-syntax">Str::new</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><a href="../foundation-module/4-tf.html#SP5" class="function-link"><span class="function-syntax">TextFiles::read</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">prototype</span><span class="plain-syntax">, </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">, </span><span class="string-syntax">"can't open platform settings file"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">, </span><a href="6-mkf.html#SP3" class="function-link"><span class="function-syntax">Makefiles::seek_INWEBPLATFORM</span></a><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">INWEBPLATFORM</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">makefile_specifics</span><span class="plain-syntax"> *</span><span class="identifier-syntax">specifics</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RETRIEVE_POINTER_makefile_specifics</span><span class="plain-syntax">(</span><span class="identifier-syntax">PPS</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">specifics</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">INWEBPLATFORM</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">specifics</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">which_platform</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">INWEBPLATFORM</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">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ps</span><span class="plain-syntax"> = </span><a href="../foundation-module/3-fln.html#SP2" class="function-link"><span class="function-syntax">Filenames::in</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">path_to_inweb</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"platform-settings.mk"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../foundation-module/4-tf.html#SP5" class="function-link"><span class="function-syntax">TextFiles::read</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ps</span><span class="plain-syntax">, </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">, </span><span class="string-syntax">"can't open platform settings file"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">, </span><a href="6-mkf.html#SP3" class="function-link"><span class="function-syntax">Makefiles::seek_INWEBPLATFORM</span></a><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">INWEBPLATFORM</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#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">INWEBPLATFORM</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/3-em.html#SP5" class="function-link"><span class="function-syntax">Errors::in_text_file</span></a><span class="plain-syntax">(</span>
<span class="plain-syntax"> </span><span class="string-syntax">"found platform settings file, but it does not set INWEBPLATFORM"</span><span class="plain-syntax">, </span><span class="identifier-syntax">tfp</span><span class="plain-syntax">);</span>

View file

@ -39,7 +39,7 @@ function togglePopup(material_id) {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -32,7 +32,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -54,7 +54,7 @@ MathJax = {
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -32,7 +32,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>

View file

@ -32,7 +32,7 @@
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inweb"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inform/docs/index.html">inform</a></li>
<li><a href="../../../inform/docs/overview.html">inform</a></li>
<li><a href="../../../intest/docs/index.html">intest</a></li>
</ul>
@ -163,7 +163,7 @@ for the Inweb repository:
<span class="plain-syntax">web: "eastertide" at "inweb/Examples/eastertide" in "inweb/docs/eastertide"</span>
<span class="plain-syntax">web: "intest" at "intest" in "intest/docs"</span>
<span class="plain-syntax">web: "inform" at "inform/docs-src/index.inweb" in "inform/docs"</span>
<span class="plain-syntax">web: "inform" at "inform/docs-src/overview.inweb" in "inform/docs"</span>
</pre>
<p class="commentary">As this demonstrates, either webs, or modules, or both, can be declared.
Each one gives (a) a short name, (b) a location relative to the current

Some files were not shown because too many files have changed in this diff Show more