FLL - Specifications - FSS-0001 (Extended)
Author: Kevin Day
Description: Featurless Linux Library Specifications
Keywords: Featureless, FLL, Kevin Day, Kevux, Linux, Library, Distribution, Open-Source, specification, standard, fss-0001, extended

# Featureless Linux Library Specification

## FSS-0001 (Extended)

The version date of this specification is `2024/01/15`.

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 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 white space where a single quote `'` (`U+0027`), a double quote `"` (`U+0022`), or a grave ``` (`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 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:

- `\s` = White space, except new line.
- `\b` = Either white space or printable, except new line.
- `\q` = Non-white space or quoted white space (and non-white space) with no white space outside of the quotes.
- `\n` = New line.
- `*` = Zero or more occurrences.
- `+` = One or more occurrences.
- `()*` = Grouping that repeats zero or more times.

Before Structure:

- ``

Structure:

- `\s*\q+\s+(\s*\q+)*\s*\n`

After Structure:

- ``

Example:

    # fss-0001
    # valid comments are ignored.
    "The Object" Content "content 2" content_3.
    Second object set.

Example Results:

    Objects would be:
      1) The Object
      2) Second

    Contents would be:
      1.1) Content
      1.2) content 2
      1.3) content_3.

      2.1) object
      2.2) set.