Format Definition String
Redirected from FDS
this wiki
A Format Definition String, commonly shortened to FDS, is the meta-language we use to help define FiM++. It's used both on this wiki and the Google Document specification.
Definition
Edit
The simplest part of a FDS is commonly called a phrase.
Phrases can be selected from a list: this behaviour applies when phrases are separated by slashes and put between square brackets (e.g. [phrase 1/phrase 2/...]
). The use of an ellipsis (... or …) indicates that this pattern can be repeated indefinitely.
Definitions, though, are more flexible, and can be generalized.
- Variables, with the statement
<variable:variable type>
(the type is optional) - Literals, with the statement
<literal:literal type>
(the type is optional) - Generic values, which are either variables, literals, or method returns, with the statement
<value:value type>
(the type is optional) - Whitespace, with the statement
<whitespace>
- Punctuation, with the statement
<punctuation>
. Since this language does not care what type of punctuation is used, there is no type for this - Keywords, with the statement
<keyword:specific keyword>
, referring to a statement type - Operators, with the statement
<operator:specific operator>
, referring to an operator type. - Types, with the statement
<type:specific type>
(the type is optional), referring to value type
The statement <solidus>
represents the forward slash (/), and is used to avoid confusion with the phrase selector separator.
This wiki and FDS
Edit
This wiki has a predefined template for code, which visually separates phrases.
It has the form {{tag|<token>|<type>}}.
The template also defines the phrase type type and literal as different.