Hi All (& Nicolas in particular again),

With my recent efforts to write a parser based on
<https://orgmode.org/worg/dev/org-syntax.html>, I’ve developed a few thoughts on
that document. Hopefully, they can lead to some improvements and
clarifications.

――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――

As a general comment, in many places the Org Syntax document states what
characters a component can contain, but not what objects/elements. This feels
like a bit of a hole in the current specifications.


Sections
════════

Heading
───────

⁃ Ok, so `TITLE' can have any character but a newline, but what Org components 
can it contain?
  I’m going to assume any object?


Affiliated Keywords
═══════════════════


Greater Elements
════════════════

Greater blocks
──────────────

⁃ It is not explained what is ment by a “special block”
⁃ Aren’t lines starting with `#+' also quoted by a comma?


Drawers and Property Drawers
────────────────────────────

⁃ “Contents can contain any element but another drawer”
  • Does “any element” mean “any Element or Greater Element”


Dynamic Blocks
──────────────

⁃ It is not specified what `CONTENTS' may be
⁃ Surely `PARAMETERS' cannot contain a newline?


Plain Lists and Items
─────────────────────

⁃ It is not completely clear what content an item may have.
  I assume any Object?


Tables
──────

⁃ Surely newlines are not allowed in `FORMULAS'


Elements
════════

Clocks
──────

Two allowed forms are listed, but are all four of the below allowed or only two?
┌────
│ CLOCK: INACTIVE-TIMESTAMP
│ CLOCK: INACTIVE-TIMESTAMP DURATION
│ CLOCK: INACTIVE-TIMESTAMP-RANGE
│ CLOCK: INACTIVE-TIMESTAMP-RANGE DURATION
└────

All the best,
Timothy

Reply via email to