Featureless Linux Library Specification

FSS-0009 (Reverse Mapping)

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

This is based off of fss-0000 (Basic), 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 part of the object. White space separates an Object from the 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 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 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 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:

  • \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.

Before Structure:

Structure:

  • \s*\b*\s+\q+\s*\n

After Structure:

Example:

# fss-0009
# valid comments are ignored.
Content from new line. "The Object"
object set. Second

Example Results:

Object would be:
  1) The Object
  2) Second

Content would be:
  1.1) Content from new line.
  2.1) object set.