From aab738a109514bf67e93c4d37b92caf69c151258 Mon Sep 17 00:00:00 2001 From: Kevin Day Date: Wed, 28 Aug 2024 22:27:03 -0500 Subject: [PATCH] Update: Clarify the FSS-0002 and FSS-0003 standards regarding the white space before and after a valid Object. I updated my 0.7 code and back ported some of the generated runtime tests. I discovered problems and realized that the standard could be more clear according to the spaces before and after the Object. This does not change the FSS-0002 and FSS-0003 standards in any functional way. The simply clarifies the standard regarding the spaces to make it more clear and reduce the chances for a mistake. --- specifications/fss-0002.txt | 11 +++++++---- specifications/fss-0003.txt | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/specifications/fss-0002.txt b/specifications/fss-0002.txt index 715f73b..08dc45c 100644 --- a/specifications/fss-0002.txt +++ b/specifications/fss-0002.txt @@ -1,7 +1,7 @@ # fss-0002 iki-0000 # # license open-standard-license-1.0-or-later -# version 2024/01/15 +# version 2024/08/29 # # This file (assumed to be named fss-0002.txt) can be more easily read using the following iki_read commands: # iki_read fss-0002.txt +Q -w -WW character "'" "'" code '"' '"' @@ -11,17 +11,20 @@ # Featureless Settings Specification: 0002 - Basic List: - Each Object starts at the beginning of a line and white space to the left of the Object is not treated as an object. + 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 character:":" (unicode:"U+003A") followed by any white space until a new line terminates a valid Object. Non-white space printable characters may not follow the colon of a valid Object. + White space to the right of the last printable character before the colon character:":" (unicode:"U+003A") is considered part of the Object. + Implementations of the standard may choose to ignore the white space to the right of the last printable character of an Object by treating it as a trimmed Object (which is not the full Object). + Implementations of the standard may choose to include the white space to the left of the first printable character of an Object but this is not the true Object (useful for reproduction of original data). - 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. + 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. Any Content that could be interpreted as a valid Object must have the colon delimited. There is no single-quote (unicode:"U+0027"), double-quote (unicode:"U+0022"), or grave (unicode:"U+0060") delimitation in this specification. Only a colon character:":" (unicode:"U+003A") that would result in a valid Object can be delimited. - Empty Objects are allowed, that is, the length of the object may be zero. + Empty Objects are allowed, that is, the length of the Object may be zero. Key\: code:"\s" = White space, except new line. diff --git a/specifications/fss-0003.txt b/specifications/fss-0003.txt index 652d598..1f1f508 100644 --- a/specifications/fss-0003.txt +++ b/specifications/fss-0003.txt @@ -1,7 +1,7 @@ # fss-0002 iki-0000 # # license open-standard-license-1.0-or-later -# version 2024/01/15 +# version 2024/08/29 # # This file (assumed to be named fss-0003.txt) can be more easily read using the following iki_read commands: # iki_read fss-0003.txt +Q -w -WW character "'" "'" code '"' '"' @@ -11,12 +11,15 @@ # Featureless Settings Specification: 0003 - Extended List: - Each Object starts at the beginning of a line and white space to the left of the Object is not treated as an object. + 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 character:"{" (unicode:"U+007B") followed by any white space until a new line terminates a possible valid Object. An Object is not considered fully valid until a valid close-brace character:"}" (unicode:"U+007D") is found, designating the end of the Content. Non-white space printable characters may not follow the open-brace character:"{" (unicode:"U+007B") of a valid Object. + White space to the right of the last printable character before the open-brace character:"{" (unicode:"U+007B") is considered part of the Object. + Implementations of the standard may choose to ignore the white space to the right of the last printable character of an Object by treating it as a trimmed Object (which is not the full Object). + Implementations of the standard may choose to include the white space to the left of the first printable character of an Object but this is not the true Object (useful for reproduction of original data). - 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 character:"}" (unicode:"U+007D"). + 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 character:"}" (unicode:"U+007D"). Any Content column that could be interpreted as an end of Content must be delimited if it should be part of the Content. White space may follow a valid close-brace character:"}" (unicode:"U+007D") but a terminating new line must be present to designate a valid end of Content. @@ -29,7 +32,7 @@ Featureless Settings Specification: 0003 - Extended List: Each delimit slash in a delimitable open-brace character:"{" (unicode:"U+007B") is treated as a potential delimit such that two slashes represents a single delimited slash (code:"\\{" would represent code:"\{"). Only the first delimit slash in a delimitable close-brace character:"}" (unicode:"U+007D") is treated as a potential delimit (code:"\\\}" would represent code:"\\}"). - Empty Objects are allowed, that is, the length of the object may be zero. + Empty Objects are allowed, that is, the length of the Object may be zero. Key\: code:"\s" = White space, except new line. -- 1.8.3.1