From 04343a64a5c79fd6d572f909248580c8f9236604 Mon Sep 17 00:00:00 2001
From: Graham Nelson §3.2.1. Begin a definition3.2.1 =
+ §3.2.1. Begin a bare definition3.2.1 =
+ §3.2.2. Begin a definition3.2.2 =
§3.2.2. Continue a definition3.2.2 =
+ §3.2.3. Continue a definition3.2.3 =
§3.2.3. End a definition3.2.3 =
+ §3.2.4. End a definition3.2.4 =
Repository
Related Projects
diff --git a/docs/eastertide/index.html b/docs/eastertide/index.html
index aae4d3d..16d6973 100644
--- a/docs/eastertide/index.html
+++ b/docs/eastertide/index.html
@@ -29,7 +29,7 @@
Repository
Related Projects
diff --git a/docs/foundation-module/1-fm.html b/docs/foundation-module/1-fm.html
index 6471e77..79c8fd1 100644
--- a/docs/foundation-module/1-fm.html
+++ b/docs/foundation-module/1-fm.html
@@ -31,7 +31,7 @@
Repository
Related Projects
diff --git a/docs/foundation-module/1-pp.html b/docs/foundation-module/1-pp.html
index e7068bd..7934ca8 100644
--- a/docs/foundation-module/1-pp.html
+++ b/docs/foundation-module/1-pp.html
@@ -31,7 +31,7 @@
Repository
Related Projects
diff --git a/docs/foundation-module/1-wp.html b/docs/foundation-module/1-wp.html
index 2d231b3..1be37f7 100644
--- a/docs/foundation-module/1-wp.html
+++ b/docs/foundation-module/1-wp.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/2-dct.html b/docs/foundation-module/2-dct.html
index 6155465..cb61bb9 100644
--- a/docs/foundation-module/2-dct.html
+++ b/docs/foundation-module/2-dct.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/2-dl.html b/docs/foundation-module/2-dl.html
index 689d60c..592311f 100644
--- a/docs/foundation-module/2-dl.html
+++ b/docs/foundation-module/2-dl.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/2-fc.html b/docs/foundation-module/2-fc.html
index 34f77f5..1004bb9 100644
--- a/docs/foundation-module/2-fc.html
+++ b/docs/foundation-module/2-fc.html
@@ -31,7 +31,7 @@
Repository
Related Projects
diff --git a/docs/foundation-module/2-lcl.html b/docs/foundation-module/2-lcl.html
index 40901a5..eaf1391 100644
--- a/docs/foundation-module/2-lcl.html
+++ b/docs/foundation-module/2-lcl.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/2-llas.html b/docs/foundation-module/2-llas.html
index 3a6bdd1..1734cb2 100644
--- a/docs/foundation-module/2-llas.html
+++ b/docs/foundation-module/2-llas.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/2-mmr.html b/docs/foundation-module/2-mmr.html
index 22a84a8..5795e85 100644
--- a/docs/foundation-module/2-mmr.html
+++ b/docs/foundation-module/2-mmr.html
@@ -53,7 +53,7 @@ MathJax = {
Repository
Related Projects
diff --git a/docs/foundation-module/2-mth.html b/docs/foundation-module/2-mth.html
index 5441acd..3dc41cd 100644
--- a/docs/foundation-module/2-mth.html
+++ b/docs/foundation-module/2-mth.html
@@ -31,7 +31,7 @@
Repository
Related Projects
diff --git a/docs/foundation-module/2-str.html b/docs/foundation-module/2-str.html
index be6f054..f3692b4 100644
--- a/docs/foundation-module/2-str.html
+++ b/docs/foundation-module/2-str.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/2-trs.html b/docs/foundation-module/2-trs.html
index cfc536f..68f3edc 100644
--- a/docs/foundation-module/2-trs.html
+++ b/docs/foundation-module/2-trs.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/2-wal.html b/docs/foundation-module/2-wal.html
index 9f85d73..612c38c 100644
--- a/docs/foundation-module/2-wal.html
+++ b/docs/foundation-module/2-wal.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/3-cf.html b/docs/foundation-module/3-cf.html
index fda6e49..7e957df 100644
--- a/docs/foundation-module/3-cf.html
+++ b/docs/foundation-module/3-cf.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/3-cla.html b/docs/foundation-module/3-cla.html
index 3456872..72f1aa0 100644
--- a/docs/foundation-module/3-cla.html
+++ b/docs/foundation-module/3-cla.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/3-drc.html b/docs/foundation-module/3-drc.html
index 189542a..81fd7f1 100644
--- a/docs/foundation-module/3-drc.html
+++ b/docs/foundation-module/3-drc.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/3-em.html b/docs/foundation-module/3-em.html
index 05fad47..6b4a7f0 100644
--- a/docs/foundation-module/3-em.html
+++ b/docs/foundation-module/3-em.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
@@ -179,7 +179,7 @@ specify this at three levels of abstraction:
Errors::in_text_file(message, NULL);
}
-void Errors::in_text_file(char *message, text_file_position *here) {
+void Errors::in_text_file(char *message, text_file_position *here) {
if (here)
Errors::at_position(message, here->text_file_filename, here->line_count);
else
diff --git a/docs/foundation-module/3-fln.html b/docs/foundation-module/3-fln.html
index 43e7f1c..9894312 100644
--- a/docs/foundation-module/3-fln.html
+++ b/docs/foundation-module/3-fln.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/3-pth.html b/docs/foundation-module/3-pth.html
index f2efb87..3d6ea6f 100644
--- a/docs/foundation-module/3-pth.html
+++ b/docs/foundation-module/3-pth.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/3-shl.html b/docs/foundation-module/3-shl.html
index 6a40ddf..39cf1f0 100644
--- a/docs/foundation-module/3-shl.html
+++ b/docs/foundation-module/3-shl.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/3-tm.html b/docs/foundation-module/3-tm.html
index 9b714c9..3e4434d 100644
--- a/docs/foundation-module/3-tm.html
+++ b/docs/foundation-module/3-tm.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/4-chr.html b/docs/foundation-module/4-chr.html
index 009cb65..bfe4401 100644
--- a/docs/foundation-module/4-chr.html
+++ b/docs/foundation-module/4-chr.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/4-cst.html b/docs/foundation-module/4-cst.html
index 6cd0f16..80c50b9 100644
--- a/docs/foundation-module/4-cst.html
+++ b/docs/foundation-module/4-cst.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
diff --git a/docs/foundation-module/4-pm.html b/docs/foundation-module/4-pm.html
index f94403b..0916016 100644
--- a/docs/foundation-module/4-pm.html
+++ b/docs/foundation-module/4-pm.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
@@ -214,7 +214,7 @@ deallocate.
return mr;
}
-void Regexp::dispose_of(match_results *mr) {
+void Regexp::dispose_of(match_results *mr) {
if (mr) {
for (int i=0; i<MAX_BRACKETED_SUBEXPRESSIONS; i++)
if (mr->exp[i]) {
diff --git a/docs/foundation-module/4-prp.html b/docs/foundation-module/4-prp.html
index b545520..ea301dc 100644
--- a/docs/foundation-module/4-prp.html
+++ b/docs/foundation-module/4-prp.html
@@ -39,7 +39,7 @@ function togglePopup(material_id) {
Repository
Related Projects
@@ -185,13 +185,28 @@ is the special comment character: often
match_results mr = Regexp::create_mr();
- if (Regexp::match(&mr, line, L" *{define: *(%C+) (%c*)} *")) Begin a definition3.2.1;
- if (Regexp::match(&mr, line, L" *{end-define} *")) End a definition3.2.3;
- if (PPS->defining) Continue a definition3.2.2;
+ if (Regexp::match(&mr, line, L" *{define: *(%C+) *} *")) Begin a bare definition3.2.1;
+ if (Regexp::match(&mr, line, L" *{define: *(%C+) (%c*)} *")) Begin a definition3.2.2;
+ if (Regexp::match(&mr, line, L" *{end-define} *")) End a definition3.2.4;
+ if (PPS->defining) Continue a definition3.2.3;
Regexp::dispose_of(&mr);
-
+ 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;
+
+
+
@@ -205,7 +220,7 @@ is the special comment character: often return;
-
@@ -214,7 +229,7 @@ is the special comment character: often return;
-
@@ -695,7 +710,7 @@ fact we expect more like 10.
-preprocessor_macro *Preprocessor::new_macro(linked_list *L, text_stream *name, +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) { @@ -768,7 +783,7 @@ expander function is Preprocessor::de-void Preprocessor::add_line_to_macro(preprocessor_macro *mm, text_stream *line, +void Preprocessor::add_line_to_macro(preprocessor_macro *mm, text_stream *line, text_file_position *tfp) { if (mm->no_lines >= MAX_PP_MACRO_LINES) { Errors::in_text_file("too many lines in this definition", tfp); @@ -860,7 +875,7 @@ frame again.-void Preprocessor::default_expander(preprocessor_macro *mm, preprocessor_state *PPS, +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); for (int i=0; i<mm->no_parameters; i++) { diff --git a/docs/foundation-module/4-sm.html b/docs/foundation-module/4-sm.html index d4b479f..bc8daa4 100644 --- a/docs/foundation-module/4-sm.html +++ b/docs/foundation-module/4-sm.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
@@ -88,7 +88,7 @@ access.-text_stream *Str::new(void) { +text_stream *Str::new(void) { return Str::new_with_capacity(32); } diff --git a/docs/foundation-module/4-taa.html b/docs/foundation-module/4-taa.html index 4ec344f..d7f641c 100644 --- a/docs/foundation-module/4-taa.html +++ b/docs/foundation-module/4-taa.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/foundation-module/4-tf.html b/docs/foundation-module/4-tf.html index 8fce8ac..1358c42 100644 --- a/docs/foundation-module/4-tf.html +++ b/docs/foundation-module/4-tf.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/foundation-module/4-ws.html b/docs/foundation-module/4-ws.html index 8a6e85c..863932a 100644 --- a/docs/foundation-module/4-ws.html +++ b/docs/foundation-module/4-ws.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/foundation-module/5-ee.html b/docs/foundation-module/5-ee.html index 08a9f9b..945e05c 100644 --- a/docs/foundation-module/5-ee.html +++ b/docs/foundation-module/5-ee.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/foundation-module/5-htm.html b/docs/foundation-module/5-htm.html index b0f9af4..fa2ecbe 100644 --- a/docs/foundation-module/5-htm.html +++ b/docs/foundation-module/5-htm.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/foundation-module/6-bf.html b/docs/foundation-module/6-bf.html index 7e04b60..2a4fb7c 100644 --- a/docs/foundation-module/6-bf.html +++ b/docs/foundation-module/6-bf.html @@ -53,7 +53,7 @@ MathJax = {Repository
Related Projects
diff --git a/docs/foundation-module/6-id.html b/docs/foundation-module/6-id.html index 6ac6e1c..a0e2042 100644 --- a/docs/foundation-module/6-id.html +++ b/docs/foundation-module/6-id.html @@ -31,7 +31,7 @@Repository
Related Projects
diff --git a/docs/foundation-module/6-sd.html b/docs/foundation-module/6-sd.html index 4f2ba58..bb54b0e 100644 --- a/docs/foundation-module/6-sd.html +++ b/docs/foundation-module/6-sd.html @@ -31,7 +31,7 @@Repository
Related Projects
diff --git a/docs/foundation-module/7-vn.html b/docs/foundation-module/7-vn.html index 5177b4c..f6bbffb 100644 --- a/docs/foundation-module/7-vn.html +++ b/docs/foundation-module/7-vn.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/foundation-module/7-vnr.html b/docs/foundation-module/7-vnr.html index bbaf4f5..3114ab2 100644 --- a/docs/foundation-module/7-vnr.html +++ b/docs/foundation-module/7-vnr.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/foundation-module/8-bdfw.html b/docs/foundation-module/8-bdfw.html index 37a8695..71adbc1 100644 --- a/docs/foundation-module/8-bdfw.html +++ b/docs/foundation-module/8-bdfw.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/foundation-module/8-bf.html b/docs/foundation-module/8-bf.html index 7837eb6..9e5e2c2 100644 --- a/docs/foundation-module/8-bf.html +++ b/docs/foundation-module/8-bf.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/foundation-module/8-st.html b/docs/foundation-module/8-st.html index e6cca37..6d5445b 100644 --- a/docs/foundation-module/8-st.html +++ b/docs/foundation-module/8-st.html @@ -44,7 +44,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/foundation-module/8-wm.html b/docs/foundation-module/8-wm.html index ede2746..0d1a319 100644 --- a/docs/foundation-module/8-wm.html +++ b/docs/foundation-module/8-wm.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/foundation-module/8-ws.html b/docs/foundation-module/8-ws.html index e5be965..6a6aa34 100644 --- a/docs/foundation-module/8-ws.html +++ b/docs/foundation-module/8-ws.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/foundation-module/P-abgtf.html b/docs/foundation-module/P-abgtf.html index a2c8d68..d0013aa 100644 --- a/docs/foundation-module/P-abgtf.html +++ b/docs/foundation-module/P-abgtf.html @@ -45,7 +45,7 @@ MathJax = {Repository
Related Projects
diff --git a/docs/foundation-module/index.html b/docs/foundation-module/index.html index 575227c..92647bd 100644 --- a/docs/foundation-module/index.html +++ b/docs/foundation-module/index.html @@ -29,7 +29,7 @@Repository
Related Projects
diff --git a/docs/foundation-test/S-pc.html b/docs/foundation-test/S-pc.html index 8f28ae1..eb36d98 100644 --- a/docs/foundation-test/S-pc.html +++ b/docs/foundation-test/S-pc.html @@ -31,7 +31,7 @@Repository
Related Projects
diff --git a/docs/foundation-test/S-ut.html b/docs/foundation-test/S-ut.html index 7b449d4..9ba7a9c 100644 --- a/docs/foundation-test/S-ut.html +++ b/docs/foundation-test/S-ut.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/foundation-test/index.html b/docs/foundation-test/index.html index 49fe033..cad1faf 100644 --- a/docs/foundation-test/index.html +++ b/docs/foundation-test/index.html @@ -29,7 +29,7 @@Repository
Related Projects
diff --git a/docs/goldbach/S-sp.html b/docs/goldbach/S-sp.html index 81b63fe..72a7281 100644 --- a/docs/goldbach/S-sp.html +++ b/docs/goldbach/S-sp.html @@ -51,7 +51,7 @@ MathJax = {Repository
Related Projects
diff --git a/docs/goldbach/S-tsoe.html b/docs/goldbach/S-tsoe.html index ff83022..ff1a601 100644 --- a/docs/goldbach/S-tsoe.html +++ b/docs/goldbach/S-tsoe.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/goldbach/goldbach.pdf b/docs/goldbach/goldbach.pdf index 6e3427e12ee71b0fc207d26fbde67a516af77458..745b4864347df915eda848894f34d6c1d97c79c9 100644 GIT binary patch delta 137 zcmcb&f&bnH{)QID7N#xC{3o?c4b4ogZ}=WawsLWaMOIXy|0(>}F gHl(>}>4nY;5RcZfWM|;%a2 Repository
Related Projects
diff --git a/docs/index.html b/docs/index.html index ebf7936..39b81de 100644 --- a/docs/index.html +++ b/docs/index.html @@ -31,7 +31,7 @@Repository
Related Projects
diff --git a/docs/inweb/1-apacs.html b/docs/inweb/1-apacs.html index e53c3d1..5c5728f 100644 --- a/docs/inweb/1-apacs.html +++ b/docs/inweb/1-apacs.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/1-bsc.html b/docs/inweb/1-bsc.html index c8674d0..c8c5c0f 100644 --- a/docs/inweb/1-bsc.html +++ b/docs/inweb/1-bsc.html @@ -31,7 +31,7 @@Repository
Related Projects
diff --git a/docs/inweb/1-cnf.html b/docs/inweb/1-cnf.html index 0d1e524..176bed6 100644 --- a/docs/inweb/1-cnf.html +++ b/docs/inweb/1-cnf.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
@@ -89,6 +89,7 @@ command line: there will only ever be one of these. struct filename *colony_setting; -colony X: the filename X, if supplied struct text_stream *member_setting; -member X: sets web to member X of colony struct linked_list *breadcrumb_setting; of breadcrumb_request + struct text_stream *platform_setting; -platform X: sets prevailing platform to X int verbose_switch; -verbose: print names of files read to stdout int targets; used only for parsing @@ -155,6 +156,7 @@ then declare them. args.colony_setting = NULL; args.member_setting = NULL; args.breadcrumb_setting = NEW_LINKED_LIST(breadcrumb_request); + args.platform_setting = NULL; args.tag_setting = Str::new(); args.weave_pattern = Str::new(); args.import_setting = NULL; @@ -184,6 +186,7 @@ provides automatically. enum GITIGNORE_CLSW enum MAKEFILE_CLSW enum WRITEME_CLSW +enum PLATFORM_CLSW enum ADVANCE_FILE_CLSW enum PROTOTYPE_CLSW enum SCAN_CLSW @@ -251,6 +254,8 @@ provides automatically. L"increment daily build code in file X"); CommandLine::declare_switch(WRITEME_CLSW, L"write-me", 2, L"write a read-me file following instructions in file X"); + CommandLine::declare_switch(PLATFORM_CLSW, L"platform", 2, + L"use platform X (e.g. 'windows') when making e.g. makefiles"); CommandLine::declare_switch(PROTOTYPE_CLSW, L"prototype", 2, L"translate makefile from prototype X"); CommandLine::declare_switch(FUNCTIONS_CLSW, L"functions", 1, @@ -357,6 +362,9 @@ provides automatically. if (args->inweb_mode != TRANSLATE_MODE) Configuration::set_fundamental_mode(args, ANALYSE_MODE); break; + case PLATFORM_CLSW: + args->platform_setting = Str::duplicate(arg); + break; case ADVANCE_FILE_CLSW: args->advance_setting = Filenames::from_text(arg); Configuration::set_fundamental_mode(args, TRANSLATE_MODE); diff --git a/docs/inweb/1-pc.html b/docs/inweb/1-pc.html index ea5afc2..976578f 100644 --- a/docs/inweb/1-pc.html +++ b/docs/inweb/1-pc.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
@@ -187,7 +187,7 @@ program: some input, some thinking, a choice of three forms of output. ins->prototype_setting = Filenames::from_text(I"script.rmscript"); if (ins->makefile_setting) Makefiles::write(W, ins->prototype_setting, ins->makefile_setting, - WebModules::make_search_path(ins->import_setting)); + WebModules::make_search_path(ins->import_setting), ins->platform_setting); else if (ins->gitignore_setting) Git::write_gitignore(W, ins->prototype_setting, ins->gitignore_setting); else if (ins->advance_setting) @@ -258,7 +258,7 @@ program: some input, some thinking, a choice of three forms of output. Analyser::catalogue_the_sections(W, ins->chosen_range, STRUCTURES_SECTIONCAT); if (ins->makefile_setting) Analyser::write_makefile(W, ins->makefile_setting, - WebModules::make_search_path(ins->import_setting)); + WebModules::make_search_path(ins->import_setting), ins->platform_setting); if (ins->gitignore_setting) Analyser::write_gitignore(W, ins->gitignore_setting); if (ins->advance_switch) diff --git a/docs/inweb/1-ptt.html b/docs/inweb/1-ptt.html index 954f512..6f072ed 100644 --- a/docs/inweb/1-ptt.html +++ b/docs/inweb/1-ptt.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/1-ts.html b/docs/inweb/1-ts.html index 40a8fbb..8a2edfd 100644 --- a/docs/inweb/1-ts.html +++ b/docs/inweb/1-ts.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/2-ec.html b/docs/inweb/2-ec.html index 6ba24c7..567d6cb 100644 --- a/docs/inweb/2-ec.html +++ b/docs/inweb/2-ec.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/2-lc.html b/docs/inweb/2-lc.html index c34bf4c..d09b03e 100644 --- a/docs/inweb/2-lc.html +++ b/docs/inweb/2-lc.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/2-pm.html b/docs/inweb/2-pm.html index 20fd7f7..7cb96a7 100644 --- a/docs/inweb/2-pm.html +++ b/docs/inweb/2-pm.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/2-pn.html b/docs/inweb/2-pn.html index dcf848c..4009f81 100644 --- a/docs/inweb/2-pn.html +++ b/docs/inweb/2-pn.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/2-tgs.html b/docs/inweb/2-tgs.html index 1c042bd..f354576 100644 --- a/docs/inweb/2-tgs.html +++ b/docs/inweb/2-tgs.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/2-tp.html b/docs/inweb/2-tp.html index 10e524c..f60806e 100644 --- a/docs/inweb/2-tp.html +++ b/docs/inweb/2-tp.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/2-tr.html b/docs/inweb/2-tr.html index 6f5045f..38bfe18 100644 --- a/docs/inweb/2-tr.html +++ b/docs/inweb/2-tr.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/3-ta.html b/docs/inweb/3-ta.html index 9a87df5..0468531 100644 --- a/docs/inweb/3-ta.html +++ b/docs/inweb/3-ta.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
@@ -477,7 +477,7 @@ folder: failing that, we fall back on a default script belonging to Inweb.-void Analyser::write_makefile(web *W, filename *F, module_search *I) { +void Analyser::write_makefile(web *W, filename *F, module_search *I, text_stream *platform) { pathname *P = W->md->path_to_web; text_stream *short_name = Pathnames::directory_name(P); if ((Str::len(short_name) == 0) || @@ -489,7 +489,7 @@ folder: failing that, we fall back on a default script belonging to Inweb. DISCARD_TEXT(leafname) if (!(TextFiles::exists(prototype))) prototype = Filenames::in(path_to_inweb_materials, I"default.mkscript"); - Makefiles::write(W, prototype, F, I); + Makefiles::write(W, prototype, F, I, platform); } void Analyser::write_gitignore(web *W, filename *F) { diff --git a/docs/inweb/3-tc.html b/docs/inweb/3-tc.html index 19a73c9..787eb09 100644 --- a/docs/inweb/3-tc.html +++ b/docs/inweb/3-tc.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/3-tt.html b/docs/inweb/3-tt.html index 2350a08..5a81400 100644 --- a/docs/inweb/3-tt.html +++ b/docs/inweb/3-tt.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/3-tw.html b/docs/inweb/3-tw.html index 13b4cf1..8d2e565 100644 --- a/docs/inweb/3-tw.html +++ b/docs/inweb/3-tw.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/3-twot.html b/docs/inweb/3-twot.html index 737ee85..157f5f9 100644 --- a/docs/inweb/3-twot.html +++ b/docs/inweb/3-twot.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/4-as.html b/docs/inweb/4-as.html index 695c29c..7c53adb 100644 --- a/docs/inweb/4-as.html +++ b/docs/inweb/4-as.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/4-cl.html b/docs/inweb/4-cl.html index 80003cf..93d9435 100644 --- a/docs/inweb/4-cl.html +++ b/docs/inweb/4-cl.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/4-is.html b/docs/inweb/4-is.html index adc5499..3486832 100644 --- a/docs/inweb/4-is.html +++ b/docs/inweb/4-is.html @@ -53,7 +53,7 @@ MathJax = {Repository
Related Projects
diff --git a/docs/inweb/4-lm.html b/docs/inweb/4-lm.html index 103252c..7e10186 100644 --- a/docs/inweb/4-lm.html +++ b/docs/inweb/4-lm.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/4-pl.html b/docs/inweb/4-pl.html index 4e3d981..bb0272a 100644 --- a/docs/inweb/4-pl.html +++ b/docs/inweb/4-pl.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/4-taf.html b/docs/inweb/4-taf.html index 5e27a25..be78355 100644 --- a/docs/inweb/4-taf.html +++ b/docs/inweb/4-taf.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/4-tp.html b/docs/inweb/4-tp.html index ecf638d..d403e9a 100644 --- a/docs/inweb/4-tp.html +++ b/docs/inweb/4-tp.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/5-df.html b/docs/inweb/5-df.html index b30f30f..496267b 100644 --- a/docs/inweb/5-df.html +++ b/docs/inweb/5-df.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/5-fm.html b/docs/inweb/5-fm.html index d0cdc6d..92105c2 100644 --- a/docs/inweb/5-fm.html +++ b/docs/inweb/5-fm.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/5-hf.html b/docs/inweb/5-hf.html index ca8c56a..0be8005 100644 --- a/docs/inweb/5-hf.html +++ b/docs/inweb/5-hf.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/5-ptf.html b/docs/inweb/5-ptf.html index cd29411..535b706 100644 --- a/docs/inweb/5-ptf.html +++ b/docs/inweb/5-ptf.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/5-tf.html b/docs/inweb/5-tf.html index d9012db..f81505d 100644 --- a/docs/inweb/5-tf.html +++ b/docs/inweb/5-tf.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/5-tu.html b/docs/inweb/5-tu.html index 6d6f013..acc3012 100644 --- a/docs/inweb/5-tu.html +++ b/docs/inweb/5-tu.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/5-wt.html b/docs/inweb/5-wt.html index fa74d8f..d06e861 100644 --- a/docs/inweb/5-wt.html +++ b/docs/inweb/5-wt.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
Related Projects
diff --git a/docs/inweb/6-cln.html b/docs/inweb/6-cln.html index a9efd62..47e7583 100644 --- a/docs/inweb/6-cln.html +++ b/docs/inweb/6-cln.html @@ -44,7 +44,7 @@ function togglePopup(material_id) {Repository
Related Projects
@@ -134,7 +134,7 @@ at GitHub: 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"
typedef struct colony_reader_state { diff --git a/docs/inweb/6-cs.html b/docs/inweb/6-cs.html index d62325d..1f052a3 100644 --- a/docs/inweb/6-cs.html +++ b/docs/inweb/6-cs.html @@ -44,7 +44,7 @@ function togglePopup(material_id) {Repository
-void Makefiles::write(web *W, filename *prototype, filename *F, module_search *I) { +void Makefiles::write(web *W, filename *prototype, filename *F, module_search *I, + text_stream *platform) { linked_list *L = NEW_LINKED_LIST(preprocessor_macro); Preprocessor::new_macro(L, I"platform-settings", NULL, @@ -101,6 +102,7 @@ a data structure to store those declarations in: struct dictionary *webs_dictionary; components with type: web struct dictionary *modules_dictionary; components with type: module struct module_search *search_path; + struct text_stream *which_platform; CLASS_DEFINITION } makefile_specifics;@@ -114,6 +116,7 @@ a data structure to store those declarations in: specifics->webs_dictionary = Dictionaries::new(16, FALSE); specifics->modules_dictionary = Dictionaries::new(16, FALSE); specifics->search_path = I; + specifics->which_platform = platform;
§2. The identity-settings expander.
@@ -143,10 +146,13 @@ for that platform.void Makefiles::platform_settings_expander(preprocessor_macro *mm, preprocessor_state *PPS, text_stream **parameter_values, preprocessor_loop *loop, text_file_position *tfp) { - filename *prototype = Filenames::in(path_to_inweb, I"platform-settings.mk"); - text_stream *INWEBPLATFORM = Str::new(); - TextFiles::read(prototype, FALSE, "can't open platform settings file", - TRUE, Makefiles::seek_INWEBPLATFORM, NULL, INWEBPLATFORM); + makefile_specifics *specifics = RETRIEVE_POINTER_makefile_specifics(PPS->specifics); + text_stream *INWEBPLATFORM = Str::duplicate(specifics->which_platform); + if (Str::len(INWEBPLATFORM) == 0) { + filename *ps = Filenames::in(path_to_inweb, I"platform-settings.mk"); + TextFiles::read(ps, FALSE, "can't open platform settings file", + TRUE, Makefiles::seek_INWEBPLATFORM, NULL, INWEBPLATFORM); + } if (Str::len(INWEBPLATFORM) == 0) { Errors::in_text_file( "found platform settings file, but it does not set INWEBPLATFORM", tfp); diff --git a/docs/inweb/6-rw.html b/docs/inweb/6-rw.html index 9eee223..43611f8 100644 --- a/docs/inweb/6-rw.html +++ b/docs/inweb/6-rw.html @@ -39,7 +39,7 @@ function togglePopup(material_id) {Repository
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 diff --git a/docs/inweb/M-rc.html b/docs/inweb/M-rc.html index c6b41e5..785b92a 100644 --- a/docs/inweb/M-rc.html +++ b/docs/inweb/M-rc.html @@ -31,7 +31,7 @@