created: 20240310165023000
modified: 20260125212303316
tags: [[Call Syntax]]
title: Call Syntax
type: text/vnd.tiddlywiki

<<.preamble """What follows is a formal presentation of the syntax of the WikiText syntax for procedure/function/macro calls, using [[railroad diagrams|Railroad Diagrams]].""">>

!! callee-name

<$railroad text="""
"<<" [[ callee-name |Calls]] [: [[whitespace|"Filter Whitespace"]] [:{param-value}] ]">>"
"""/>

* The <<.place callee-name>> is a sequence of non-whitespace characters other than `(` or `>`.

* <<.place whitespace>> denotes a sequence of [[whitespace characters|Filter Whitespace]].

!!! param-value

Each ''individual'' <<.place param-value>> has the following syntax:

<$railroad text="""
\start none
\end none
(
value
|
param-name [:space] (
":" [:space] value [: space]
|
"=" [:space] new-value [: space]
)
)
"""/>

* The <<.place param-name>> is a sequence of letters (`A`--`Z`, `a`--`z`), digits (`0`--`9`), hyphens (`-`) and underscores (`_`).

* The <<.place value>> is specified as follows:

<$railroad text={{$:/editions/tw5.com/railroad/call-parameter-value}}/>

* <<.from-version 5.4.0>> The <<.place new-value>> can either be a plain <<.place value>> or a full <<.place callee-name>> call, allowing for dynamic parameter values.
