From 51e6ad8b971a4987c09e8069351013b8733f35db Mon Sep 17 00:00:00 2001 From: Graham Nelson Date: Thu, 30 Jun 2022 18:27:36 +0100 Subject: [PATCH] Made @/o and @\o equivalent --- docs/building-module/2-tkn.html | 5 +- inform7/Figures/timings-diagnostics.txt | 59 ++++++++++--------- .../building-module/Chapter 2/Tokenisation.w | 5 +- 3 files changed, 36 insertions(+), 33 deletions(-) diff --git a/docs/building-module/2-tkn.html b/docs/building-module/2-tkn.html index 282ebc2b8..aa0560c68 100644 --- a/docs/building-module/2-tkn.html +++ b/docs/building-module/2-tkn.html @@ -1207,7 +1207,8 @@ in the DM4. German sharp s. Again, see the DM4 for the specification of these. A misprint in the DM4 means that one part of that manual says that @cc is the syntax for c-cedilla, and another says it is @,c. To be on the safe side, we -recognise both. +recognise both. For similar reasons, we recognise both @/o and @\o as +a Scandinavian o-stroke.

Expand TeX-style digraph2.2.5 = @@ -1299,7 +1300,7 @@ recognise both. default: Unknown string token2.2.4.1; break; } break; - case '\\': the Scandinavian slash thing + case '\\': case '/': the Scandinavian slash thing switch (d) { case 'o': PUT_TO(text, 0xF8); break; case 'O': PUT_TO(text, 0xD8); break; diff --git a/inform7/Figures/timings-diagnostics.txt b/inform7/Figures/timings-diagnostics.txt index 5f225ad61..9a587c58b 100644 --- a/inform7/Figures/timings-diagnostics.txt +++ b/inform7/Figures/timings-diagnostics.txt @@ -1,32 +1,33 @@ 100.0% in inform7 run - 70.0% in compilation to Inter - 50.2% in //Sequence::undertake_queued_tasks// - 4.4% in //MajorNodes::pre_pass// - 3.3% in //MajorNodes::pass_1// - 1.7% in //ImperativeDefinitions::assess_all// - 1.5% in //RTKindConstructors::compile// - 1.5% in //RTPhrasebook::compile_entries// - 1.1% in //Sequence::lint_inter// - 0.5% in //MajorNodes::pass_2// - 0.5% in //Sequence::undertake_queued_tasks// - 0.5% in //World::stage_V// - 0.3% in //ImperativeDefinitions::compile_first_block// - 0.3% in //Sequence::undertake_queued_tasks// - 0.1% in //CompletionModule::compile// - 0.1% in //InferenceSubjects::emit_all// - 0.1% in //RTKindConstructors::compile_permissions// - 0.1% in //Task::make_built_in_kind_constructors// + 71.4% in compilation to Inter + 50.5% in //Sequence::undertake_queued_tasks// + 4.8% in //MajorNodes::pre_pass// + 3.5% in //MajorNodes::pass_1// + 1.9% in //ImperativeDefinitions::assess_all// + 1.4% in //RTKindConstructors::compile// + 1.4% in //RTPhrasebook::compile_entries// + 1.0% in //Sequence::lint_inter// + 0.6% in //MajorNodes::pass_2// + 0.6% in //Sequence::undertake_queued_tasks// + 0.6% in //World::stage_V// + 0.4% in //ImperativeDefinitions::compile_first_block// + 0.4% in //Sequence::undertake_queued_tasks// + 0.2% in //CompletionModule::compile// + 0.2% in //InferenceSubjects::emit_all// + 0.2% in //RTKindConstructors::compile_permissions// + 0.2% in //Task::make_built_in_kind_constructors// + 0.2% in //World::stages_II_and_III// 2.7% not specifically accounted for - 27.1% in running Inter pipeline - 10.2% in step 14/15: generate inform6 -> auto.inf - 6.0% in step 5/15: load-binary-kits - 6.0% in step 6/15: make-synoptic-module - 1.5% in step 9/15: make-identifiers-unique - 0.5% in step 4/15: compile-splats - 0.3% in step 12/15: eliminate-redundant-operations - 0.3% in step 7/15: shorten-wiring - 0.3% in step 8/15: detect-indirect-calls - 0.1% in step 11/15: eliminate-redundant-labels - 1.3% not specifically accounted for + 25.5% in running Inter pipeline + 10.1% in step 14/15: generate inform6 -> auto.inf + 5.4% in step 5/15: load-binary-kits + 5.2% in step 6/15: make-synoptic-module + 1.4% in step 9/15: make-identifiers-unique + 0.4% in step 12/15: eliminate-redundant-operations + 0.4% in step 4/15: compile-splats + 0.4% in step 7/15: shorten-wiring + 0.2% in step 11/15: eliminate-redundant-labels + 0.2% in step 8/15: detect-indirect-calls + 1.4% not specifically accounted for 2.5% in supervisor - 0.2% not specifically accounted for + 0.5% not specifically accounted for diff --git a/inter/building-module/Chapter 2/Tokenisation.w b/inter/building-module/Chapter 2/Tokenisation.w index fa98eb23c..894c7b700 100644 --- a/inter/building-module/Chapter 2/Tokenisation.w +++ b/inter/building-module/Chapter 2/Tokenisation.w @@ -1024,7 +1024,8 @@ in the DM4. German sharp s. Again, see the DM4 for the specification of these. A misprint in the DM4 means that one part of that manual says that |@cc| is the syntax for c-cedilla, and another says it is |@,c|. To be on the safe side, we -recognise both. +recognise both. For similar reasons, we recognise both |@/o| and |@\o| as +a Scandinavian o-stroke. @ = wchar_t c = Str::get_at(token, 0); @@ -1112,7 +1113,7 @@ recognise both. default: @; break; } break; - case '\\': /* the Scandinavian slash thing */ + case '\\': case '/': /* the Scandinavian slash thing */ switch (d) { case 'o': PUT_TO(text, 0xF8); break; case 'O': PUT_TO(text, 0xD8); break;