]> Kevux Git Server - kevux.org-website/commitdiff
Update: Bring speciication related documents files up to date.
authorKevin Day <kevin@kevux.org>
Fri, 29 Mar 2024 04:26:58 +0000 (23:26 -0500)
committerKevin Day <kevin@kevux.org>
Fri, 29 Mar 2024 04:26:58 +0000 (23:26 -0500)
33 files changed:
documents/standards/controller/documents/entry.txt
documents/standards/controller/specifications/entry.txt
documents/standards/controller/specifications/packet.txt
documents/standards/fake/documents/fakefile.txt
documents/standards/fake/documents/settings.txt
documents/standards/fake/specifications/defines.txt
documents/standards/fake/specifications/dependencies.txt
documents/standards/fake/specifications/fakefile.txt
documents/standards/fake/specifications/settings.txt
documents/standards/fll/specifications/fss-0000.txt
documents/standards/fll/specifications/fss-0001.txt
documents/standards/fll/specifications/fss-0002.txt
documents/standards/fll/specifications/fss-0003.txt
documents/standards/fll/specifications/fss-0004.txt
documents/standards/fll/specifications/fss-0005.txt
documents/standards/fll/specifications/fss-0006.txt
documents/standards/fll/specifications/fss-0007.txt
documents/standards/fll/specifications/fss-0008.txt
documents/standards/fll/specifications/fss-0009.txt
documents/standards/fll/specifications/fss-000a.txt
documents/standards/fll/specifications/fss-000b.txt
documents/standards/fll/specifications/fss-000c.txt
documents/standards/fll/specifications/fss-000d.txt
documents/standards/fll/specifications/fss-000e.txt
documents/standards/fll/specifications/fss-000f.txt
documents/standards/fll/specifications/fss-0010.txt [new file with mode: 0644]
documents/standards/fll/specifications/fss.txt
documents/standards/fll/specifications/iki-0000.txt
documents/standards/fll/specifications/iki-0001.txt
documents/standards/fll/specifications/iki-0002.txt
documents/standards/fll/specifications/iki.txt
documents/standards/fll/specifications/resolution.txt [new file with mode: 0644]
documents/standards/fll/specifications/time.txt

index 891a134a23d2a3e9c7c246bb2e715721dbd9212a..394fd95826e898a161a37156313e4f8435120ac8 100644 (file)
@@ -60,10 +60,19 @@ Entry Documentation:
 
     - The code:"mode" setting\:
       Represents the mode in which the Entry is operating in.
-      The following modes are supported: code:"program" and code:"service".
+      The following modes are supported: code:"helper", code:"program", and code:"service".
+
+      - The code:"helper" mode\:
+        Designates that the Entry operates as a helper for starting programs or performing actions and exits when complete.
+        On exit, any background (asynchronous) processes are not cancelled.
+        If terminated, the foreground (synchronous) process is cancelled.
+        Will call the code:"exit" with the same name as this Entry, but with the extension code:"exit", such as code:"default.exit".
+        Supports the Item Action code:"execute" to execute a program (switching the code:"controller" program entirely with the executed process).
 
       - The code:"program" mode\:
         Designates that the Entry operates as a program and exits when complete.
+        On exit, any background (asynchronous) processes are also cancelled.
+        If terminated, the foreground (synchronous) process is cancelled.
         Will call the code:"exit" with the same name as this Entry, but with the extension code:"exit", such as code:"default.exit".
         Supports the Item Action code:"execute" to execute a program (switching the code:"controller" program entirely with the executed process).
 
index ef38cdf8a0193e45070b04c4223dc235b148a664..92ceeea8e87f5aa4c42d78fd031a63d6ce6bbc14 100644 (file)
@@ -33,7 +33,7 @@ Entry Specification:
       - code:"control_mode": Exactly one Content that is a valid file mode.
       - code:"control_user": Exactly one Content that is a user name or user id.
       - code:"define": Two Content, the first Content must be a case-sensitive valid environment variable name (alpha-numeric or underscore, but no leading digits).
-      - code:"mode": Exactly one Content that is one of code:"program" or code:"service".
+      - code:"mode": Exactly one Content that is one of code:"helper", code:"program", or code:"service".
       - code:"parameter": Two Content, the first Content must be a case-sensitive valid IKI name and the second being an IKI value.
       - code:"pid": Exactly one Content that is one of code:"disable", code:"require", or code:"ready".
       - code:"pid_file": Exactly one Content that is a relative or absolute path to a pid file.
index 91d2bb6fc3642b0d1e85b40d4d1e13526561e6fd..b76ee3e01e363b7ed14331b84f66df00fa3a0175 100644 (file)
@@ -24,13 +24,13 @@ Packet Specification:
   The code:"header" Object contains the following code:"FSS-0001 (Extended)" Objects (depending on code:"type")\:
     - code:"action": A valid action type: code:"freeze", code:"kexec", code:"kill", code:"pause", code:"reboot", code:"reload", code:"rerun", code:"restart", code:"resume", code:"shutdown", code:"start", code:"stop", or code:"thaw".
     - code:"length": A positive whole number inclusively between 0 and 4294965248 representing the length of the code:"payload" (may be in binary, octal, decimal, duodecimal, or hexidecimal).
-    - code:"status": The status code name or number representing an FSS status code, such as F_none, F_failure, or 200 (where a number may have error and warning bits and may be in binary, octal, decimal, duodecimal, or hexidecimal).
+    - code:"status": The status code name or number representing an FSS status code, such as F_okay, F_failure, or 200 (where a number may have error and warning bits and may be in binary, octal, decimal, duodecimal, or hexidecimal).
     - code:"type": The packet type that is one of code:"controller", code:"error", or code:"init".
 
   When there are multiple Objects of the same name inside the code:"header"\:
     - code:"action": The order represents the order in which the actions are performed.
     - code:"length": There may only be one length Object, all others after the first are ignored (may be in binary, octal, decimal, duodecimal, or hexidecimal).
-    - code:"status": A status for each action, in the same order as the order of the action, such as F_none, F_failure, or 200 (where a number may have error and warning bits and may be in binary, octal, decimal, duodecimal, or hexidecimal).
+    - code:"status": A status for each action, in the same order as the order of the action, such as F_okay, F_failure, or 200 (where a number may have error and warning bits and may be in binary, octal, decimal, duodecimal, or hexidecimal).
     - code:"type": The first represent the type and all others represents a sub-type.
 
   There are different headers and payload properties based on the code:"type".
index 017bbf80f437d5fe72efb209b58e1db49fe06774..e9b6fc0659410af6d15d42d07d468fcb6a39a131 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
 # license: open-standard-license-1.0
+# version 2024/03/23
 #
 # This file (assumed to be named fakefile.txt) can be more easily read using the following iki_read commands:
 #   iki_read fakefile.txt +Q -w -rrr ASCII ASCII GCC GCC HTML HTML -WW character "'" "'" code '"' '"'
@@ -20,6 +21,8 @@ Fakefile Documentation:
     Any configuration specific to this file:"fakefile" is stored here.
     This includes the declaration of define and parameter IKI variable substitution values.
 
+    If multiple bold:"Objects" of the same name exist and that bold:"Object" only supports a single value, then only the bold:"Content" from the last same named bold:"Object" is used.
+
     The build settings may also be specified in the bold:"Settings Section".
 
     The following settings are available (in addition to the build settings)\:
@@ -63,8 +66,6 @@ Fakefile Documentation:
       Absolute paths that start with code:"./" are relative to the project root rather than the importing file.
       Absolute paths that start with code:"/" are treated normally.
 
-      This is neither implemented nor supported by Featureless Make 0.6.x and earlier.
-
     - code:"indexer"\:
       This represents the name of the indexer program to use, such as code:"ar".
       An indexer is often called a linker.
@@ -230,62 +231,62 @@ Fakefile Documentation:
       For all conditions that rely on numbers, only whole numbers are (currently) supported.
 
       conditions\:
-        - code:"== \"left\" \"right\""\:
+        - code:"== 'left' 'right'"\:
           Compare all parameters to be equal.
           Requires 2 or more after the code:"==".
           For example, code:"if == 'a' 'b' 'c' 'd'" would test: code:"'a' == 'b' && 'b' == 'c' && 'c' == 'd'".
           This performs only string-based comparisons.
 
-        - code:"> \"left string\" \"right string\""\:
+        - code:"> 'left string' 'right string'"\:
           Compare code:"left" to code:"right" for greater than.
           Requires 2 or more after the code:">".
           For example, code:"if > 0 1 2 3" would test: code:"0 > 1 && 1 > 2 && 2 > 3".
           This performs only number-based comparisons.
 
-        - code:"< \"left string\" \"right string\""\:
+        - code:"< 'left string' 'right string'"\:
           Compare code:"left" to code:"right" for less than.
           Requires 2 or more after the code:">".
           For example, code:"if < 0 1 2 3" would test: code:"0 < 1 && 1 < 2 && 2 < 3".
           This performs only number-based comparisons.
 
-        - code:">= \"left string\" \"right string\""\:
+        - code:">= 'left string' 'right string'"\:
           Compare code:"left" to code:"right" for greater than or equal to.
           Requires 2 or more after the code:">=".
           For example, code:"if >= 0 1 2 3" would test: code:"0 >= 1 && 1 >= 2 && 2 >= 3".
           This performs only number-based comparisons.
 
-        - code:"<= \"left string\" \"right string\""\:
+        - code:"<= 'left string' 'right string'"\:
           Compare code:"left" to code:"right" for less than or equal to.
           Requires 2 or more after the code:">=".
           For example, code:"if <= 0 1 2 3" would test: code:"0 <= 1 && 1 <= 2 && 2 <= 3".
           This performs only number-based comparisons.
 
-        - code:"<> \"left\" \"right\""\:
+        - code:"<> 'left' 'right'"\:
           Compare all parameters to be not equal.
           Requires 2 or more after the code:"==".
           For example, code:"if <> 'a' 'b' 'c'" would test: code:"'a' <> 'b' && 'b' <> 'c' && 'a' <> 'c'".
           This performs only string-based comparisons.
 
-        - code:"define \"some define name\""\:
+        - code:"define 'some define name'"\:
           Test if one or more names are defined as an environment variable.
           For example, code:"if define PWD SHELL" would test if both the code:"PWD" and the code:"SHELL" variables are defined via the environment variables.
 
-        - code:"exist \"file path\""\:
+        - code:"exist 'file path'"\:
           Test if file exists.
-          For example, code:"if exist \"a.txt\" \"b.txt\"" would test if both the file code:"a.txt" and code:"b.txt" exist.
+          For example, code:"if exist 'a.txt' 'b.txt'" would test if both the file code:"a.txt" and code:"b.txt" exist.
 
         - code:"failure"\:
           Test if the previous section operation failed.
 
-        - code:"group \"some mode\" \"some file\""\:
+        - code:"group 'some mode' 'some file'"\:
           For example, code:"if group friends a.txt b.txt" would test if both file code:"a.txt" and code:"b.txt" have a group named code:"we".
 
-        - code:"is block character directory fifo link regular socket for \"file path\""\:
+        - code:"is block character directory fifo link regular socket for 'file path'"\:
           Test if one or more files exist and if each file is any of the given types.
           The given types must be followed by code:"for" to designate where the the file paths begin.
-          For example, code:"if is regular directory for \"a.txt\" \"b.txt\"" would test if both the file code:"a.txt" and code:"b.txt" exist and are either of type code:"regular" or type code:"directory".
+          For example, code:"if is regular directory for 'a.txt' 'b.txt'" would test if both the file code:"a.txt" and code:"b.txt" exist and are either of type code:"regular" or type code:"directory".
 
-        - code:"mode is/has \"some mode\" \"some file\""\:
+        - code:"mode is/has 'some mode' 'some file'"\:
           Test if one or more files has the exact mode (code:"is") or has at least the given modes (code:"has").
           For example, code:"if mode is u+r a.txt b.txt" would test if both file code:"a.txt" and code:"b.txt" only have owner set to read.
           For example, code:"if mode has u+r a.txt b.txt" would test if both file code:"a.txt" and code:"b.txt" has owner set to read, and all other modes can be anything.
@@ -307,11 +308,11 @@ Fakefile Documentation:
             - code:"if not parameter work"
             - code:"if not exist documentation.txt"
 
-        - code:"owner \"some mode\" \"some file\""\:
+        - code:"owner 'some mode' 'some file'"\:
           Test if one or more files has the given owner.
           For example, code:"if owner me a.txt b.txt" would test if both file code:"a.txt" and code:"b.txt" have an owner named code:"me".
 
-        - code:"parameter \"some parameter name\""\:
+        - code:"parameter 'some parameter name'"\:
           Test if one or more names are defined as a code:"parameter" variable.
           For example, code:"if parameter verbose silent" would test if both the code:"verbose" and the code:"silent" variables are defined via the code:"parameter" setting.
 
@@ -336,13 +337,16 @@ Fakefile Documentation:
             - code:"current": The absolute path to the current working directory (present working directory) (Always has a trailing forward slash).
             - code:"data": Associated with code:"-D/--data" parameter.
             - code:"define": Associated with code:"-d/--define" parameter.
+            - code:"documents": Associated with code:"-O/--documents" parameter.
             - code:"fakefile": Associated with code:"-f/--fakefile" parameter.
+            - code:"licenses": Associated with code:"-l/--licenses" parameter.
             - code:"mode": Associated with code:"-m/--mode" parameter and possibly with the build settings default mode code:"modes_default".
             - code:"process": Associated with code:"-p/--process" parameter.
             - code:"return": Contains the return value of a previous operation that produces a return code.
             - code:"settings": Associated with code:"-s/--settings" parameter.
             - code:"sources": Associated with code:"-S/--sources" parameter.
             - code:"top": The absolute path to the code:"top" directory, which is the base project directory (Always has a trailing forward slash).
+            - code:"under": Associated with code:"-U/--under" parameter.
             - code:"verbosity": Associated with code:"+Q/++quiet", code:"+E/++error", code:"+N/++normal", code:"+V/++verbose", and code:"+D/++debug" parameters.
             - code:"work": Associated with code:"-w/--work" parameter.
 
@@ -528,12 +532,12 @@ Fakefile Documentation:
   - code:"context"\:
     The context Object represents a name representing simple context or complex combination of context.
     Context should wrap some text such that if some text begins with some context, the context should be reset at the end.
-    The most basic context is color context, such as: code:"context:\"notice\" This is emphasized text context:\"reset\"".
+    The most basic context is color context, such as: code:"context\:'notice' This is emphasized text context\:'reset'".
 
     The use of IKI in this way is acceptable but it is not perfect.
     IKI is not designed to be a replacement to markup.
-    The markup code:"<strong>Example</strong>" vs the IKI code:"context:\"notable\" Example context:\"notable\"" has obvious differences in the spaces.
-    The IKI by design cannot be used like this: code:"context:\"notable\"Examplecontext:\"notable\"" because the word code:"Example" and the word code:"context" collide.
+    The markup code:"<strong>Example</strong>" vs the IKI code:"context\:'notable' Example context\:'notable'" has obvious differences in the spaces.
+    The IKI by design cannot be used like this: code:"context\:'notable'Examplecontext\:'notable'" because the word code:"Example" and the word code:"context" collide.
 
     This context will respect the programs code:"++light", code:"++dark", and code:"++no_color" parameters.
 
@@ -574,13 +578,21 @@ Fakefile Documentation:
       This supports both code:":option" and code:":value".
 
     - code:"define"\:
-      This variable holds the code:"data" program parameters, such as code:"-d define/".
+      This variable holds the code:"define" program parameters, such as code:"-d define/".
+      This supports both code:":option" and code:":value".
+
+    - code:"documents"\:
+      This variable holds the code:"documents" program parameters, such as code:"-O documents/".
       This supports both code:":option" and code:":value".
 
     - code:"fakefile"\:
       This variable holds the code:"fakefile" program parameters, such as code:"-f fakefile".
       This supports both code:":option" and code:":value".
 
+    - code:"licenses"\:
+      This variable holds the code:"licenses" program parameters, such as code:"-l licenses/".
+      This supports both code:":option" and code:":value".
+
     - code:"mode"\:
       This variable holds the code:"fakefile" program parameters, such as code:"-m monolithic".
       This supports both code:":option" and code:":value".
@@ -598,7 +610,11 @@ Fakefile Documentation:
       This supports both code:":option" and code:":value".
 
     - code:"sources"\:
-      This variable holds the code:"data" program parameters, such as code:"-S sources/".
+      This variable holds the code:"sources" program parameters, such as code:"-S sources/".
+      This supports both code:":option" and code:":value".
+
+    - code:"under"\:
+      This variable holds the code:"under" program parameters, such as code:"-U under/".
       This supports both code:":option" and code:":value".
 
     - code:"verbosity"\:
index b8818da33e5c3282c4294f003c394f6303327f69..957a7e15ed81addb1d9b2e85267aa5770f2fa486 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
 # license: open-standard-license-1.0
+# version 2024/03/23
 #
 # This file (assumed to be named settings.txt) can be more easily read using the following iki_read commands:
 #   iki_read settings.txt +Q -w -rrr ASCII ASCII FLL FLL GCC GCC -WW character "'" "'" code '"' '"'
@@ -103,8 +104,7 @@ Settings Documentation:
 
   - code:"build_script"\:
     When code:"yes", the build process will build any scripts, such as a Bash script.
-
-    This is neither implemented nor supported by Featureless Make 0.6.x and earlier.
+    This is currently not implemented.
 
   - code:"build_shared"\:
     When code:"yes", the build process will compile any source code for any supported language that supports shared library linking.
@@ -152,26 +152,29 @@ Settings Documentation:
     These are applied to only static builds.
 
   - code:"build_sources_object"\:
-    A single source file used for generating an object file.
-    The source file is located within the path designated by code:"path_sources_object".
-    The built object does not get linked and therefore no linker arguments apply.
-    The built object file is named using the code:"build_name" with the code:".o" extension.
-    May include a relative sub-path to each individual source file (such as: code:"level_0/a.c").
+    A collection of source files used for generating an object file with the same name as each source file.
+    The source files are located within the path designated by code:"path_sources_object".
+    The built objects do not get linked and therefore no linker arguments apply.
+    The built object files are named using the same name as the file with the file extension changed to the code:".o" extension.
+    May include a relative sub-path to each individual source file (such as: code:"level_0/a.c level_0/b.c").
+    This is different from code:"build_sources_object" in that multiple files are supported and multiple object files are created.
 
   - code:"build_sources_object_shared"\:
-    A single source file used for generating an object file.
-    The source file is located within the path designated by code:"path_sources_object".
-    The built object does not get linked and therefore no linker arguments apply.
-    The built object file is named using the code:"build_name" with the code:".o" extension.
-    May include a relative sub-path to each individual source file (such as: code:"level_0/a.c").
+    A collection of source files used for generating an object file with the same name as each source file.
+    The source files are located within the path designated by code:"path_sources_object".
+    The built objects do not get linked and therefore no linker arguments apply.
+    The built object files are named using the same name as the file with the file extension changed to the code:".o" extension.
+    May include a relative sub-path to each individual source file (such as: code:"level_0/a.c level_0/b.c").
+    This is different from code:"build_sources_object" in that multiple files are supported and multiple object files are created.
     These are applied to only shared builds.
 
   - code:"build_sources_object_static"\:
-    A single source file used for generating an object file.
-    The source file is located within the path designated by code:"path_sources_object".
-    The built object does not get linked and therefore no linker arguments apply.
-    The built object file is named using the code:"build_name" with the code:".o" extension.
-    May include a relative sub-path to each individual source file (such as: code:"level_0/a.c").
+    A collection of source files used for generating an object file with the same name as each source file.
+    The source files are located within the path designated by code:"path_sources_object".
+    The built objects do not get linked and therefore no linker arguments apply.
+    The built object files are named using the same name as the file with the file extension changed to the code:".o" extension.
+    May include a relative sub-path to each individual source file (such as: code:"level_0/a.c level_0/b.c").
+    This is different from code:"build_sources_object" in that multiple files are supported and multiple object files are created.
     These are applied to only static builds.
 
   - code:"build_sources_program"\:
@@ -362,8 +365,6 @@ Settings Documentation:
     Absolute paths that start with "./" are relative to the project root rather than the importing file.
     Absolute paths that start with "/" are treated normally.
 
-    This is neither implemented nor supported by Featureless Make 0.6.x and earlier.
-
   - code:"modes"\:
     A collection of available build modes.
     Build modes provide custom variants of the build process where certain bold:"settings" are appended onto others.
@@ -387,8 +388,7 @@ Settings Documentation:
     A sub-path representing the destination where the built library script files are placed.
 
     This defaults to code:"script".
-
-    This is neither implemented nor supported by Featureless Make 0.6.x and earlier.
+    This is currently not implemented.
 
   - code:"path_library_shared"\:
     A sub-path representing the destination where the built shared library files are placed.
@@ -404,8 +404,7 @@ Settings Documentation:
     A sub-path representing the destination where the built object script files are placed.
 
     This defaults to code:"script".
-
-    This is neither implemented nor supported by Featureless Make 0.6.x and earlier.
+    This is currently not implemented.
 
   - code:"path_object_shared"\:
     A sub-path representing the destination where the built object library files are placed.
@@ -421,8 +420,7 @@ Settings Documentation:
     A sub-path representing the destination where the built program script files are placed.
 
     This defaults to code:"script".
-
-    This is neither implemented nor supported by Featureless Make 0.6.x and earlier.
+    This is currently not implemented.
 
   - code:"path_program_shared"\:
     A sub-path representing the destination where the built shared program files are placed.
@@ -439,12 +437,36 @@ Settings Documentation:
 
     This defaults to code:"sources".
 
+  - code:"path_sources_headers"\:
+    A sub-path representing where the header source files are found.
+    This is used by code:"build_sources_headers".
+
+    This defaults to code:"sources".
+
+  - code:"path_sources_library"\:
+    A sub-path representing where the library source files are found.
+    This is used by code:"build_sources_library".
+
+    This defaults to code:"sources".
+
   - code:"path_sources_object"\:
     A sub-path representing where the object source files are found.
     This is used by code:"build_sources_object".
 
     This defaults to code:"sources".
 
+  - code:"path_sources_program"\:
+    A sub-path representing where the program source files are found.
+    This is used by code:"build_sources_program".
+
+    This defaults to code:"sources".
+
+  - code:"path_sources_script"\:
+    A sub-path representing where the script source files are found.
+    This is used by code:"build_sources_script".
+
+    This defaults to code:"sources".
+
   - code:"preserve_path_headers"\:
     When this is code:"yes", then the relative directory structure in the source (as defined in code:"build_sources_headers") is preserved.
     If the code:"build_sources_headers" has the header files code:"xxx/a.h yyy/zzz/b.h" and this is code:"yes", then the directories code:"xxx/" and code:"yyy/zzz/" are created and the files are stored within them.
index efc35a34ab7a82ef1219af9cc514ffe824ab1d0a..b85fb6b7f03fd59eb00c5f50833c0b80a2d1a7d8 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
 # license: open-standard-license-1.0
+# version 2024/03/23
 #
 # This file (assumed to be named defines.txt) can be more easily read using the following iki_read commands:
 #   iki_read defines.txt +Q -w -WW code '"' '"' bold '"' '"'
index ad4266fbb8b2af4f12fbb33791c691776d5ae2cf..0983e5c7f234ee1b4f8ba3f6c2248bf90fe46c78 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
 # license: open-standard-license-1.0
+# version 2024/03/23
 #
 # This file (assumed to be named dependencies.txt) can be more easily read using the following iki_read commands:
 #   iki_read dependencies.txt +Q -w -r FLL FLL -WW code '"' '"' bold '"' '"'
index a6b2f0c4b4956c6898a5745774036889eb4b8044..dcd3bb41045aaa9fe10556d999a63fd1f1419c34 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
 # license: open-standard-license-1.0
+# version 2024/03/23
 #
 # This file (assumed to be named fakefile.txt) can be more easily read using the following iki_read commands:
 #   iki_read fakefile.txt +Q -w -WW character "'" "'" code '"' '"'
@@ -124,5 +125,5 @@ Fakefile Specification:
       - code:"<="
 
   The code:"if" bold:"Section Operation" condition code:"parameter"\:
-    The following reserved words are available for parameter names: code:"build", code:"color", code:"current", code:"data", code:"define", code:"fakefile", code:"mode", code:"process", code:"return", code:"settings", code:"sources", code:"top", code:"verbosity", and code:"work".
+    The following reserved words are available for parameter names: code:"build", code:"color", code:"current", code:"data", code:"documents", code:"define", code:"fakefile", code:"licenses", code:"mode", code:"process", code:"return", code:"settings", code:"sources", code:"top", code:"under", code:"verbosity", and code:"work".
     Each of the reserved words supports having code:":option" and code:":value" appended, such as: code:"work:value".
index 5afe3e952c9d169f5ce640a695d204bd0203b5bc..4121a80abf7df659f37741c99da918a32ebb9a1e 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
 # license: open-standard-license-1.0
+# version 2024/03/23
 #
 # This file (assumed to be named settings.txt) can be more easily read using the following iki_read commands:
 #   iki_read settings.txt +Q -w -WW character "'" "'" code '"' '"'
@@ -92,7 +93,11 @@ Settings Specification:
     - code:"path_program_shared": Must be a single valid path.
     - code:"path_program_static": Must be a single valid path.
     - code:"path_sources": Must only be a valid directory path or not specified.
+    - code:"path_sources_headers": Must only be a valid directory path or not specified.
+    - code:"path_sources_library": Must only be a valid directory path or not specified.
     - code:"path_sources_object": Must only be a valid directory path or not specified.
+    - code:"path_sources_program": Must only be a valid directory path or not specified.
+    - code:"path_sources_script": Must only be a valid directory path or not specified.
     - code:"preserve_path_headers": Must only be one of code:"yes" or code:"no".
     - code:"process_post": Only one bold:"Content", which must only be a valid filename.
     - code:"process_pre": Only one bold:"Content", which must only be a valid filename.
index 6bd51cda382506c716eea7770befb62a92bf2be7..a1f2203744cca14d9e84225c9414205c1ffb9966 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2024/01/15
 #
 # This file (assumed to be named fss-0000.txt) can be more easily read using the following iki_read commands:
 #   iki_read fss-0000.txt +Q -w -WW character "'" "'" code '"' '"'
 Featureless Settings Specification: 0000 - Basic:
   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.
+  An Object may be preceded by a new line character, in which case means that the Object has no Content.
   If only printing white spaces or non-printable characters follow a valid Object, then that Object is considered to have no Content.
-  An Object may be quoted to include whitespace where a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a backtick character:'`' (unicode:"U+0060") are used to quote.
+  An Object may be quoted to include white space where a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a grave character:'`' (unicode:"U+0060") are used to quote.
+  An Object is only considered quoted if the first and last character of the Object are the same quote.
+  Any quote characters in a non-quoted Object are treated as part of the Object rather than as a quote.
+  An Object that properly starts with a quote character but is not properly terminated before the new line is reached is considered to be an Object terminating at the end of the line.
+  A quoted Objected terminating at the new line in this way preserves the quotes as part of the Object.
 
   Content exists on the same line as the Object.
-  Content is represented as a single Content column terminated by a newline.
-  Content column consists of everything following the first non-white space character until the newline.
-  Content column includes trailing white space before newline is reached.
+  Content is represented as a single Content column terminated by a new line.
+  Content column consists of everything following the first non-white space character until the new line.
+  Content column includes trailing white space before new line is reached.
   Content column does not include any of the leading white space.
   No delimits are supported in the Content.
 
   Key\:
-    code:"\s" = White space, except newline.
-    code:"\b" = Either white space or printable, except newline.
-    code:"\q" = Non-white space or quoted white space (and non-whitespace) with no white space outside of the quotes.
-    code:"\n" = Newline.
+    code:"\s" = White space, except new line.
+    code:"\b" = Either white space or printable, except new line.
+    code:"\q" = Non-white space or quoted white space (and non-white space) with no white space outside of the quotes.
+    code:"\n" = New line.
     code:"*" = Zero or more occurrences.
     code:"+" = One or more occurrences.
 
@@ -43,7 +48,7 @@ Featureless Settings Specification: 0000 - Basic:
   Example\:
     # fss-0000
     # valid comments are ignored.
-    "The Object" Content until newline.
+    "The Object" Content until new line.
     Second object set.
 
   Object would be\:
@@ -51,5 +56,5 @@ Featureless Settings Specification: 0000 - Basic:
     2) Second
 
   Content would be\:
-    1.1) Content until newline.
+    1.1) Content until new line.
     2.1) object set.
index 20cac45a80ea31c063807a6129f63ae42f6f431e..c779c543a5ac8c9ef220ab68d8e37ee7fdaf23cc 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2024/01/15
 #
 # This file (assumed to be named fss-0001.txt) can be more easily read using the following iki_read commands:
 #   iki_read fss-0001.txt +Q -w -WW character "'" "'" code '"' '"'
 Featureless Settings Specification: 0001 - Extended:
   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.
+  An Object may be followed by a new line, in which case means that the Object has no Content.
   If only printing white spaces or non-printable characters follow a valid Object, then that Object is considered to have no Content.
-  An Object may be quoted to include whitespace where a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a backtick character:'`' (unicode:"U+0060") are used to quote.
+  An Object may be quoted to include white space where a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a grave character:'`' (unicode:"U+0060") are used to quote.
+  An Object is only considered quoted if the first and last character of the Object are the same quote.
+  Any quote characters in a non-quoted Object are treated as part of the Object rather than as a quote.
+  An Object that properly starts with a quote character but is not properly terminated before the new line is reached is considered to be an Object terminating at the end of the line.
+  A quoted Objected terminating at the new line in this way preserves the quotes as part of the Object.
 
   Content exists on the same line as the Object.
   Content is represented as multiple Content columns.
-  Content columns are white space separated parts within the Content and terminated by a newline.
-  Any number of Content columns may exist in the Content until the newline is reached.
+  Content columns are white space separated parts within the Content and terminated by a new line.
+  Any number of Content columns may exist in the Content until the new line is reached.
+  Content follows the same quoting rules as an Object.
 
   Key\:
-    code:"\s" = White space, except newline.
-    code:"\b" = Either white space or printable, except newline.
-    code:"\q" = Non-white space or quoted white space (and non-whitespace) with no white space outside of the quotes.
-    code:"\n" = Newline.
+    code:"\s" = White space, except new line.
+    code:"\b" = Either white space or printable, except new line.
+    code:"\q" = Non-white space or quoted white space (and non-white space) with no white space outside of the quotes.
+    code:"\n" = New line.
     code:"*" = Zero or more occurrences.
     code:"+" = One or more occurrences.
     code:"()*" = Grouping that repeats zero or more times.
index fbbca1a215cb24df52e773b99bb8831f7b1a1f85..0b0d50c4b40f893d86555029b13eb1f24d1c0261 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2024/01/15
 #
 # 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 '"' '"'
 
 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.
-  A colon character:":" (unicode:"U+003A") followed by any white space until a newline terminates a valid 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.
 
   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, double-quote, or backtick delimitation in this specification.
+  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.
 
   Key\:
-    code:"\s" = White space, except newline.
+    code:"\s" = White space, except new line.
     code:"\o" = Any printable character, except unescaped character:":" (unicode:"U+003A").
     code:"\l" = Any printable character or white space, except unescaped character:":" (unicode:"U+003A").
-    code:"\c" = Either white space or printable, including newline, that not interpretable as an Object.
-    code:"\n" = Newline.
+    code:"\c" = Either white space or printable, including new line, that not interpretable as an Object.
+    code:"\n" = New line.
     code:"*" = Zero or more occurrences.
 
   Before Structure\:
@@ -48,7 +49,7 @@ Featureless Settings Specification: 0002 - Basic List:
       This Does\\\:
     Second\:
       Continues until EOS/EOF.
-      All white space, including newline (and leading white space) is "part of content."
+      All white space, including new line (and leading white space) is "part of content."
       # Valid comments are still ignored.
 
   Objects would be\:
@@ -60,4 +61,4 @@ Featureless Settings Specification: 0002 - Basic List:
          This: does not need to be delimited.
          This Does\:
     2.1) Continues until EOS/EOF.
-         All white space, including newline (and leading white space) is "part of content."
+         All white space, including new line (and leading white space) is "part of content."
index f48c26d7873fccd49525ac69084da9460696878b..6a3954cd73a5423927beb45c7dbcc33b326193ce 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2024/01/15
 #
 # 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 '"' '"'
 
 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.
-  An open-brace character:"{" (unicode:"U+007B") followed by any white space until a newline terminates a possible valid 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.
 
   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 newline must be present to designate a valid end of 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.
 
-  There is no single-quote, double-quote, or backtick delimitation in this specification.
+  There is no single-quote (unicode:"U+0027"), double-quote (unicode:"U+0022"), or grave (unicode:"U+0060") delimitation in this specification.
   Only an open-brace character:"{" (unicode:"U+007B") that would result in a valid Object or the close-brace character:"}" (unicode:"U+007D") that would terminate valid Content can be delimited.
   When inside potentially valid Content (which follows a valid Object) the open-brace character:"{" (unicode:"U+007B") cannot be delimited because this standard is not-recursive.
   When not inside any potentially valid Content (that is, there is no previous unclosed Object), then the Object may be delimited.
@@ -31,10 +32,10 @@ Featureless Settings Specification: 0003 - Extended List:
   Empty Objects are allowed, that is, the length of the object may be zero.
 
   Key\:
-    code:"\s" = White space, except newline.
+    code:"\s" = White space, except new line.
     code:"\o" = Any printable character, except unescaped character:"{" (unicode:"U+007B").
     code:"\l" = Any printable character or white space, except unescaped character:"}" (unicode:"U+007D").
-    code:"\c" = Either white space or printable, including newline, that is not interpretable as an Object.
+    code:"\c" = Either white space or printable, including new line, that is not interpretable as an Object.
     code:"\n" = Newline.
     code:"*" = Zero or more occurrences.
 
@@ -58,7 +59,7 @@ Featureless Settings Specification: 0003 - Extended List:
 
     Second {
       Continues until EOS/EOF.
-      All white space, including newline (and leading white space) is "part of content."
+      All white space, including new line (and leading white space) is "part of content."
       # Valid comments are still ignored.
     }
 
@@ -71,4 +72,4 @@ Featureless Settings Specification: 0003 - Extended List:
          This: does not need to be delimited.
          }
     2.1) Continues until EOS/EOF.
-         All white space, including newline (and leading white space) is "part of content."
+         All white space, including new line (and leading white space) is "part of content."
index 4fbc452d7af075ece356777faafeae3d56384cb0..cd75c6b5e86149a2c967be8b067fe1f8e6483d9e 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/07/14
 #
 # This file (assumed to be named fss-0004.txt) can be more easily read using the following iki_read commands:
 #   iki_read fss-0004.txt +Q -w -WW character "'" "'" code '"' '"'
@@ -25,7 +26,7 @@ Featureless Settings Specification: 0004 - Very Basic List:
       This Does\\\:
     Second\:
       Continues until EOS/EOF.
-      All white space, including newline (and leading white space) is "part of content."
+      All white space, including new line (and leading white space) is "part of content."
       # Valid comments are still ignored.
 
   Outer Objects would be\:
@@ -46,4 +47,4 @@ Featureless Settings Specification: 0004 - Very Basic List:
     1.3.1) Does\:
 
     2.1.1) until EOS/EOF.
-    2.2.1) white space, including newline (and leading white space) is "part of content."
+    2.2.1) white space, including new line (and leading white space) is "part of content."
index eac68fd563534e4915a2872fefb6d7a8c8383f71..011a99da268de27c501b8bb2b98f34ec38fe0247 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/07/14
 #
 # This file (assumed to be named fss-0005.txt) can be more easily read using the following iki_read commands:
 #   iki_read fss-0005.txt +Q -w -WW character "'" "'" code '"' '"'
@@ -10,7 +11,7 @@
 #
 
 Featureless Settings Specification: 0005 - Somewhat Basic List:
-  This is a code"fss-0002 (Basic List)" whose Content is then processed as code:"FSS-0001 (Extended)".
+  This is a code:"FSS-0002 (Basic List)" whose Content is then processed as code:"FSS-0001 (Extended)".
 
   All code:"FSS-0002 (Basic List)" escapes are applied before any code:"FSS-0001 (Extended)" is identified.
 
@@ -25,7 +26,7 @@ Featureless Settings Specification: 0005 - Somewhat Basic List:
       This Does\\\:
     Second\:
       Continues until EOS/EOF.
-      All white space, including newline (and leading white space) is "part of content."
+      All white space, including new line (and leading white space) is "part of content."
       # Valid comments are still ignored.
 
   Outer Objects would be\:
@@ -59,11 +60,13 @@ Featureless Settings Specification: 0005 - Somewhat Basic List:
     2.1.1) until
     2.1.2) EOS/EOF.
 
-    2.2.1) white space,
-    2.2.2) including
-    2.2.3) newline
-    2.2.4) (and
-    2.2.5) leading
-    2.2.6) white space)
-    2.2.7) is
-    2.2.8) part of content.
+    2.2.1) white
+    2.2.2) space,
+    2.2.3) including
+    2.2.4) new
+    2.2.5) line
+    2.2.6) (and
+    2.2.7) leading
+    2.2.8) white space)
+    2.2.9) is
+    2.2.10) part of content.
index 5716431916e4247f9d5dd8512ce837caa6202862..ea5dd62729be8dadeba4daf72ad71c71835887cf 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/07/14
 #
 # This file (assumed to be named fss-0006.txt) can be more easily read using the following iki_read commands:
 #   iki_read fss-0006.txt +Q -w -WW character "'" "'" code '"' '"'
@@ -27,7 +28,7 @@ Featureless Settings Specification: 0006 - Somewhat Extended List:
 
     Second {
       Continues until EOS/EOF.
-      All white space, including newline (and leading white space) is "part of content."
+      All white space, including new line (and leading white space) is "part of content."
       # Valid comments are still ignored.
     }
 
@@ -49,4 +50,4 @@ Featureless Settings Specification: 0006 - Somewhat Extended List:
     1.3.1)
 
     2.1.1) until EOS/EOF.
-    2.2.1) white space, including newline (and leading white space) is "part of content."
+    2.2.1) white space, including new line (and leading white space) is "part of content."
index fd2dd0fce98ab43e59ff43cd16d5cdd578c8b204..7fb5d8e0bb368f3af5de8e1c0802865bdeaecb09 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/07/14
 #
 # This file (assumed to be named fss-0007.txt) can be more easily read using the following iki_read commands:
 #   iki_read fss-0007.txt +Q -w -WW character "'" "'" code '"' '"'
@@ -27,7 +28,7 @@ Featureless Settings Specification: 0007 - Very Extended List:
 
     Second {
       Continues until EOS/EOF.
-      All white space, including newline (and leading white space) is "part of content."
+      All white space, including new line (and leading white space) is "part of content."
       # Valid comments are still ignored.
     }
 
@@ -62,11 +63,13 @@ Featureless Settings Specification: 0007 - Very Extended List:
     2.1.1) until
     2.1.2) EOS/EOF.
 
-    2.2.1) white space,
-    2.2.2) including
-    2.2.3) newline
-    2.2.4) (and
-    2.2.5) leading
-    2.2.6) white space)
-    2.2.7) is
-    2.2.8) part of content.
+    2.2.1) white
+    2.2.2) space,
+    2.2.3) including
+    2.2.4) new
+    2.2.5) line
+    2.2.6) (and
+    2.2.7) leading
+    2.2.8) white space)
+    2.2.9) is
+    2.2.10) part of content.
index 47f50b31908ab25536f375d35c5715622a0aee96..937f9c6aaf7e75ad1368adee1cb9d8ab794ac1b5 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/07/14
 #
 # This file (assumed to be named fss-0008.txt) can be more easily read using the following iki_read commands:
 #   iki_read fss-0008.txt +Q -w -WW character "'" "'" code '"' '"'
index b9852a32b0a2c57c77e098f3312eb3e47386be20..740bb9a73c9a2afbaf6bf6a421506cc3c79045f7 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/07/14
 #
 # This file (assumed to be named fss-0009.txt) can be more easily read using the following iki_read commands:
 #   iki_read fss-0009.txt +Q -w -WW character "'" "'" code '"' '"'
@@ -14,22 +15,26 @@ Featureless Settings Specification: 0009 - Reverse Mapping:
 
   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.
+  An Object may be preceded by a new line, in which case means that the Object has no Content.
   If only printing white spaces or non-printable characters precedes a valid Object, then that Object is considered to have no Content.
-  An Object may be quoted to include whitespace where a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a backtick character:'`' (unicode:"U+0060") are used to quote.
+  An Object may be quoted to include white space where a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a backtick character:'`' (unicode:"U+0060") are used to quote.
+  An Object is only considered quoted if the first and last character of the Object are the same quote.
+  Any quote characters in a non-quoted Object are treated as part of the Object rather than as a quote.
+  An Object that properly starts with a quote character but is not properly terminated before the new line is reached is considered to be an Object terminating at the end of the line.
+  A quoted Objected terminating at the new line in this way preserves the quotes as part of the Object.
 
   Content exists on the same line as the Object.
-  Content is represented as a single Content column that begins at a newline.
+  Content is represented as a single Content column that begins at a new line.
   Content column consists of everything following the first non-white space character at the start of the line until the Object is reached.
-  Content column includes trailing white space before newline is reached.
+  Content column includes trailing white space before new line is reached.
   Content column does not include any of the white space between the last non-white space character and the start of the Object.
   No delimits are supported in the Content.
 
   Key\:
-    code:"\s" = White space, except newline.
-    code:"\b" = Either white space or printable, except newline.
-    code:"\q" = Non-white space or quoted white space (and non-whitespace) with no white space outside of the quotes.
-    code:"\n" = Newline.
+    code:"\s" = White space, except new line.
+    code:"\b" = Either white space or printable, except new line.
+    code:"\q" = Non-white space or quoted white space (and non-white space) with no white space outside of the quotes.
+    code:"\n" = New line.
     code:"*" = Zero or more occurrences.
     code:"+" = One or more occurrences.
 
@@ -45,7 +50,7 @@ Featureless Settings Specification: 0009 - Reverse Mapping:
   Example\:
     # fss-0009
     # valid comments are ignored.
-    Content from newline. "The Object"
+    Content from new line. "The Object"
     object set. Second
 
   Object would be\:
@@ -53,5 +58,5 @@ Featureless Settings Specification: 0009 - Reverse Mapping:
     2) Second
 
   Content would be\:
-    1.1) Content from newline.
+    1.1) Content from new line.
     2.1) object set.
index a44a215f4b1876346b602589f49a39c1fe254f5f..da6c0e7028df1fa9a92242bd15d9a0e823c7ed17 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/07/14
 #
 # This file (assumed to be named fss-000a.txt) can be more easily read using the following iki_read commands:
 #   iki_read fss-000a.txt +Q -w -WW character "'" "'" code '"' '"'
@@ -14,20 +15,25 @@ Featureless Settings Specification: 000A - Extended Reverse Mapping:
 
   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.
+  An Object may be followed by a new line, in which case means that the Object has no Content.
   If only printing white spaces or non-printable characters follow a valid Object, then that Object is considered to have no Content.
-  An Object may be quoted to include whitespace where a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a backtick character:'`' (unicode:"U+0060") are used to quote.
+  An Object may be quoted to include white space where a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a backtick character:'`' (unicode:"U+0060") are used to quote.
+  An Object is only considered quoted if the first and last character of the Object are the same quote.
+  Any quote characters in a non-quoted Object are treated as part of the Object rather than as a quote.
+  An Object that properly starts with a quote character but is not properly terminated before the new line is reached is considered to be an Object terminating at the end of the line.
+  A quoted Objected terminating at the new line in this way preserves the quotes as part of the Object.
 
   Content exists on the same line as the Object.
   Content is represented as multiple Content columns.
   Content columns are white space separated parts within the Content is terminated by the start of the Object.
   Any number of Content columns may exist in the Content until the Object is reached.
+  Content follows the same quoting rules as an Object.
 
   Key\:
-    code:"\s" = White space, except newline.
-    code:"\b" = Either white space or printable, except newline.
-    code:"\q" = Non-white space or quoted white space (and non-whitespace) with no white space outside of the quotes.
-    code:"\n" = Newline.
+    code:"\s" = White space, except new line.
+    code:"\b" = Either white space or printable, except new line.
+    code:"\q" = Non-white space or quoted white space (and non-white space) with no white space outside of the quotes.
+    code:"\n" = New line.
     code:"*" = Zero or more occurrences.
     code:"+" = One or more occurrences.
     code:"()*" = Grouping that repeats zero or more times.
index 50001ae3ae3e7e8f5b48453e2740c772061c830c..4de2fefd79d3e6600f25a45e0f48901fd179d577 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/07/14
 #
 # This file (assumed to be named fss-000b.txt) can be more easily read using the following iki_read commands:
 #   iki_read fss-000b.txt +Q -w -WW character "'" "'" code '"' '"'
index 8ea58e839d92d4b35898c2a0c4ee9b72bf14ef8a..c2bd010b1e8fa336a2516e6e863dedc2a33d9981 100644 (file)
@@ -1,12 +1,13 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/07/14
 #
 # This file (assumed to be named fss-000c.txt) can be more easily read using the following iki_read commands:
-#   iki_read fss-000c.txt +Q -w -r FSS FSS -WWW character "'" "'" code '"' '"' emphasis '"' '"'
+#   iki_read fss-000c.txt +Q -w -r FSS FSS -WWW character "'" "'" code '"' '"' italic '"' '"'
 #
 # To read the "Featureless Settings Specification: 000C - IKI Text" section of this file, use this command sequence:
-#   fss_basic_list_read fss-000c.txt +Q -cn "Featureless Settings Specification: 000C - IKI Text" | iki_read +Q -w -r FSS FSS -WWW character "'" "'" code '"' '"' emphasis '"' '"'
+#   fss_basic_list_read fss-000c.txt +Q -cn "Featureless Settings Specification: 000C - IKI Text" | iki_read +Q -w -r FSS FSS -WWW character "'" "'" code '"' '"' italic '"' '"'
 #
 
 Featureless Settings Specification: 000C - IKI Text:
index 16d933a4771651f593eb6df407318897d9e6e74c..1924521020793d84fec366e10476d0ec1d2ddf72 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/07/14
 #
 # This file (assumed to be named fss-000d.txt) can be more easily read using the following iki_read commands:
 #   iki_read fss-000d.txt +Q -w -r FSS FSS -WW character "'" "'" code '"' '"'
index 1c2a5f8cbb1d8e4144625f766835eb181c43131a..141f36a12608ec1d8bb33fec67412f9c5d2f8594 100644 (file)
@@ -1,44 +1,62 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2024/03/12
 #
 # This file (assumed to be named fss-000e.txt) can be more easily read using the following iki_read commands:
-#   iki_read fss-000e.txt +Q -w -rr EOF EOF FLL FLL -WWW character "'" "'" code '"' '"' emphasis '"' '"'
+#   iki_read fss-000e.txt +Q -w -rr EOF EOF FLL FLL -WWW character "'" "'" code '"' '"' italic '"' '"'
 #
 # To read the "Featureless Settings Specification: 000e - Payload" section of this file, use this command sequence:
-#   fss_basic_list_read fss-000e.txt +Q -cn "Featureless Settings Specification: 000e - Payload" | iki_read +Q -w -r  EOF EOF FLL FLL -WWW character "'" "'" code '"' '"' emphasis '"' '"'
+#   fss_basic_list_read fss-000e.txt +Q -cn "Featureless Settings Specification: 000e - Payload" | iki_read +Q -w -r EOF EOF FLL FLL -WWW character "'" "'" code '"' '"' italic '"' '"'
 #
 
 Featureless Settings Specification: 000e - Payload:
-  This is a code:"FSS-0002 (Basic List)" with two required objects\:
+  This is a code:"FSS-0002 (Basic List)" with one required object and two optional objects\:
   1) italic:"header".
-  2) italic:"payload".
+  2) italic:"signature" (optional).
+  3) italic:"payload" (optional).
 
   The italic:"header"\:
   - The italic:"header"'s Content is of type code:"FSS-0001 (Extended)".
-  - The italic:"header" is recommended to have the Objects italic:"length", italic:"status", italic:"part", and italic:"total".
+  - The italic:"header" is recommended to have the Objects italic:"length", italic:"status", italic:"part", italic:"total", and italic:"type".
+  - The italic:"header" is suggested to have the Objects italic:"salt" and italic:"time".
   - The recommended italic:"length" represents the size of the italic:"payload".
   - The recommended italic:"part" represents a single part of a set of packets for when the data being transmitted is split across multiple payloads.
-  - The recommended italic:"total" represents the total number of parts representing a complete data transmitted across multiple payloads.
   - The recommended italic:"status" represents status codes (such as success or failure) and multiple.
+  - The recommended italic:"total" represents the total number of parts representing a complete data transmitted across multiple payloads.
+  - The recommended italic:"type" represents the type of information being transmitted.
+  - The suggested italic:"salt" represents random arbitrary data to further assist in making packets more unique during compression.
+  - The suggested italic:"time" represents some form of time unit, such as a time stamp.
   - The Content for the recommended italic:"length" and italic:"status" are positive whole numbers (including zero) that may be in italic:"binary", italic:"octal", italic:"decimal", italic:"duodecimal", or italic:"hexidecimal" numerical format.
+  - There may be multiple italic:"header" Object and associated Content but the behavior is not defined by this standard.
+  - For guaranteed safe and compatible behavior, only a single italic:"header" Object and associated Content should be defined.
+
+  The italic:"signature"\:
+  - The italic:"signature"'s Content is of type code:"FSS-0001 (Extended)".
+  - This is an optional Object and Content set.
+  - This is intended to be used to specify signatures and checksums, such as GPG signatures or SHA256 checksums.
+  - This can be used to sign or provide checksums on italic:"header" and the italic:"payload".
+  - There may be multiple italic:"signature" Object and associated Content but the behavior is not defined by this standard.
+  - For guaranteed safe and compatible behavior, only a single italic:"signature" Object and associated Content should be defined.
 
   The italic:"payload"\:
   - The italic:"payload"'s Content may contain anything, including raw binary data.
-  - The italic:"payload" is italic:"required" to be the last list Object in the file.
+  - The italic:"payload" is italic:"required" to be the last list Object in the file, if present.
   - The italic:"payload" is recommended to have its size designated in some manner in the italic:"header" (such as with the recommended italic:"length").
   - The italic:"payload" is terminated by the EOF:"End of File" character or by the recommended italic:"length" header.
-  - The italic:"payload" may be empty (length may be zero), but the list Object italic:"payload" must still exist.
+  - The italic:"payload" may be empty (length may be zero).
   - Nothing in the italic:"payload" may be considered a valid list Object by the outer code:"FSS-0002 (Basic List)" and therefore escaping is unnecessary (No further processing by the outer code:"FSS-0002 (Basic List)" is allowed at this point).
   - Comments in the italic:"payload" are not considered comments and are instead considered part of the payload, as-is.
   - Essentially, the italic:"payload" should be treated as binary data embedded in a text file.
+  - There may only be a single italic:"payload" Object and associated Content.
+  - Any italic:"payload" Object and associated Content that is not the last must not have its Content data treated as binary in the same way as the last italic:"payload" Object and associated Content.
 
   The recommended italic:"length" italic:"header" Object used to designate the italic:"payload" size does not necessarily have to be defined in the italic:"header".
   That is to say, if the italic:"payload" is expected to be of some pre-defined or static length then a length does not need to be provided in the italic:"header".
 
-  The recommended italic:"status" italic:"header" Object may be a string, such as code:"F_none", or a positive whole number.
+  The recommended italic:"status" italic:"header" Object may be a string, such as code:"F_okay", or a positive whole number.
   What the status code represents is application specific (or specific to a sub-standard) but may often be used to represent FLL:"Featureless Linux Library" status code.
-  - The FLL:"Featureless Linux Library" status code is a 16-bit digit whose first two high-order bits represent italic:"error" and italic:"warning" ( representing italic:"signal").
+  - The FLL:"Featureless Linux Library" status code is a 16-bit digit whose first two high-order bits represent italic:"error" and italic:"warning" (representing italic:"signal").
   - The FLL:"Featureless Linux Library" status code as a number is binary sensitive and may not be portable across binaries or systems.
   - For best portability, consider using status as a name string to ensure cross-system or cross-binary compatibility.
 
@@ -50,12 +68,18 @@ Featureless Settings Specification: 000e - Payload:
       status 296
       length 30
 
+    signature\:
+      header sha1 e31b562d6ceba5e59dfaefbd7a37df6a20cad970
+      header type md5 cb5e100e5a9a3e7f6d1fd97512215282
+      payload sha256 fa4e17188867095856b8c5b7ff8f79e6f96c7a36621309473d09acc3fa0fe4d9
+
     payload\:
     The program is out of memory.
 
   Outer Objects would be\:
     1) header
-    2) payload
+    2) signature
+    3) payload
 
   "header" Objects would be\:
     1.1) type
@@ -67,5 +91,15 @@ Featureless Settings Specification: 000e - Payload:
     1.2.1) 296
     1.3.1) 30
 
+  "signature" Objects would be\:
+    2.1) header
+    2.2) header
+    2.3) payload
+
+  "signature" Contents would be\:
+    2.1.1) sha1 e31b562d6ceba5e59dfaefbd7a37df6a20cad970
+    2.2.1) type md5 cb5e100e5a9a3e7f6d1fd97512215282
+    2.3.1) sha256 fa4e17188867095856b8c5b7ff8f79e6f96c7a36621309473d09acc3fa0fe4d9
+
   The payload would be\:
-    2) The program is out of memory.
+    3) The program is out of memory.
index 001bab4def89256494719fbe2f177bf3aa947cd5..1451834f18f2a91a25a94f9b3de4025480c03f77 100644 (file)
@@ -1,54 +1,80 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/11/14
 #
 # This file (assumed to be named fss-000f.txt) can be more easily read using the following iki_read commands:
-#   iki_read fss-000f.txt +Q -w -WWW character "'" "'" code '"' '"' emphasis '"' '"'
+#   iki_read fss-000f.txt +Q -w -WWWW character "'" "'" code '"' '"' italic '"' '"' bold '"' '"'
 #
 # To read the "Featureless Settings Specification: 000f - Simple Packet" section of this file, use this command sequence:
-#   fss_basic_list_read fss-000f.txt +Q -cn "Featureless Settings Specification: 000f - Simple Packet" | iki_read +Q -w -WWW character "'" "'" code '"' '"' emphasis '"' '"'
+#   fss_basic_list_read fss-000f.txt +Q -cn "Featureless Settings Specification: 000f - Simple Packet" | iki_read +Q -w -WWWW character "'" "'" code '"' '"' italic '"' '"' bold '"' '"'
 #
 
 Featureless Settings Specification: 000f - Simple Packet:
   This is a network packet format that contains code:"FSS-000e (Payload)" within it.
 
-  The Simple Packet structure is described in blocks, of which are structured in bytes.
+  The bold:"Simple Packet" structure is described in blocks, of which are structured in bytes.
 
   There are only three blocks in this format\:
   1) Control Block.
   2) Size Block.
   3) Payload Block.
 
-  The Control Block is the first block in the packet and is considered endianless.
-  There exists only a single byte within the Control Block.
-  Regardless of the endianness of the packet, the leftmost bit is always the italic:"string" or italic:"binary" bit.
-  The second bit following that bit represents the endianness bit.
+  The bold:"Control Block" is the first block in the packet and is considered endianless.
+  There exists only a single byte within the bold:"Control Block" (8-bits).
+  Regardless of the endianness of the packet, leftmost bit is always the endianness bit.
+  The second bit following that endianness bit represents the italic:"string" or italic:"binary" bit.
 
-  The italic:"string" or italic:"binary" bit, a value of 0 designates that the packet is in string format and a value of 1 designates that the packet is in binary format.
-  While the packet might be considered to be in string format, it is technically always in binary format due to the Control Block and Size Block.
-  This means that the bit designating the packet as a italic:"string" packet or a italic:"binary" packet is referring to whether or not the Payload Block is in italic:"string" format or is in italic:"binary" format.
+  Control Block Structure\:
+    code:"
+    [ Endianness Bit ] [ String / Binary Bit ] [ Remaining 6 Bits (unused) ]
+    [ size: 1 bit    ] [ size: 1 bit         ] [ size: 6 bits              ]
+    "
 
   The endianness bit designates whether or not the packet is in big endian or little endian format.
   A bit value of 0 designates that this packet is in little endian and a value of 1 designates that this packet is in big endian format.
-  All binary data within this packet, following the Control Block, must respect this endianness bit (including the Size Block).
+  All italic:"binary" data within this packet, following the Control Block, must respect this endianness bit (including the bold:"Size Block").
+
+  The italic:"string" or italic:"binary" bit, a value of 0 designates that the packet is in string format and a value of 1 designates that the packet is in italic:"binary" format.
+  While the packet might be considered to be in string format, it is technically always in italic:"binary" format due to the bold:"Control Block" and bold:"Size Block".
+  This means that the italic:"binary" bit designating the packet as either a italic:"string" packet or a italic:"binary" packet is referring to whether or not the bold:"Payload Block" is in italic:"string" or italic:"binary" format.
+  The bold:"Payload Block" itself can contain italic:"binary" data even when in italic:"string" format as per code:"FSS-000e (Payload)".
 
   The remaining bits are not defined by this standard and are expected to be 0.
   Non-formal or local uses may utilize these remaining 6 bits as desired.
-  However, there may be additional standards that expand upon this and utilize these remaining Control bits.
-  Anything that utilizes these unused Control bits may add or remove additional Blocks after the Control Block as they see fit.
+  However, there may be additional standards that expand upon this and utilize these remaining bold:"Control" bits.
+  Anything that utilizes these unused bold:"Control" bits may add or remove additional bold:"Blocks" after the bold:"Control Block" as they see fit.
+  One possible use of the remaining bits is to designate a different variation of this bold:"Simple Packet" standard.
+
+  Size Block Structure\:
+    code:"
+    [ Size Block    ]
+    [ size: 32 bits ]
+    "
 
-  The Size Block is an unsigned 32-bit integer representing the size of the entire packet, including the Control Block and Size Block.
+  The bold:"Size Block" is an unsigned 32-bit integer representing the size of the entire packet in bytes, including the bold:"Control Block" and bold:"Size Block".
   This size must exactly match the packet to be a valid packet.
   The size represents number of bytes in the file.
-  The Control Block is 1 byte long and the Size Block is 4 bytes long and so the maximum available size is (2^32)-6.
+  The bold:"Control Block" is 1 byte long and the bold:"Size Block" is 4 bytes long, therefore the maximum available size of the entire bold:"Simple Packet" structure is code:"(2^32)-6".
+
+  The reason behind why the size includes both the bold:"Control Block" and the bold:"Size Block" in addition to the bold:"Payload Block" is to avoid the need to perform any calculations for handling the size of the entire packet. The idea here is to optimize the packet for the network hardware transferring the packet. The network device should not need to read the contents of the packet in order to transfer the packet and therefore it only needs the number of the entire packet. Anything that wants to analyze this packet will have to incure the cost of calculating the bold:"Payload Block" size by performing the appropriate subtraction from the size represented in the bold:"Size Block".
+
+  Payload Block Structure\:
+    code:"
+    [ Payload Block        ]
+    [ size: (2^32)-6 bytes ]
+    "
 
-  The Payload Block is not defined by this standard of that that it exists and should be in code:"FSS-000e (Payload)" format.
-  The code:"FSS-000e (Payload)" may be represented in either string format or binary format.
+  The bold:"Payload Block" is not defined by this standard other than that it exists and should be in code:"FSS-000e (Payload)" format.
+  The code:"FSS-000e (Payload)" may be represented in either italic:"string" format or italic:"binary" format.
   The code:"FSS-000e (Payload)" may contain multiple italic:"header"(s) but may only contain a single italic:"payload".
-  With this in mind, it is recommended that only a single italic:"header" be supported in the Payload Block.
+  With this in mind, it is recommended that only a single italic:"header" be supported in the bold:"Payload Block".
+  The italic:"payload" bold:"Content" may be in either a italic:"binary" or italic:"string" format regardless of the italic:"binary" bit in the bold:"Simple Packet" bold:"Header Block".
 
-  See the file:"fss-000e.txt" specification file for details on the syntax rules for the Payload Block.
+  See the file:"fss-000e.txt" specification file for details on the syntax rules for the bold:"Payload Block".
 
   Example Packet Structure\:
+    code:"
     [ Control Block ] [ Size Block                                  ] [ Payload Block         ]
     [ 0b10000000    ] [ 0b00000000 0b00000000 0b00000100 0b11010010 ] [ size: 1229 (1234 - 5) ]
+    "
diff --git a/documents/standards/fll/specifications/fss-0010.txt b/documents/standards/fll/specifications/fss-0010.txt
new file mode 100644 (file)
index 0000000..963151d
--- /dev/null
@@ -0,0 +1,43 @@
+# fss-0002 iki-0000
+#
+# license open-standard-license-1.0
+# version 2023/07/16
+#
+# This file (assumed to be named fss-0010.txt) can be more easily read using the following iki_read commands:
+#   iki_read fss-0010.txt +Q -w -r HTTP HTTP -WWWW character "'" "'" code '"' '"' italic '"' '"' bold '"' '"'
+#
+# To read the "Featureless Settings Specification: 0010 - Encrypted Simple Packet" section of this file, use this command sequence:
+#   fss_basic_list_read fss-0010.txt +Q -cn "Featureless Settings Specification: 0010 - Encrypted Simple Packet" | iki_read +Q -w -r HTTP HTTP -WWWW character "'" "'" code '"' '"' italic '"' '"' bold '"' '"'
+#
+
+Featureless Settings Specification: 0010 - Encrypted Simple Packet:
+  This is an encrypted form of the network packet format of code:"FSS-000f (Simple Packet)".
+
+  The entire bold:"Payload Block" is undefined by this standard and is instead defined by the encryption algorithm or standard in use.
+  There is no rule, restriction, requirement, or definition on what encryption can be used.
+  The only rule is that the bold:"Payload Block" must be of a valid length as defined by the bold:"Size Block".
+
+  The general rule is that it can be assumed that the encrypted data in the bold:"Payload Block" would be of the code:"FSS-000e (Payload)" format. Being that the data is supposed to be encrypted, the actual contents of the bold:"Payload Block" is left undefined.
+
+  The code:"FSS-000f (Simple Packet)" that this standard modifies does not require the bold:"Payload Block" to be in code:"FSS-000e (Payload)" format.
+  This standard is even more lax than code:"FSS-000f (Simple Packet)" and drops replaces the words italic:"should be in" from the code:"FSS-000f (Simple Packet)" standard and replaces them with italic:"could be in".
+
+  This allows for the encrypted data to be anything the user wants, such as but not limited to HTTP:"Hypertext Transfer Protocol".
+
+  When it comes to security, any and all data can be useful. For best encryption, one may want to consider not using this format because of the bold:"Control Block" and the bold:"Size Block" are not encrypted.
+
+  The endianness bit should only be used to represent the bold:"Size Block" to avoid any security concerns. The endianness of the encrypted needs to be determined through some other means for any kind of reasonable security.
+
+  This standard uses the third bit from the left in the bold:"Control Block" to designate that this is an encrypted packet.
+
+  The 5 remaining control bits are left undefined.
+
+  See the file:"fss-000f.txt" specification file for details regarding the code:"FSS-000f (Simple Packet)" standard.
+
+  Example Packet Structure\:
+    code:"
+    [ Control Block ] [ Size Block                                  ] [ Payload Block         ]
+    [ 0b10100000    ] [ 0b00000000 0b00000000 0b00000100 0b11010010 ] [ size: 1229 (1234 - 5) ]
+    "
+
+  In the above example, take note that the third bit in the bold:"Control Block" is a 1.
index abf67dd84874b5e649eaac16905bb07813651785..4e661f1767e56a05bc21bd8aba2940fabd5c69ab 100644 (file)
@@ -1,13 +1,14 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2024/01/15
 #
 # This file (assumed to be named fss.txt) can be more easily read using the following iki_read commands:
-#   iki_read fss.txt +Q -w -rrrrrrrr anti-KISS anti-KISS ASCII ASCII BOM BOM FSS FSS KISS KISS UTF-8 UTF-8 URL URL XML XML -WWW character "'" "'" code '"' '"' emphasis '"' '"'
+#   iki_read fss.txt +Q -w -rrrrrrrr anti-KISS anti-KISS ASCII ASCII BOM BOM FSS FSS KISS KISS UTF-8 UTF-8 URL URL XML XML -WWW character "'" "'" code '"' '"' italic '"' '"'
 #
 # Individual sections in this file may be parsed using fss_basic_list_read command and then passed to the iki_read command.
 # To read the "Featureless Settings Specifications" section of this file, use this command sequence:
-#   fss_basic_list_read fss.txt +Q -cn "Featureless Settings Specifications" | iki_read +Q -w -rrrrrrrr anti-KISS anti-KISS ASCII ASCII BOM BOM FSS FSS KISS KISS UTF-8 UTF-8 URL URL XML XML -WWW character "'" "'" code '"' '"' emphasis '"' '"'
+#   fss_basic_list_read fss.txt +Q -cn "Featureless Settings Specifications" | iki_read +Q -w -rrrrrrrr anti-KISS anti-KISS ASCII ASCII BOM BOM FSS FSS KISS KISS UTF-8 UTF-8 URL URL XML XML -WWW character "'" "'" code '"' '"' italic '"' '"'
 #
 
 Featureless Settings Specifications:
@@ -60,7 +61,7 @@ Featureless Settings Specifications:
   Unless otherwise specified, white space immediately both before (and after, outside of the terminating quote) an Object is not considered part of the Object.
   This simplifies identifying the object, use quoted Objects to support white space before/after an object for styling purposes.
 
-  Unless otherwise specified, quotes may only be a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a backtick character:'`' (unicode:"U+0060") and only a backslash character:"\\" (unicode:"U+005C") may be used as a delimiter.
+  Unless otherwise specified, quotes may only be a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a grave character:'`' (unicode:"U+0060") and only a backslash character:"\\" (unicode:"U+005C") may be used as a delimiter.
   For example, code:"FSS-0000 (Basic)"\:
     \"Object 1" has content starting at the '1', with an Object named '"Object'.
     \\"Object 1" has content starting at the '1', with an Object named '\"Object'.
@@ -158,3 +159,4 @@ Featureless Settings Specifications:
     - fss-000d: Basic Rule
     - fss-000e: Payload
     - fss-000f: Simple Packet
+    - fss-0010: Encrypted Simple Packet
index cbaebe4fe193e306755ebc355e1da55effb7969e..d7edca00c2fcf3bfd1606ee1b5b00a2efe6bf565 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/07/14
 #
 # This file (assumed to be named iki-0000.txt) can be more easily read using the following iki_read commands:
 #   iki_read iki-0000.txt +Q -w -WW character "'" "'" code '"' '"'
index 3746447e1b462b7b3043b7f5aa3a4a8e77992f25..4a8b140d35cbe6ac93f88315252fa41e0b83b4b9 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/07/14
 #
 # This file (assumed to be named iki-0001.txt) can be more easily read using the following iki_read commands:
 #   iki_read iki-0001.txt +Q -w -rrr URI URI URL URL URN URN -WW character "'" "'" code '"' '"'
index 22a917d960ba36cdb3f05edfb0493d155e9b5188..43eface2ab4da7ccfd7feb273ea6e46c06af93e7 100644 (file)
@@ -1,12 +1,13 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/07/14
 #
 # This file (assumed to be named iki-0002.txt) can be more easily read using the following iki_read commands:
-#   iki_read iki-0002.txt +Q -w -WWW character "'" "'" code '"' '"' emphasis '"' '"'
+#   iki_read iki-0002.txt +Q -w -WWW character "'" "'" code '"' '"' italic '"' '"'
 #
 # To read the "IKI Specification: 0002 - Simple Script" section of this file, use this command sequence:
-#   fss_basic_list_read iki-0002.txt +Q -cn "IKI Specification: 0002 - Simple Script" | iki_read +Q -w -WWW character "'" "'" code '"' '"' emphasis '"' '"'
+#   fss_basic_list_read iki-0002.txt +Q -cn "IKI Specification: 0002 - Simple Script" | iki_read +Q -w -WWW character "'" "'" code '"' '"' italic '"' '"'
 #
 
 IKI Specification: 0002 - Simple Script:
index 1d57f7eb93d9a0b75038ab538fc9c9e337e3d00d..1bc219df985b7eef139f975af1978c6c87ae21fc 100644 (file)
@@ -1,12 +1,13 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2024/01/15
 #
 # This file (assumed to be named iki.txt) can be more easily read using the following iki_read commands:
-#   iki_read iki.txt +Q -w -WWW character "'" "'" code '"' '"' emphasis '"' '"'
+#   iki_read iki.txt +Q -w -WWW character "'" "'" code '"' '"' italic '"' '"'
 #
 # To read the "IKI Specifications" section of this file, use this command sequence:
-#   fss_basic_list_read iki.txt +Q -cn "IKI Specifications" | iki_read +Q -w -WWW character "'" "'" code '"' '"' emphasis '"' '"'
+#   fss_basic_list_read iki.txt +Q -cn "IKI Specifications" | iki_read +Q -w -WWW character "'" "'" code '"' '"' italic '"' '"'
 #
 
 IKI Specifications:
@@ -16,15 +17,20 @@ IKI Specifications:
   The vocabulary represents a list of allowed variable names that may also have specific contextual meaning defined by a given IKI specification.
   The variable name is considered the italic:"Object" and is also considered the vocabulary.
   The variable value is considered the italic:"Content".
+  The variable name may be wrapped by a single open bracket, character:"[" (unicode:"U+005B"), at the start and a single close bracket, character:"]" (unicode:"U+005D"), at the end.
+
+  The wrapping characters characters are not part of the variable name and must not be contained within a variable name.
+  The wrapping characters do not support escaping.
+  Both wrapping characters must be specified or neither.
 
   The IKI format will use code:"iki-0000" to represent an IKI with no explicitly defined vocabulary.
   Whereas code:"iki-0001" and beyond represent a specific IKI vocabulary.
 
-  A potential IKI variable name starts on word (or character:"_", character:"-", character:"+") characters.
-  White space and non-word (and non character:"_", character:"-", character:"+") character punctuations may not exist as part of the variable name.
+  A potential IKI variable name starts on word character or one of character:"_" (unicode:"U+005F"), character:"-" (unicode:"U+002D"), character:"+" (unicode:"U+002B"), character:"[" (unicode:"U+005B")).
+  White space, non-word, and non character:"_" (unicode:"U+005F"), character:"-" (unicode:"U+002D"), character:"+" (unicode:"U+002B")) character punctuations may not exist as part of the variable name.
   The only Unicode dash-like characters allowed as a "dash" are those intended to connect, such as the Unicode hyphens (unicode:"U+2010" and unicode:"U+2011").
 
-  Any potential IKI data must be escaped to make it treated as non-IKI data by prepending a backslash character:"\\" before the colon character:":" that is before the opening quote (single, double, or backtic). Potential IKI data refers to any valid IKI sequence without considering the closing single quote character:"'" (unicode:"U+0027"), closing double quote character:'"' (unicode:"U+0022"), or closing backtick character:'`' (unicode:"U+0060").
+  Any potential IKI data must be escaped to make it treated as non-IKI data by prepending a backslash character:"\\" before the colon character:":" that is before the opening quote (single, double, or backtic). Potential IKI data refers to any valid IKI sequence without considering the closing single quote character:"'" (unicode:"U+0027"), closing double quote character:'"' (unicode:"U+0022"), or closing grave character:'`' (unicode:"U+0060").
 
   Unicode punctuation connector characters are supported just like character:"_", except when they connect outside the current line (such as unicode:"U+FE33" character:"︳").
   Unicode invisible punctuations (such as invisible plus: unicode:"U+2064") are not considered a punctuations in this standard (because they a zero-width characters), therefore they are not to be considered a valid character:"_", character:"-", or character:"+" Unicode equivalents.
@@ -32,10 +38,12 @@ IKI Specifications:
   Key\:
     code:"\o" = any printable word character, including character:"_", character:"-", character:"+" (and Unicode equivalents).
     code:"\c" = any character, including white space and non-printing, and any delimited quote (used as the opening quote) or a any quote (undelimited) not used as the opening quote.
-    code:"\q" = either a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a backtick character:'`' (unicode:"U+0060").
+    code:"\q" = either a single quote character:"'" (unicode:"U+0027"), a double quote character:'"' (unicode:"U+0022"), or a grave character:'`' (unicode:"U+0060").
     code:"\x" = any character.
     code:"\W" = any non-word character, discluding character:"_", character:"-", character:"+" (and Unicode equivalents).
     code:"\e" = an optional escape sequence of any number of backslashes, such as character:"\\".
+    code:"[" = a single conditionally optional open bracket, character:"[" (unicode:"U+005B").
+    code:"]" = a single conditionally optional close bracket, character:"]" (unicode:"U+005D").
     code:"*" = zero or more occurrences.
     code:"~" = one or more occurrences, or zero if at start of file.
 
@@ -43,7 +51,7 @@ IKI Specifications:
     code:"\x*\W~\*:*"
 
   Structure\:
-    code:"\o\e:\q\c\q"
+    code:"[\o\e:]\q\c\q"
 
   After Structure\:
     code:""
@@ -51,25 +59,33 @@ IKI Specifications:
   Example\:
     code\:'# fss-000c iki-0000
 
-    This is my sentence, anything can go here but sometimes I want to emphasis\:"emphasize some text".
+    This is my sentence, anything can go here but sometimes I want to italic\:"emphasize some text".
 
     Other times I want to render a url such as this example url: url\:'http://www.example.com/url with space/'.
 
-    There are no comments, except for maybe the FSS header (which would not resolve to any IKI syntax anyway).
+    There are no comments, except for maybe the FSS\:"Featureless Settings Specification" header (which would not resolve to any IKI syntax anyway).
 
     Quotes may be included, such as: code\:"const char *string = \"My \\\"quoted\\\" C string.\";".
 
-    The following emphasis\:"is escaped to not be treated as IKI data".'
+    The following italic\:"is escaped to not be treated as IKI data".'
+
+    The conditionally optional open and close brackets allow for putting a variable directly next to another word character like: [context]\:"strong"this[context]\:"strong".
 
   Objects (also called vocabulary or variable name) would be\:
-    1) emphasis
-    2) url
-    3) code
+    1) FSS
+    2) italic
+    3) url
+    4) code
+    5) context
+    6) context
 
   Contents (also called variable value) would be\:
-    1.1) emphasize some text
-    2.1) http://www.example.com/url with space/
-    3.1) const char *string = "My \"quoted\" C string.";
+    1.1) Featureless Settings Specification
+    2.1) emphasize some text
+    3.1) http://www.example.com/url with space/
+    4.1) const char *string = "My \"quoted\" C string.";
+    5.1) strong
+    6.1) strong
 
   The following are core specifications (each with a common name associated with the specification number)\:
   - fss-0000: Unrestricted
diff --git a/documents/standards/fll/specifications/resolution.txt b/documents/standards/fll/specifications/resolution.txt
new file mode 100644 (file)
index 0000000..9d28dbd
--- /dev/null
@@ -0,0 +1,34 @@
+Initial Draft - Currently Just Notes.
+
+Need an alternative to /etc/resolv.conf.
+
+Expand kevux specific practices that include "port" and "extension".
+Add "scheme".
+
+The "scheme" is a group or category in this case.
+Consider "inet" for classic internet.
+
+example resolution file (/etc/resolution):
+  # fss-????
+  inet:
+    namesever 208.67.222.222
+    extension kevux 127.0.0.2:123
+
+  kevux:
+    nameserver 127.0.0.2:123
+    extension turtle 127.0.0.3:456
+
+
+Can then do nslookup like this:
+  nslookup google.com
+  nslookup turtle.kevux
+  nslookup kevux://google.com
+  nslookup kevux://turtle.kevux
+  nslookup kevux://kevin.turtle
+
+Recommend reserving "http" and "https" for "inet" use in programs.
+
+Need to include additional files that can be created dynamically.
+Allow for user-specific checks.
+Allow for custom cached includes.
+Allow for custom use for things like VPN.
index 4af3cf9978daf45acf3d380865b5852eb33f3e71..f0aaa591b3e1bbacc1b339edb1c4ac7157a5c744 100644 (file)
@@ -1,6 +1,7 @@
 # fss-0002 iki-0000
 #
-# license: open-standard-license-1.0
+# license open-standard-license-1.0
+# version 2023/12/16
 #
 # This file (assumed to be named time.txt) can be more easily read using the following iki_read commands:
 #   iki_read time.txt +Q -r UTC UTC -w -WW character "'" "'" code '"' '"'
@@ -24,17 +25,20 @@ Time Specification:
   The systems should expect 64-bit and larger bits would have to become common before something larger than 64-bit is the expected or assumed default.
   Negative signs can be allowed but they must not prevent the full use of the 64-bit.
   The implementation of how this is done is left to the implementer except that the signs are immediately to the left of the digit.
-  For example code:"2022:-5" would be 5 units after the start of the year 2022.
+  For example code:"2022:-5" would be 5 units before the start of the year 2022.
   Because the negative is allowed, so must the positive character (such as code:"2022:+5").
   A positive value is the default interpretation when no sign is valid.
 
   The unit of time called bold:"Time" is counted increments of a nanosecond, or 10^-9 seconds.
   A unit of bold:"Time" is, therefore, equivalent to a nanosecond.
-  The default year for bold:"Time" is the current year.
+  When the year is not specified, then the behavior of the year is not defined.
+  The year can be inferred, directly designated through some other means, understood, asserted, or simply unknown or otherwise unspecified.
+  The general recommendation is that the default year for bold:"Time" is the current year.
 
   The unit of time called bold:"EpochTime" is counted increments of a second, or 10^-9 seconds.
   A unit of bold:"EpochTime" is, therefore, equivalent to a second.
-  The default year for bold:"EpochTime" is the bold:"UNIX Epoch", sometimes called bold:"Unix time".
+  The behavior when the year is not specified is the same as described for the bold:"Time".
+  The general recommendation is that the default year for bold:"EpochTime" is the bold:"UNIX Epoch", sometimes called bold:"Unix time".
 
   The unit bold:"Time" has two technical forms and one common form, with the year and without the year.