Модуль:SummaryII/types/doc

Это страница документации Модуль:SummaryII/types.

Description Value Parsed

Number

param	<- {| mode1 / mode2 / tail |} !.
close	<- "]]"
class	<- { %d^3 }
tag1	<- {`[[ wikilink ]]`}
suffix2	<- {:suffix: ( !value2 !separator irrelevant )+ :}
dot	<- "."
mode2	<- item2 ( separator? item2 )* tail? {:mode: tag2 :}
int_dot	<- {:classes: {| senior ( {:class_sep: %s+ / dot / "" :} class )* |} :}
screened	<- "[[" %s* ":" ( !"]]" . )+ "]]"
float_comma	<- int_dot ( {:decimal: comma :} frac )? !( dot %d )
irrelevant	<- ( screened / . )
float_dot	<- int_comma ({:decimal: dot :} frac)?
item2	<- {| prefix2? value2 suffix2? |}
pipe	<- "|"
exp_10caron	<- multiply %s* "10" %s* "^" %s* {:exp: sign? %s* %d+ :}
separator	<- {:separator: ( ( "<br" ( %s* "/" )? ">" ) / [,;%nl] %s* ) :}
exp_e	<- [eE] %s* {:exp: sign? %s* %d+ :}
mode1	<- item1 ( separator? item1 )* tail? {:mode: tag1 :}
prefix1	<- {:prefix: ( !value1 irrelevant )+ :}
exp	<- exp_e / exp_10caron / exp_10sup
prefix2	<- {:prefix: ( !value2 irrelevant )+ :}
screen	<- ":"
alias	<- {:alias: ( !close . )+ :}
value1	<- open !screen %s* value_quoted ( %s* pipe %s* alias )? %s* close
tail	<- {:tail: .+ :}
frac	<- {:frac: %d+ :}
exp_10sup	<- multiply %s* "10" %s* "<sup>" %s* {:exp: sign? %s* %d+ :} %s* "</sup>"
value_quoted	<- quantity
int_comma	<- {:classes: {| senior ( {:class_sep: %s+ / comma / "" :} class )* |} :}
senior	<- { %d+ }
open	<- "[["
sign	<- [+-]?
tag2	<- {`plain`}
quantity	<- {:sign: sign :} %s* ( float_comma / float_dot ) %s* exp?
comma	<- ","
multiply	<- [*•⋅]
value_plain	<- quantity
value2	<- value_plain
suffix1	<- {:suffix: ( !value1 !separator irrelevant )+ :}
item1	<- {| prefix1? value1 suffix1? |}
Quoted and irrelevant
[[42]] (in [[Russia]])
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "42",
    },
    ["sign"] = "",
    ["suffix"] = " (in [[Russia]])",
  },
  ["mode"] = "[[ wikilink ]]",
}
Plain dot-separated float with spaces
1 004.5
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "1",
      "004",
      ["class_sep"] = " ",
    },
    ["decimal"] = ".",
    ["frac"] = "5",
    ["sign"] = "",
  },
  ["mode"] = "plain",
}
Comma-sep. two plain dot-sep. floats
4.5, 6.7
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "4",
    },
    ["decimal"] = ".",
    ["frac"] = "5",
    ["sign"] = "",
  },
  table#4 {
    ["classes"] = table#5 {
      "6",
    },
    ["decimal"] = ".",
    ["frac"] = "7",
    ["sign"] = "",
  },
  ["mode"] = "plain",
  ["separator"] = ", ",
}
Plain comma-separated float
4,5
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "4",
    },
    ["decimal"] = ",",
    ["frac"] = "5",
    ["sign"] = "",
  },
  ["mode"] = "plain",
}
Quoted integer and screened
[[45]] (in [[:1945]])
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "45",
    },
    ["sign"] = "",
    ["suffix"] = " (in [[:1945]])",
  },
  ["mode"] = "[[ wikilink ]]",
}
Plain two-digits integer
45
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "45",
    },
    ["sign"] = "",
  },
  ["mode"] = "plain",
}
Plain dot-separated float
4.5
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "4",
    },
    ["decimal"] = ".",
    ["frac"] = "5",
    ["sign"] = "",
  },
  ["mode"] = "plain",
}
Quoted comma-separated float with exp. e
[[1,5e2]]
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "1",
    },
    ["decimal"] = ",",
    ["exp"] = "2",
    ["frac"] = "5",
    ["sign"] = "",
  },
  ["mode"] = "[[ wikilink ]]",
}
Quoted dot-separated float with commas
[[1,004.5]]
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "1",
      "004",
      ["class_sep"] = ",",
    },
    ["decimal"] = ".",
    ["frac"] = "5",
    ["sign"] = "",
  },
  ["mode"] = "[[ wikilink ]]",
}
Quoted dot-separated float
[[4.5]]
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "4",
    },
    ["decimal"] = ".",
    ["frac"] = "5",
    ["sign"] = "",
  },
  ["mode"] = "[[ wikilink ]]",
}
Quoted one-digit integer
[[5]]
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "5",
    },
    ["sign"] = "",
  },
  ["mode"] = "[[ wikilink ]]",
}
Plain comma-separated float with dots
1.004,5
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "1",
      "004",
      ["class_sep"] = ".",
    },
    ["decimal"] = ",",
    ["frac"] = "5",
    ["sign"] = "",
  },
  ["mode"] = "plain",
}
Comma-sep. two plain comma-sep. floats
4,5, 6,7
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "4",
    },
    ["decimal"] = ",",
    ["frac"] = "5",
    ["sign"] = "",
  },
  table#4 {
    ["classes"] = table#5 {
      "6",
    },
    ["decimal"] = ",",
    ["frac"] = "7",
    ["sign"] = "",
  },
  ["mode"] = "plain",
  ["separator"] = ", ",
}
Plain one-digit integer
5
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "5",
    },
    ["sign"] = "",
  },
  ["mode"] = "plain",
}
Plain dot-separated float with commas
1,004.5
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "1",
      "004",
      ["class_sep"] = ",",
    },
    ["decimal"] = ".",
    ["frac"] = "5",
    ["sign"] = "",
  },
  ["mode"] = "plain",
}
Quoted comma-separated float
[[4,5]]
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "4",
    },
    ["decimal"] = ",",
    ["frac"] = "5",
    ["sign"] = "",
  },
  ["mode"] = "[[ wikilink ]]",
}
Two quoted two-digits integer
[[45]] and [[67]]
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "45",
    },
    ["sign"] = "",
    ["suffix"] = " and ",
  },
  table#4 {
    ["classes"] = table#5 {
      "67",
    },
    ["sign"] = "",
  },
  ["mode"] = "[[ wikilink ]]",
}
Quoted comma-separated float with dots
[[1.004,5]]
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "1",
      "004",
      ["class_sep"] = ".",
    },
    ["decimal"] = ",",
    ["frac"] = "5",
    ["sign"] = "",
  },
  ["mode"] = "[[ wikilink ]]",
}
Quoted comma-separated float with spaces
[[1 004,5]]
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "1",
      "004",
      ["class_sep"] = " ",
    },
    ["decimal"] = ",",
    ["frac"] = "5",
    ["sign"] = "",
  },
  ["mode"] = "[[ wikilink ]]",
}
Quoted dot-separated float with spaces
[[1 004.5]]
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "1",
      "004",
      ["class_sep"] = " ",
    },
    ["decimal"] = ".",
    ["frac"] = "5",
    ["sign"] = "",
  },
  ["mode"] = "[[ wikilink ]]",
}
Plain comma-separated float with spaces
1 004,5
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "1",
      "004",
      ["class_sep"] = " ",
    },
    ["decimal"] = ",",
    ["frac"] = "5",
    ["sign"] = "",
  },
  ["mode"] = "plain",
}
Quoted two-digits integer
[[45]]
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "45",
    },
    ["sign"] = "",
  },
  ["mode"] = "[[ wikilink ]]",
}
Plain comma-separated float with exponent e
1,5e2
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "1",
    },
    ["decimal"] = ",",
    ["exp"] = "2",
    ["frac"] = "5",
    ["sign"] = "",
  },
  ["mode"] = "plain",
}
S.-comma-sep. two plain comma-sep. floats
4,5; 6,7
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "4",
    },
    ["decimal"] = ",",
    ["frac"] = "5",
    ["sign"] = "",
  },
  table#4 {
    ["classes"] = table#5 {
      "6",
    },
    ["decimal"] = ",",
    ["frac"] = "7",
    ["sign"] = "",
  },
  ["mode"] = "plain",
  ["separator"] = "; ",
}

Free string

param	<- {| mode1 / mode2 / tail |} !.
mode1	<- item1 ( separator? item1 )* tail? {:mode: tag1 :}
prefix1	<- {:prefix: ( !value1 irrelevant )+ :}
close	<- "]]"
prefix2	<- {:prefix: ( !value2 irrelevant )+ :}
tail	<- {:tail: .+ :}
screen	<- ":"
tag1	<- {`[[ wikilink ]]`}
suffix2	<- {:suffix: ( !value2 !separator irrelevant )+ :}
mode2	<- item2 ( separator? item2 )* tail? {:mode: tag2 :}
value_quoted	<- {:value: ( !pipe !close . )+ :}
value1	<- open !screen %s* value_quoted ( %s* pipe %s* alias )? %s* close
irrelevant	<- ( screened / . )
screened	<- "[[" %s* ":" ( !"]]" . )+ "]]"
open	<- "[["
tag2	<- {`plain`}
item2	<- {| prefix2? value2 suffix2? |}
pipe	<- "|"
alias	<- {:alias: ( !close . )+ :}
separator	<- {:separator: ( ( "<br" ( %s* "/" )? ">" ) / [,;%nl] %s* ) :}
value_plain	<- {:value: ( !separator !screened . )+ :}
value2	<- value_plain
suffix1	<- {:suffix: ( !value1 !separator irrelevant )+ :}
item1	<- {| prefix1? value1 suffix1? |}
Single plain with suffix
01.234.567 or something
table#1 {
  table#2 {
    ["value"] = "01.234.567 or something",
  },
  ["mode"] = "plain",
}
Several quoted
[[01.234.567]] [[89.012.345]]
table#1 {
  table#2 {
    ["suffix"] = " ",
    ["value"] = "01.234.567",
  },
  table#3 {
    ["value"] = "89.012.345",
  },
  ["mode"] = "[[ wikilink ]]",
}
Single quoted
[[01.234.567]]
table#1 {
  table#2 {
    ["value"] = "01.234.567",
  },
  ["mode"] = "[[ wikilink ]]",
}
Separated plain
01.234.567, 89.012.345
table#1 {
  table#2 {
    ["value"] = "01.234.567",
  },
  table#3 {
    ["value"] = "89.012.345",
  },
  ["mode"] = "plain",
  ["separator"] = ", ",
}
Quoted but screened
[[:01.234.567]]
table#1 {
  ["tail"] = "[[:01.234.567]]",
}
Screened and not
[[:01.234.567]] [[89.012.345]]
table#1 {
  table#2 {
    ["prefix"] = "[[:01.234.567]] ",
    ["value"] = "89.012.345",
  },
  ["mode"] = "[[ wikilink ]]",
}
Screened and plain
[[:01.234.567]] 89.012.345
table#1 {
  table#2 {
    ["prefix"] = "[[:01.234.567]]",
    ["value"] = " 89.012.345",
  },
  ["mode"] = "plain",
}
Separated quoted
[[01.234.567]], [[89.012.345]]
table#1 {
  table#2 {
    ["value"] = "01.234.567",
  },
  table#3 {
    ["value"] = "89.012.345",
  },
  ["mode"] = "[[ wikilink ]]",
  ["separator"] = ", ",
}
Several quoted, prefixed
[[01.234.567]] and [[89.012.345]]
table#1 {
  table#2 {
    ["suffix"] = " and ",
    ["value"] = "01.234.567",
  },
  table#3 {
    ["value"] = "89.012.345",
  },
  ["mode"] = "[[ wikilink ]]",
}
Single plain
01.234.567
table#1 {
  table#2 {
    ["value"] = "01.234.567",
  },
  ["mode"] = "plain",
}
Quoted with alias
[[01.234.567|you know]]
table#1 {
  table#2 {
    ["alias"] = "you know",
    ["value"] = "01.234.567",
  },
  ["mode"] = "[[ wikilink ]]",
}
Single quoted with prefix
About [[01.234.567]]
table#1 {
  table#2 {
    ["prefix"] = "About ",
    ["value"] = "01.234.567",
  },
  ["mode"] = "[[ wikilink ]]",
}
Single quoted with suffix
[[01.234.567]] or something
table#1 {
  table#2 {
    ["suffix"] = " or something",
    ["value"] = "01.234.567",
  },
  ["mode"] = "[[ wikilink ]]",
}
Single plain with prefix
About 01.234.567
table#1 {
  table#2 {
    ["value"] = "About 01.234.567",
  },
  ["mode"] = "plain",
}

Quantity

param	<- {| mode1 / mode2 / tail |} !.
close	<- "]]"
class	<- { %d^3 }
tag1	<- {`[[ wikilink ]]`}
suffix2	<- {:suffix: ( !value2 !separator irrelevant )+ :}
dot	<- "."
mode2	<- item2 ( separator? item2 )* tail? {:mode: tag2 :}
int_dot	<- {:classes: {| senior ( {:class_sep: %s+ / dot / "" :} class )* |} :}
screened	<- "[[" %s* ":" ( !"]]" . )+ "]]"
float_comma	<- int_dot ( {:decimal: comma :} frac )? !( dot %d )
irrelevant	<- ( screened / . )
float_dot	<- int_comma ({:decimal: dot :} frac)?
item2	<- {| prefix2? value2 suffix2? |}
pipe	<- "|"
exp_10caron	<- multiply %s* "10" %s* "^" %s* {:exp: sign? %s* %d+ :}
separator	<- {:separator: ( ( "<br" ( %s* "/" )? ">" ) / [,;%nl] %s* ) :}
exp_e	<- [eE] %s* {:exp: sign? %s* %d+ :}
mode1	<- item1 ( separator? item1 )* tail? {:mode: tag1 :}
prefix1	<- {:prefix: ( !value1 irrelevant )+ :}
exp	<- exp_e / exp_10caron / exp_10sup
prefix2	<- {:prefix: ( !value2 irrelevant )+ :}
screen	<- ":"
alias	<- {:alias: ( !close . )+ :}
value1	<- open !screen %s* value_quoted ( %s* pipe %s* alias )? %s* close
tail	<- {:tail: .+ :}
frac	<- {:frac: %d+ :}
exp_10sup	<- multiply %s* "10" %s* "<sup>" %s* {:exp: sign? %s* %d+ :} %s* "</sup>"
value_quoted	<- quantity
int_comma	<- {:classes: {| senior ( {:class_sep: %s+ / comma / "" :} class )* |} :}
senior	<- { %d+ }
open	<- "[["
sign	<- [+-]?
tag2	<- {`plain`}
quantity	<- {:sign: sign :} %s* ( float_comma / float_dot ) %s* exp? %s* {:unit: "мкм" / "мм" / "см" / "м" / "км" :}
comma	<- ","
multiply	<- [*•⋅]
value_plain	<- quantity
value2	<- value_plain
suffix1	<- {:suffix: ( !value1 !separator irrelevant )+ :}
item1	<- {| prefix1? value1 suffix1? |}
Quoted and irrelevant
[[42]] (in [[Russia]])
table#1 {
  ["tail"] = "[[42]] (in [[Russia]])",
}
Plain dot-separated float with spaces
1 004.5
table#1 {
  ["tail"] = "1 004.5",
}
Comma-sep. two plain dot-sep. floats
4.5, 6.7
table#1 {
  ["tail"] = "4.5, 6.7",
}
Plain comma-separated float
4,5
table#1 {
  ["tail"] = "4,5",
}
Quoted integer and screened
[[45]] (in [[:1945]])
table#1 {
  ["tail"] = "[[45]] (in [[:1945]])",
}
Plain two-digits integer; unit
45 м
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "45",
    },
    ["sign"] = "",
    ["unit"] = "м",
  },
  ["mode"] = "plain",
}
Quoted comma-separated float with exp. e
[[1,5e2]]
table#1 {
  ["tail"] = "[[1,5e2]]",
}
Quoted dot-separated float with commas
[[1,004.5]]
table#1 {
  ["tail"] = "[[1,004.5]]",
}
Plain two-digits integer
45
table#1 {
  ["tail"] = "45",
}
Plain comma-separated float; unit
4,5 м
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "4",
    },
    ["decimal"] = ",",
    ["frac"] = "5",
    ["sign"] = "",
    ["unit"] = "м",
  },
  ["mode"] = "plain",
}
Plain comma-separated float with exponent e
1,5e2
table#1 {
  ["tail"] = "1,5e2",
}
Quoted comma-separated float with dots
[[1.004,5]]
table#1 {
  ["tail"] = "[[1.004,5]]",
}
Quoted comma-separated float with spaces
[[1 004,5]]
table#1 {
  ["tail"] = "[[1 004,5]]",
}
Quoted dot-separated float
[[4.5]]
table#1 {
  ["tail"] = "[[4.5]]",
}
Quoted one-digit integer
[[5]]
table#1 {
  ["tail"] = "[[5]]",
}
Plain comma-separated float with dots
1.004,5
table#1 {
  ["tail"] = "1.004,5",
}
Comma-sep. two plain comma-sep. floats
4,5, 6,7
table#1 {
  ["tail"] = "4,5, 6,7",
}
Plain one-digit integer
5
table#1 {
  ["tail"] = "5",
}
Plain dot-separated float with commas
1,004.5
table#1 {
  ["tail"] = "1,004.5",
}
Quoted comma-separated float
[[4,5]]
table#1 {
  ["tail"] = "[[4,5]]",
}
Two quoted two-digits integer
[[45]] and [[67]]
table#1 {
  ["tail"] = "[[45]] and [[67]]",
}
Comma-sep. two plain comma-sep. floats; u.
4,5 м, 6,7 м
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "4",
    },
    ["decimal"] = ",",
    ["frac"] = "5",
    ["sign"] = "",
    ["unit"] = "м",
  },
  table#4 {
    ["classes"] = table#5 {
      "6",
    },
    ["decimal"] = ",",
    ["frac"] = "7",
    ["sign"] = "",
    ["unit"] = "м",
  },
  ["mode"] = "plain",
  ["separator"] = ", ",
}
Quoted two-digits integer
[[45]]
table#1 {
  ["tail"] = "[[45]]",
}
Quoted dot-separated float with spaces
[[1 004.5]]
table#1 {
  ["tail"] = "[[1 004.5]]",
}
Plain comma-separated float with spaces
1 004,5
table#1 {
  ["tail"] = "1 004,5",
}
Plain dot-separated float
4.5
table#1 {
  ["tail"] = "4.5",
}
Two quoted two-digits integer, unit
[[45 м]] and [[67м]]
table#1 {
  table#2 {
    ["classes"] = table#3 {
      "45",
    },
    ["sign"] = "",
    ["suffix"] = " and ",
    ["unit"] = "м",
  },
  table#4 {
    ["classes"] = table#5 {
      "67",
    },
    ["sign"] = "",
    ["unit"] = "м",
  },
  ["mode"] = "[[ wikilink ]]",
}
S.-comma-sep. two plain comma-sep. floats
4,5; 6,7
table#1 {
  ["tail"] = "4,5; 6,7",
}

Page

param	<- {| mode1 / mode2 / tail |} !.
mode1	<- item1 ( separator? item1 )* tail? {:mode: tag1 :}
prefix1	<- {:prefix: ( !value1 irrelevant )+ :}
close	<- "]]"
prefix2	<- {:prefix: ( !value2 irrelevant )+ :}
tail	<- {:tail: .+ :}
screen	<- ":"
tag1	<- {`[[ wikilink ]]`}
suffix2	<- {:suffix: ( !value2 !separator irrelevant )+ :}
ns	<- "Обсуждение" / "Talk" / "Участник" / "User" / "Участница" / "Обсуждение участника" / "User talk" / "Обсуждение участницы" / "Традиция" / "Project" / "Т" / "Traditio" / "Обсуждение Традиции" / "Project talk" / "Обсуждение Traditio" / "Файл" / "File" / "Изображение" / "Image" / "Обсуждение файла" / "File talk" / "Обсуждение изображения" / "Image talk" / "MediaWiki" / "MediaWiki" / "Обсуждение MediaWiki" / "MediaWiki talk" / "Шаблон" / "Template" / "Обсуждение шаблона" / "Template talk" / "Справка" / "Help" / "Обсуждение справки" / "Help talk" / "Категория" / "Category" / "Обсуждение категории" / "Category talk" / "Rule" / "Rule" / "Обсуждение текста" / "Обсуждение текста" / "Text talk" / "Служебная" / "Special" / "Медиа" / "Media" / "TimedText talk" / "TimedText talk" / "GeoJson" / "GeoJson" / "Обсуждение определения гаджета" / "Gadget definition talk" / "Обсуждение портала" / "Обсуждение портала" / "Черновик" / "Черновик" / "Draft" / "Обсуждение свойства" / "Обсуждение свойства" / "Property talk" / "" / "" / "(Основное)" / "Обсуждение формы" / "Form talk" / "Обсуждение концепции" / "Обсуждение концепции" / "Concept talk" / "Определение гаджета" / "Gadget definition" / "smw/schema talk" / "smw/schema talk" / "Rule talk" / "Rule talk" / "Обсуждение черновика" / "Обсуждение черновика" / "Draft talk" / "Campaign" / "Campaign" / "TimedText" / "TimedText" / "Свойство" / "Свойство" / "Property" / "Модуль" / "Module" / "Campaign talk" / "Campaign talk" / "Обсуждение модуля" / "Module talk" / "Текст" / "Текст" / "Text" / "Портал" / "Портал" / "GeoJson talk" / "GeoJson talk" / "Форма" / "Form" / "Концепция" / "Концепция" / "Concept" / "Обсуждение гаджета" / "Gadget talk" / "smw/schema" / "smw/schema" / "Гаджет" / "Gadget"
mode2	<- item2 ( separator? item2 )* tail? {:mode: tag2 :}
alias	<- {:alias: ( !close . )+ :}
value1	<- open !screen %s* value_quoted ( %s* pipe %s* alias )? %s* close
screened	<- "[[" %s* ":" ( !"]]" . )+ "]]"
value_quoted	<- ( {:namespace: ns :} %s* ":" %s* )? {:page: ( !pipe !close legal )+ :} ( hashtag {:section: ( !pipe !close . )+ :} )?
irrelevant	<- ( screened / . )
hashtag	<- "#"
open	<- "[["
legal	<- [^]#<>[|{}_]
item2	<- {| prefix2? value2 suffix2? |}
pipe	<- "|"
tag2	<- {`plain`}
separator	<- {:separator: ( ( "<br" ( %s* "/" )? ">" ) / [,;%nl] %s* ) :}
value_plain	<- ( {:namespace: ns :} %s* ":" %s* )? {:page: ( !separator legal )+ :} ( hashtag {:section: ( !%s !separator . )+ :} )?
value2	<- value_plain
suffix1	<- {:suffix: ( !value1 !separator irrelevant )+ :}
item1	<- {| prefix1? value1 suffix1? |}
Quoted section
[[Title#section 1]]
table#1 {
  table#2 {
    ["page"] = "Title",
    ["section"] = "section 1",
  },
  ["mode"] = "[[ wikilink ]]",
}
Quoted, ,-separated
[[Title1]], [[title2]]
table#1 {
  table#2 {
    ["page"] = "Title1",
  },
  table#3 {
    ["page"] = "title2",
  },
  ["mode"] = "[[ wikilink ]]",
  ["separator"] = ", ",
}
Plain text, NL-separated
Plain 1
Plain 2
table#1 {
  table#2 {
    ["page"] = "Plain 1",
  },
  table#3 {
    ["page"] = "Plain 2",
  },
  ["mode"] = "plain",
  ["separator"] = "\
",
}
Only screened
[[:screened]]
table#1 {
  ["tail"] = "[[:screened]]",
}
Plain section
Title#section_1
table#1 {
  table#2 {
    ["page"] = "Title",
    ["section"] = "section_1",
  },
  ["mode"] = "plain",
}
Alias
[[Title|Alias]]
table#1 {
  table#2 {
    ["alias"] = "Alias",
    ["page"] = "Title",
  },
  ["mode"] = "[[ wikilink ]]",
}
Several quoted, not prefixed
[[Title1]] [[title2]]
table#1 {
  table#2 {
    ["page"] = "Title1",
    ["suffix"] = " ",
  },
  table#3 {
    ["page"] = "title2",
  },
  ["mode"] = "[[ wikilink ]]",
}
With namespace
Текст:О величии
table#1 {
  table#2 {
    ["page"] = "Текст:О величии",
  },
  ["mode"] = "plain",
}
Quoted
[[Title]]
table#1 {
  table#2 {
    ["page"] = "Title",
  },
  ["mode"] = "[[ wikilink ]]",
}
Quoted, ,-separated, suffices
[[Title1]] (before), [[title2]] (now)
table#1 {
  table#2 {
    ["page"] = "Title1",
    ["suffix"] = " (before)",
  },
  table#3 {
    ["page"] = "title2",
    ["suffix"] = " (now)",
  },
  ["mode"] = "[[ wikilink ]]",
  ["separator"] = ", ",
}
Screened and some plain
[[:screened]] and some plain
table#1 {
  table#2 {
    ["page"] = " and some plain",
    ["prefix"] = "[[:screened]]",
  },
  ["mode"] = "plain",
}
Plain text
Plain text 1
table#1 {
  table#2 {
    ["page"] = "Plain text 1",
  },
  ["mode"] = "plain",
}
Alias and no alias
[[Title1|Alias]], [[Title2]]
table#1 {
  table#2 {
    ["alias"] = "Alias",
    ["page"] = "Title1",
  },
  table#3 {
    ["page"] = "Title2",
  },
  ["mode"] = "[[ wikilink ]]",
  ["separator"] = ", ",
}
Several quoted, prefixed
[[Title1]] and [[title2]]
table#1 {
  table#2 {
    ["page"] = "Title1",
    ["suffix"] = " and ",
  },
  table#3 {
    ["page"] = "title2",
  },
  ["mode"] = "[[ wikilink ]]",
}
Aliases, prefixes
Two titles [[Title1|1]] and [[Title2|2]]
table#1 {
  table#2 {
    ["alias"] = "1",
    ["page"] = "Title1",
    ["prefix"] = "Two titles ",
    ["suffix"] = " and ",
  },
  table#3 {
    ["alias"] = "2",
    ["page"] = "Title2",
  },
  ["mode"] = "[[ wikilink ]]",
}
Screened
[[Title]] (in [[:1942]])
table#1 {
  table#2 {
    ["page"] = "Title",
    ["suffix"] = " (in [[:1942]])",
  },
  ["mode"] = "[[ wikilink ]]",
}
Tail
[[Title]] (in [[:1942]]), allegedly
table#1 {
  table#2 {
    ["page"] = "Title",
    ["suffix"] = " (in [[:1942]])",
  },
  ["mode"] = "[[ wikilink ]]",
  ["tail"] = ", allegedly",
}
Plain text, ,-separated
Plain text 1, plain text 2
table#1 {
  table#2 {
    ["page"] = "Plain text 1",
  },
  table#3 {
    ["page"] = "plain text 2",
  },
  ["mode"] = "plain",
  ["separator"] = ", ",
}

Formatted string

param	<- {| mode1 / mode2 / tail |} !.
mode1	<- item1 ( separator? item1 )* tail? {:mode: tag1 :}
prefix1	<- {:prefix: ( !value1 irrelevant )+ :}
close	<- "]]"
prefix2	<- {:prefix: ( !value2 irrelevant )+ :}
tail	<- {:tail: .+ :}
screen	<- ":"
tag1	<- {`[[ wikilink ]]`}
suffix2	<- {:suffix: ( !value2 !separator irrelevant )+ :}
mode2	<- item2 ( separator? item2 )* tail? {:mode: tag2 :}
value_quoted	<- {:value: {/\d\d\.\d\d\d\.\d\d\d/} :}
value1	<- open !screen %s* value_quoted ( %s* pipe %s* alias )? %s* close
irrelevant	<- ( screened / . )
screened	<- "[[" %s* ":" ( !"]]" . )+ "]]"
open	<- "[["
tag2	<- {`plain`}
item2	<- {| prefix2? value2 suffix2? |}
pipe	<- "|"
alias	<- {:alias: ( !close . )+ :}
separator	<- {:separator: ( ( "<br" ( %s* "/" )? ">" ) / [,;%nl] %s* ) :}
value_plain	<- {:value: {/\d\d\.\d\d\d\.\d\d\d/} :}
value2	<- value_plain
suffix1	<- {:suffix: ( !value1 !separator irrelevant )+ :}
item1	<- {| prefix1? value1 suffix1? |}
Quoted and irrelevant
[[01.234.567]] (in [[Russia]])
table#1 {
  table#2 {
    ["suffix"] = " (in [[Russia]])",
    ["value"] = "01.234.567",
  },
  ["mode"] = "[[ wikilink ]]",
}
Single plain with suffix
01.234.567 or something
table#1 {
  table#2 {
    ["suffix"] = " or something",
    ["value"] = "01.234.567",
  },
  ["mode"] = "plain",
}
Several quoted
[[01.234.567]] [[89.012.345]]
table#1 {
  table#2 {
    ["suffix"] = " ",
    ["value"] = "01.234.567",
  },
  table#3 {
    ["value"] = "89.012.345",
  },
  ["mode"] = "[[ wikilink ]]",
}
Single quoted
[[01.234.567]]
table#1 {
  table#2 {
    ["value"] = "01.234.567",
  },
  ["mode"] = "[[ wikilink ]]",
}
Several quoted, prefixed
[[01.234.567]] and [[89.012.345]]
table#1 {
  table#2 {
    ["suffix"] = " and ",
    ["value"] = "01.234.567",
  },
  table#3 {
    ["value"] = "89.012.345",
  },
  ["mode"] = "[[ wikilink ]]",
}
Separated plain
01.234.567, 89.012.345
table#1 {
  table#2 {
    ["value"] = "01.234.567",
  },
  table#3 {
    ["value"] = "89.012.345",
  },
  ["mode"] = "plain",
  ["separator"] = ", ",
}
Screened and not
[[:01.234.567]] [[89.012.345]]
table#1 {
  table#2 {
    ["prefix"] = "[[:01.234.567]] ",
    ["value"] = "89.012.345",
  },
  ["mode"] = "[[ wikilink ]]",
}
Quoted but screened
[[:01.234.567]]
table#1 {
  ["tail"] = "[[:01.234.567]]",
}
Screened and plain
[[:01.234.567]] 89.012.345
table#1 {
  table#2 {
    ["prefix"] = "[[:01.234.567]] ",
    ["value"] = "89.012.345",
  },
  ["mode"] = "plain",
}
Separated quoted
[[01.234.567]], [[89.012.345]]
table#1 {
  table#2 {
    ["value"] = "01.234.567",
  },
  table#3 {
    ["value"] = "89.012.345",
  },
  ["mode"] = "[[ wikilink ]]",
  ["separator"] = ", ",
}
Quoted with alias
[[01.234.567|you know]]
table#1 {
  table#2 {
    ["alias"] = "you know",
    ["value"] = "01.234.567",
  },
  ["mode"] = "[[ wikilink ]]",
}
Single plain
01.234.567
table#1 {
  table#2 {
    ["value"] = "01.234.567",
  },
  ["mode"] = "plain",
}
Several plain
01.234.567 and 89.012.345
table#1 {
  table#2 {
    ["suffix"] = " and ",
    ["value"] = "01.234.567",
  },
  table#3 {
    ["value"] = "89.012.345",
  },
  ["mode"] = "plain",
}
Single quoted with prefix
About [[01.234.567]]
table#1 {
  table#2 {
    ["prefix"] = "About ",
    ["value"] = "01.234.567",
  },
  ["mode"] = "[[ wikilink ]]",
}
Single quoted with suffix
[[01.234.567]] or something
table#1 {
  table#2 {
    ["suffix"] = " or something",
    ["value"] = "01.234.567",
  },
  ["mode"] = "[[ wikilink ]]",
}
Single plain with prefix
About 01.234.567
table#1 {
  table#2 {
    ["prefix"] = "About ",
    ["value"] = "01.234.567",
  },
  ["mode"] = "plain",
}