created: 20150124182117000
modified: 20150129133716000
tags: [[Filter Syntax]]
title: Filter Run
type: text/vnd.tiddlywiki

<$railroad text="""
( "[" { [[step|"Filter Step"]] } "]"
  |
  [:{/"anything but [ ] or whitespace"/}]
  |
  '"' [:{/'anything but "'/}] '"'
  |
  "'" [:{/"anything but '"/}] '"'
)
"""/>

A <<.def run>> consists of [[steps|Filter Step]], and it outputs a [[selection|Title Selection]] that contributes to a larger [[filter expression|Filter Expression]].

The steps are processed from left to right. The input to the first step is same as the input to the run. For each subsequent step, the input is the output of the previous step.

{{Selection Constructors}}

The lower three options in the diagram match syntax like `HelloThere`, `"HelloThere"`, `'HelloThere'` and `"Filter Operators"`. They are short for `[title[...]]`.

The quoted options exist to support titles that contain square brackets, as in `"An [[[[Unusual]]]] Tiddler"`.
