Skip to content

Commit 7f6a3cb

Browse files
committed
Update jwiXML-help.xhtml
1 parent 7a05b5b commit 7f6a3cb

File tree

1 file changed

+47
-18
lines changed

1 file changed

+47
-18
lines changed

help/jwiXML-help.xhtml

+47-18
Original file line numberDiff line numberDiff line change
@@ -52,25 +52,28 @@
5252
<a href="#d2e311">Options</a>
5353
</li>
5454
<li>
55-
<a href="#d2e406">Loading grammars and inputs from external sources</a>
55+
<a href="#d2e422">Loading grammars and inputs from external sources</a>
5656
<ul>
5757
<li>
58-
<a href="#d2e433">Grammars in XML</a>
58+
<a href="#d2e449">Grammars in XML</a>
5959
</li>
6060
</ul>
6161
</li>
6262
<li>
63-
<a href="#d2e451">Change history</a>
63+
<a href="#d2e467">Change history</a>
6464
<ul>
6565
<li>
66-
<a href="#d2e455">Version 1.1 - 2022nov01</a>
66+
<a href="#d2e471">Version 1.1 - 2022nov01</a>
67+
</li>
68+
<li>
69+
<a href="#d2e489">Version 1.3 - 2023may27</a>
6770
</li>
6871
</ul>
6972
</li>
7073
</ul>
7174
<p>TODO:</p>
7275
<ul>
73-
<li>Change the pictures to reflect version 1.1</li>
76+
<li>Change the pictures to reflect version 1.3</li>
7477
<li>Look into adding an undo facility</li>
7578
</ul>
7679
<section>
@@ -103,12 +106,13 @@
103106
usual keystokes are supported, but there is no 'syntax awareness' during input:</p>
104107
<img width="400" src="img1.png"/>
105108
<p>The 'format' button above the textarea will, for a valid grammar, 'pretty-print' by replacing the text
106-
with a canonical <em>ixml</em> rendering of the parsed grammar. This form will line up all the rules so all their
107-
names are right aligned and their definitions left-aligned. Strings should be enclosed in the quotation characters used in the
108-
original (doubling such characters within the string as necessary). For alternatives, the separator character used is the first separator character
109-
(i.e. <code>';'</code> or <code>'|'</code>) encountered whilst parsing that set of alternatives. If the
110-
serialisation of the definition of a rule will be longer than 50 characters, top-level alternatives will
111-
have a newline and appropriate indentation attached to their separators. </p>
109+
with a canonical <em>ixml</em> rendering of the parsed grammar. This form will line up all the rules so
110+
all their names are right aligned and their definitions left-aligned. Strings should be enclosed in the
111+
quotation characters used in the original (doubling such characters within the string as necessary). For
112+
alternatives, the separator character used is the first separator character (i.e. <code>';'</code> or
113+
<code>'|'</code>) encountered whilst parsing that set of alternatives. If the serialisation of the
114+
definition of a rule will be longer than 50 characters, top-level alternatives will have a newline and
115+
appropriate indentation attached to their separators. </p>
112116
<p>This means that, for instance, an original line of the form: </p>
113117
<pre>a: [L] | "s" ; '"', #a; bcdef ; bcdef ,"a", bcdef; bcdef, "b", bcdef.
114118
bcdef: [N]|("1"; "2" | "3").</pre>
@@ -312,16 +316,22 @@ Multiple nodes may not be the final parse result:&lt;expression/&gt;,@compare,&l
312316
<td>When checked, all non-terminals in the grammar must be reachable through a reference path from the
313317
start (first) rule.</td>
314318
</tr>
319+
<tr>
320+
<td class="option">Permit missing non-terminals (grammar parsing only)</td>
321+
<td>When checked, missing non-terminals in the grammar may be referenced in the grammar (for
322+
experimentation in grammar combination)</td>
323+
</tr>
315324
<tr>
316325
<td class="option">Tovey-Walsh rewrites</td>
317326
<td>When checked, <code>f+</code> constructs are rewritten as <code>f+ =&gt; f-plus. f-plus: f, f-plus|
318-
().</code> rather than the <code>f-plus: f, f*.</code> rewrite given in the spec. This is likely
319-
to become the default eventually, as it seems to perform significantly quicker.</td>
327+
().</code> rather than the <code>f-plus: f, f*.</code> rewrite given in the spec. This is
328+
currently the default, as it seems to perform significantly quicker.</td>
320329
</tr>
321330
<tr>
322331
<td class="option">Allow an empty string as input</td>
323332
<td>Normally if the input is an empty string, no attempt is made to parse - just the grammar is
324-
processed and displayed. Checking this allows processing of an empty string as input.</td>
333+
processed and displayed. Checking this allows processing of an empty string as input, which is
334+
probably only needed for cetain test cases.</td>
325335
</tr>
326336
<tr>
327337
<td class="option">Treat as records</td>
@@ -348,12 +358,18 @@ Multiple nodes may not be the final parse result:&lt;expression/&gt;,@compare,&l
348358
and not to artefactual marks, such as those used for generated non-terminals implementing
349359
optionality or repetition.</td>
350360
</tr>
361+
<tr>
362+
<td class="option">Indent result</td>
363+
<td>When checked, the results will be displayed as a serialization of the XML tree with indentation
364+
applied. This means that whitespace-only text nodes may be altered or in some cases deleted. If
365+
your application requires strict whitespace preservation, uncheck this option.</td>
366+
</tr>
351367
</tbody>
352368
</table>
353369
</section>
354370
<section>
355371
<h3>
356-
<a id="d2e406">Loading grammars and inputs from external sources</a>
372+
<a id="d2e422">Loading grammars and inputs from external sources</a>
357373
</h3>
358374
<p>Both grammar and input texts can be read from local filestore by using the appropriate 'Choose file' (or
359375
'Browse') button, which permits a file to be read and its text loaded into the textarea. The name of the
@@ -370,7 +386,7 @@ Multiple nodes may not be the final parse result:&lt;expression/&gt;,@compare,&l
370386
<img width="300" src="img10.png"/>
371387
<section>
372388
<h4>
373-
<a id="d2e433">Grammars in XML</a>
389+
<a id="d2e449">Grammars in XML</a>
374390
</h4>
375391
<p>Note that some of these test cases provide the iXML grammar in its XML serialisation form. The workbench
376392
recognises such a situation and will show and use that form, but editing in the textarea under these
@@ -382,11 +398,11 @@ Multiple nodes may not be the final parse result:&lt;expression/&gt;,@compare,&l
382398
</section>
383399
<section>
384400
<h3>
385-
<a id="d2e451">Change history</a>
401+
<a id="d2e467">Change history</a>
386402
</h3>
387403
<section>
388404
<h4>
389-
<a id="d2e455">Version 1.1 - 2022nov01</a>
405+
<a id="d2e471">Version 1.1 - 2022nov01</a>
390406
</h4>
391407
<ul>
392408
<li>Improvements to error reporting.</li>
@@ -396,6 +412,19 @@ Multiple nodes may not be the final parse result:&lt;expression/&gt;,@compare,&l
396412
<li>Corrected ixml serialisation of multi-part (alts) option and repetition constructs.</li>
397413
</ul>
398414
</section>
415+
<section>
416+
<h4>
417+
<a id="d2e489">Version 1.3 - 2023may27</a>
418+
</h4>
419+
<ul>
420+
<li>Tooltip help boxes added.</li>
421+
<li>Improvements to error reporting,- tracing now identifies original source line in case of expanded
422+
repeats and optionals.</li>
423+
<li>Support for 'Tovry-Walsh' repetition and optional rewrites.</li>
424+
<li>Addition of 'permit missing non-terminals' option, for grammar combination testing.</li>
425+
<li>Addition of 'identation suppression' in result XML (for cases with significant whitespace)</li>
426+
</ul>
427+
</section>
399428
</section>
400429
</body>
401430
</html>

0 commit comments

Comments
 (0)