On this page:
Shrubbery Notation
8.15.0.10

Shrubbery Notation🔗ℹ

Shrubbery notation is a set of text-level convention that build toward a full programming language, such as Rhombus. The notation is line- and indentation-sensitive, and it is intended to partially group input, but leave further parsing to another layer, especially enforestation. The parsed form of a shrubbery imposes grouping to ensure that further parsing is consistent with the shrubbery’s lines and indentation.

    1 Examples

    2 Groups and Blocks

      2.1 Grouping by Lines

      2.2 Grouping by Opener–Closer Pairs

      2.3 Blocking with : and Indentation

      2.4 Continuing with Indentation and an Operator

      2.5 Alternatives with |

      2.6 Separating Groups with ; and ,

      2.7 Line- and Column-Insensitivity with « and »

      2.8 Continuing a Line with \

      2.9 Group Comments with #//

      2.10 At-Notation Using @

    3 Token Parsing

    4 At-Notation Parsing

    5 Parsed Representation

    6 Language and Parser API

      6.1 Parsing API

      6.2 Source Locations and Raw-Text Properties

      6.3 Writing Shrubbery Notation

      6.4 Reconstructing Shrubbery Notation

    7 Design Considerations

      7.1 Rationale

      7.2 Prior Art

    8 Editor Support

      8.1 Shrubbery Support in DrRacket

      8.2 How to Type «»