Featureless Linux Library Specification

fss-000a (Extended Reverse Mapping)

The version date of this specification is 2024/06/11.

This is based off of fss-0001 (Extended), except the Object is at the end of the line.

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 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 (backtick) ` (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:

  • \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-whitespace) with no white space outside of the quotes.
  • \n = Newline.
  • * = Zero or more occurrences.
  • + = One or more occurrences.
  • ()* = Grouping that repeats zero or more times.

Before Structure:

Structure:

  • \s*(\s*\q+)*\s+\q+\s*\n

After Structure:

Example:

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

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.