mirror of
https://github.com/TiddlyWiki/TiddlyWiki5.git
synced 2026-04-27 07:24:36 +00:00
Introduce railroad plugin
This commit is contained in:
67
plugins/tiddlywiki/railroad/doc/syntax.tid
Normal file
67
plugins/tiddlywiki/railroad/doc/syntax.tid
Normal file
@@ -0,0 +1,67 @@
|
||||
created: 20150103184022184
|
||||
modified: 20150103184022184
|
||||
title: $:/plugins/tiddlywiki/railroad/syntax
|
||||
|
||||
The railroad widget constructs a diagram from the components defined below.
|
||||
|
||||
`x` and `y` here stand for any component.
|
||||
|
||||
---
|
||||
|
||||
; sequence
|
||||
: <$railroad text=""" ["<-"] {x} ["->"] """/>
|
||||
* A sequence of components
|
||||
* The `<-` and `->` delimiters allow you to force a single component to be treated as a sequence. This is occasionally useful for spacing a diagram out
|
||||
|
||||
---
|
||||
|
||||
; optional
|
||||
: <$railroad text=""" "[" [":"] x "]" """/>
|
||||
* A component that can be omitted
|
||||
* The colon makes `x` appear straight ahead
|
||||
|
||||
---
|
||||
|
||||
; repeated
|
||||
: <$railroad text=""" "{" x [:"+" y] "}" """/>
|
||||
* A list of one or more `x`
|
||||
* The `+` suffix adds `y` as a separator between each `x` and the next
|
||||
|
||||
---
|
||||
|
||||
; optional repeated
|
||||
: <$railroad text=""" "[{" [":"] x [:"+" y] "}]" """/>
|
||||
* An optional list of `x`, i.e. a list of zero or more `x`
|
||||
|
||||
---
|
||||
|
||||
; choice
|
||||
: <$railroad text=""" "(" {[:":"] x +"|"} ")" """/>
|
||||
* A set of alternatives
|
||||
* The colon indicates which branch appears straight ahead. By default, it's the first branch
|
||||
|
||||
---
|
||||
|
||||
; string / terminal
|
||||
: <$railroad text={{$:/plugins/tiddlywiki/railroad/syntax-string}}/>
|
||||
* A literal or terminal component
|
||||
* This follows the normal ~TiddlyWiki rules for quoted strings
|
||||
|
||||
---
|
||||
|
||||
; nonterminal
|
||||
: <$railroad text=""" (name | "<" string ">") """/>
|
||||
* A nonterminal component, i.e. the name of another diagram
|
||||
* The simple `name` option is available when the text starts with a letter and contains only letters, digits, underscores, dots and hyphens
|
||||
|
||||
---
|
||||
|
||||
; comment
|
||||
: <$railroad text=""" "/" string "/" """/>
|
||||
* A comment
|
||||
|
||||
---
|
||||
|
||||
; dummy
|
||||
: <$railroad text=""" "-" """/>
|
||||
* The absence of a component
|
||||
Reference in New Issue
Block a user