]> Kevux Git Server - kevux.org-website/commitdiff
Update: Specifications to reflect recent clarifications and corrections.
authorKevin Day <thekevinday@gmail.com>
Thu, 2 Jun 2022 04:37:10 +0000 (23:37 -0500)
committerKevin Day <thekevinday@gmail.com>
Thu, 2 Jun 2022 04:37:10 +0000 (23:37 -0500)
fll/specifications.html
fll/specifications/fss/fss-0000.html
fll/specifications/fss/fss-0001.html
fll/specifications/fss/fss-0002.html
fll/specifications/fss/fss-0003.html
fll/specifications/fss/fss-0009.html
fll/specifications/fss/fss-000a.html
fll/specifications/fss/fss-000b.html

index 934faf3db550bdd39eb22ce187e2b2a8890e3dde..a5b3c4468303f34f87bddb1395f2bec38be7cc73 100644 (file)
               <p>
                 Objects and Contents can include any characters allowed by the specifications.
                 The specification may choose how a given Object or Content are represented and parsed.
-                For example, in <code class="code">fss-0000 (Basic)</code>, Content is treated as a single item whereas in <code class="code">fss-0001 (Extended)</code>, Content is broken apart in multiple sub parts.
+                For example, in <code class="code">fss-0000 (Basic)</code>, Content is treated as a single item whereas in <code class="code">fss-0001 (Extended)</code>, Content is broken apart in multiple sub-parts.
               </p>
               <p>
                 Contents may be broken up into zero or more discrete sets of Content.
               <p>
                 Unless otherwise specified, all specifications are newline sensitive (<code class="code">\n</code> only).
                 Newline characters are only <code class="code">\n</code> and are never anything else (<code class="code">\r</code> is not considered newline in any manner).
+                These specifications refer to characters that have printable representation as <em>printable</em>.
+                These specifications refer to characters that have no printable representation as <em>non-printable</em>.
+
                 White spaces characters that are printable, such as tabs and spaces, must be considered the same type for the purposes of parsing.
-                Non-printing white spaces characters (zero-width characters) are ignored, are treated as placeholders for processing, or are considered part of the appropriate character if they are Unicode combining characters (this includes zero-width punctuation characters and similar).
+                Non-printing white spaces characters (zero-width characters) are ignored, are treated as placeholders for processing with the exception of combining characters.
+                White spaces that use combining characters result in printable characters and the resulting combination is treated as not white space.
+                Zero-width characters that use combining characters are treated as non-printing characters and are skipped.
                 In terms of processing, it is recommended that the <code class="code">NULL</code> character is not considered the end of a string, but this is only a suggestion.
+                Any specification may chose to limit, restrict, or otherwise prohibit special Unicode characters such as combining characters or zero-width characters.
               </p>
               <p>
                 Unless otherwise specified, newlines designate the potential start (or end) of an Object or Content.
index 6f1260ea12b8ccb19d6b4cbe235f6c5dd6245057..3551667289252a097125f8cc9c43b3ae16a7e3c6 100644 (file)
@@ -82,7 +82,7 @@
                 Each Object starts at the beginning of a line and white space to the left of the Object is not treated as part of the object.
                 White space separates an Object from the Content.
                 An Object may be preceded by a newline, in which case means that the Object has no Content.
-                If only printing white space follows a valid Object, that Object is considered to have no Content.
+                If only printing white spaces or non-printable characters follow a valid Object, then that Object is considered to have no Content.
               </p>
               <p>
                 Content exists on the same line as the Object.
index c3dadd50d0d05d77660fe2a315494593ec3a1ebd..fccb4f125f0244d7e332ec064cb32e9f5abc10c3 100644 (file)
@@ -82,7 +82,7 @@
                 Each Object starts at the beginning of a line and white space to the left of the Object is not treated as an object.
                 White space separates an Object from the Content.
                 An Object may be followed by a newline, in which case means that the Object has no Content.
-                If only printing white space follows a valid Object, that Object is considered to have no Content.
+                If only printing white spaces or non-printable characters follow a valid Object, then that Object is considered to have no Content.
               </p>
               <p>
                 Content exists on the same line as the Object.
index 63fdc6ded65dfb8385b9ff58a2a4b07f80f1b4bb..edfc6e1f50055419e6d0d7d508dd1cd14a3b5138 100644 (file)
@@ -80,8 +80,8 @@
             <div class="section-content">
               <p>
                 Each Object starts at the beginning of a line and white space to the left of the Object is not treated as an object.
-                A colon followed by any white space until a newline terminates a valid Object.
-                Non-white space may not follow the colon of a valid Object.
+                A colon <code class="code">:</code> (<code class="code">U+003A</code>) followed by any white space until a newline terminates a valid Object.
+                Non-white space printable characters may not follow the colon of a valid Object.
               </p>
               <p>
                 Content is represented as a single Content column of every line following a valid object until the end of file (or string) or until the next valid Object is found.
@@ -99,8 +99,8 @@
               </p>
               <ul>
                 <li><code class="code">\s</code> = White space, except newline.</li>
-                <li><code class="code">\o</code> = Any printable character, except unescaped ':'.</li>
-                <li><code class="code">\l</code> = Any printable character or white space, except unescaped ':'.</li>
+                <li><code class="code">\o</code> = Any printable character, except unescaped <code class="code">:</code> (<code class="code">U+003A</code>).</li>
+                <li><code class="code">\l</code> = Any printable character or white space, except unescaped <code class="code">:</code> (<code class="code">U+003A</code>).</li>
                 <li><code class="code">\c</code> = either white space or printable, including newline, that not interpretable as an Object.</li>
                 <li><code class="code">\n</code> = Newline.</li>
                 <li><code class="code">*</code> = Zero or more occurrences.</li>
index f40fb78bed2ac5bd9673a0a74cf7bd657dbb5df5..1261ee8d301782a855c9e0889994340649e13dbc 100644 (file)
@@ -80,9 +80,9 @@
             <div class="section-content">
               <p>
                 Each Object starts at the beginning of a line and white space to the left of the Object is not treated as an object.
-                An open-brace <code class="code">{</code> followed by any white space until a newline terminates a possible valid Object.
-                An Object is not considered fully valid until a valid close-brace <code class="code">}</code> is found, designating the end of the Content.
-                Non-white space may not follow the open-brace of a valid Object.
+                An open-brace <code class="code">{</code> (<code class="code">U+007B</code>) followed by any white space until a newline terminates a possible valid Object.
+                An Object is not considered fully valid until a valid close-brace <code class="code">}</code> (<code class="code">U+007D</code>) is found, designating the end of the Content.
+                Non-white space printable characters may not follow the open-brace of a valid Object.
               </p>
               <p>
                 Content is represented as a single Content column of every line following a valid object until the end of file (or string) or until a non-delimited close-brace <code class="code">}</code>.
               </p>
               <ul>
                 <li><code class="code">\s</code> = White space, except newline.</li>
-                <li><code class="code">\o</code> = Any printable character, except unescaped <code class="code">{</code>.</li>
-                <li><code class="code">\l</code> = Any printable character or white space, except unescaped <code class="code">}</code>.</li>
+                <li><code class="code">\o</code> = Any printable character, except unescaped <code class="code">{</code> (<code class="code">U+007B</code>).</li>
+                <li><code class="code">\l</code> = Any printable character or white space, except unescaped <code class="code">}</code> (<code class="code">U+007D</code>).</li>
                 <li><code class="code">\c</code> = Either white space or printable, including newline, that is not interpretable as an Object.</li>
                 <li><code class="code">\n</code> = Newline.</li>
                 <li><code class="code">*</code> = Zero or more occurrences.</li>
index 6d125398eea93eb75dc5ae5bce002d1cab88c45c..5bd904eb769e458ddcdc91ba43c04fd24f7bf2e7 100644 (file)
@@ -85,7 +85,7 @@
                 Each Object starts at the end of a line and white space to the left of the Object is not treated as part of the object.
                 White space separates an Object from the Content.
                 An Object may be preceded by a newline, in which case means that the Object has no Content.
-                If only printing white space precedes a valid Object, that Object is considered to have no Content.
+                If only printing white spaces or non-printable characters precedes a valid Object, then that Object is considered to have no Content.
               </p>
               <p>
                 Content exists on the same line as the Object.
index 066b8fddc0221df5e61a7a418e848885f0872af9..aa21d5f1eed560245412698571e2c7e5ed7a109d 100644 (file)
@@ -85,7 +85,7 @@
                 Each Object starts at the end of a line and white space to the left of the Object is not treated as an object.
                 White space separates an Object from the Content.
                 An Object may be followed by a newline, in which case means that the Object has no Content.
-                If only printing white space follows a valid Object, that Object is considered to have no Content.
+                If only printing white spaces or non-printable characters follow a valid Object, then that Object is considered to have no Content.
               </p>
               <p>
                 Content exists on the same line as the Object.
index 2587b6532425ce209f0c79ea30b0e5b2f9842b9d..a0ce7ce3540b31837545ee434e44b36589a02494 100644 (file)
@@ -79,7 +79,7 @@
 
             <div class="section-content">
               <p>
-                This might be similar to <code class="code">fss-0008 (Embedded List)</code>, except it is an <code class="code">fss-0003 (Extended List)</code> with a (non-recursive) <code class="code">fss-0002 (Basic List)</code> inside the Content.
+                This is similar to <code class="code">fss-0008 (Embedded List)</code>, except it is an <code class="code">fss-0003 (Extended List)</code> with a (non-recursive) <code class="code">fss-0002 (Basic List)</code> inside the Content.
               </p>
               <p>
                 See the <a href="fll/specifications/fss/fss-0002.html" class="link">fss-0002 (Basic List)</a> and <a href="fll/specifications/fss/fss-0003.html" class="link">fss-0003 (Extended List)</a> specifications for details on the syntax rules.