Editing Format Definition String 0 You are not logged in. The rich text editor does not work with JavaScript switched off. Please either enable it in your browser options, or visit your preferences to switch to the old MediaWiki editor <p data-rte-fromparser="true">A <b>Format Definition String</b>, commonly shortened to <b>FDS</b>, is the meta-language we use to help define FiM++. It's used both on this wiki and <a data-rte-meta="%7B%22type%22%3A%22external%22%2C%22text%22%3A%22the%20Google%20Document%20specification%22%2C%22link%22%3A%22https%3A%5C%2F%5C%2Fdocs.google.com%5C%2Fdocument%5C%2Fd%5C%2F1gU-ZROmZu0Xitw_pfC1ktCDvJH5rM85TxxQf5pg_xmg%5C%2F%22%2C%22linktype%22%3A%22text%22%2C%22wasblank%22%3Afalse%2C%22wikitext%22%3A%22%5Bhttps%3A%5C%2F%5C%2Fdocs.google.com%5C%2Fdocument%5C%2Fd%5C%2F1gU-ZROmZu0Xitw_pfC1ktCDvJH5rM85TxxQf5pg_xmg%5C%2F%20the%20Google%20Document%20specification%5D%22%7D" data-rte-instance="620390-393826640572a27c30070b" rel="nofollow" class="external text" href="https://docs.google.com/document/d/1gU-ZROmZu0Xitw_pfC1ktCDvJH5rM85TxxQf5pg_xmg/">the Google Document specification</a>. </p> <h2 data-rte-spaces-before="1" data-rte-spaces-after="1" data-rte-empty-lines-before="1"> Definition </h2> <p data-rte-fromparser="true" data-rte-empty-lines-before="1">The simplest part of a FDS is commonly called a <b>phrase</b>. </p><p data-rte-fromparser="true" data-rte-empty-lines-before="1">Phrases can be selected from a list: this behaviour applies when phrases are separated by slashes and put between square brackets (e.g. <img data-rte-meta="%7B%22type%22%3A%22double-brackets%22%2C%22lineStart%22%3A%22%22%2C%22title%22%3A%22Code%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%7B%7BCode%7C%7C%5Bphrase%201%5C%2Fphrase%202%5C%2F...%5D%7D%7D%22%7D" data-rte-instance="620390-393826640572a27c30070b" class="placeholder placeholder-double-brackets" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="double-brackets" />). The use of an ellipsis (<tt data-rte-washtml="1">...</tt> or <tt data-rte-washtml="1"><span data-rte-entity="hellip">…</span></tt>) indicates that this pattern can be repeated indefinitely. </p><p data-rte-fromparser="true" data-rte-empty-lines-before="1">Definitions, though, are more flexible, and can be generalized. </p> <ul><li data-rte-spaces-before="1"><a data-rte-meta="%7B%22type%22%3A%22internal%22%2C%22text%22%3A%22Variables%22%2C%22link%22%3A%22Variables%22%2C%22wasblank%22%3Atrue%2C%22noforce%22%3Atrue%2C%22wikitext%22%3A%22%5B%5BVariables%5D%5D%22%7D" data-rte-instance="620390-393826640572a27c30070b" href="/wiki/Variables" title="Variables">Variables</a>, with the statement <img data-rte-meta="%7B%22type%22%3A%22double-brackets%22%2C%22lineStart%22%3A%22%22%2C%22title%22%3A%22tag%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%7B%7Btag%7Cvariable%7Cvariable%20type%7D%7D%22%7D" data-rte-instance="620390-393826640572a27c30070b" class="placeholder placeholder-double-brackets" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="double-brackets" /> (the type is optional) </li><li data-rte-spaces-before="1"><a data-rte-meta="%7B%22type%22%3A%22internal%22%2C%22text%22%3A%22Literals%22%2C%22link%22%3A%22Literals%22%2C%22wasblank%22%3Atrue%2C%22noforce%22%3Atrue%2C%22wikitext%22%3A%22%5B%5BLiterals%5D%5D%22%7D" data-rte-instance="620390-393826640572a27c30070b" href="/wiki/Literals" title="Literals" class="mw-redirect">Literals</a>, with the statement <img data-rte-meta="%7B%22type%22%3A%22double-brackets%22%2C%22lineStart%22%3A%22%22%2C%22title%22%3A%22tag%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%7B%7Btag%7Cliteral%7Cliteral%20type%7D%7D%22%7D" data-rte-instance="620390-393826640572a27c30070b" class="placeholder placeholder-double-brackets" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="double-brackets" /> (the type is optional) </li><li data-rte-spaces-before="1">Generic values, which are either variables, literals, or method returns, with the statement <img data-rte-meta="%7B%22type%22%3A%22double-brackets%22%2C%22lineStart%22%3A%22%22%2C%22title%22%3A%22tag%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%7B%7Btag%7Cvalue%7Cvalue%20type%7D%7D%22%7D" data-rte-instance="620390-393826640572a27c30070b" class="placeholder placeholder-double-brackets" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="double-brackets" /> (the type is optional) </li><li data-rte-spaces-before="1"><a data-rte-meta="%7B%22type%22%3A%22internal%22%2C%22text%22%3A%22Whitespace%22%2C%22link%22%3A%22Whitespace%22%2C%22wasblank%22%3Atrue%2C%22noforce%22%3Atrue%2C%22wikitext%22%3A%22%5B%5BWhitespace%5D%5D%22%7D" data-rte-instance="620390-393826640572a27c30070b" href="/wiki/Whitespace" title="Whitespace">Whitespace</a>, with the statement <img data-rte-meta="%7B%22type%22%3A%22double-brackets%22%2C%22lineStart%22%3A%22%22%2C%22title%22%3A%22tag%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%7B%7Btag%7Cwhitespace%7D%7D%22%7D" data-rte-instance="620390-393826640572a27c30070b" class="placeholder placeholder-double-brackets" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="double-brackets" /> </li><li data-rte-spaces-before="1"><a data-rte-meta="%7B%22type%22%3A%22internal%22%2C%22text%22%3A%22Punctuation%22%2C%22link%22%3A%22Punctuation%22%2C%22wasblank%22%3Atrue%2C%22noforce%22%3Atrue%2C%22wikitext%22%3A%22%5B%5BPunctuation%5D%5D%22%7D" data-rte-instance="620390-393826640572a27c30070b" href="/wiki/Punctuation" title="Punctuation">Punctuation</a>, with the statement <img data-rte-meta="%7B%22type%22%3A%22double-brackets%22%2C%22lineStart%22%3A%22%22%2C%22title%22%3A%22tag%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%7B%7Btag%7Cpunctuation%7D%7D%22%7D" data-rte-instance="620390-393826640572a27c30070b" class="placeholder placeholder-double-brackets" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="double-brackets" />. Since this language does not care what type of punctuation is used, there is no type for this </li><li data-rte-spaces-before="1"><a data-rte-meta="%7B%22type%22%3A%22internal%22%2C%22text%22%3A%22Keywords%22%2C%22link%22%3A%22Keywords%22%2C%22wasblank%22%3Atrue%2C%22noforce%22%3Atrue%2C%22wikitext%22%3A%22%5B%5BKeywords%5D%5D%22%7D" data-rte-instance="620390-393826640572a27c30070b" href="/wiki/Keywords" title="Keywords">Keywords</a>, with the statement <img data-rte-meta="%7B%22type%22%3A%22double-brackets%22%2C%22lineStart%22%3A%22%22%2C%22title%22%3A%22tag%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%7B%7Btag%7Ckeyword%7Cspecific%20keyword%7D%7D%22%7D" data-rte-instance="620390-393826640572a27c30070b" class="placeholder placeholder-double-brackets" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="double-brackets" />, referring to a statement type </li><li data-rte-spaces-before="1"><a data-rte-meta="%7B%22type%22%3A%22internal%22%2C%22text%22%3A%22Operators%22%2C%22link%22%3A%22Operators%22%2C%22wasblank%22%3Atrue%2C%22noforce%22%3Atrue%2C%22wikitext%22%3A%22%5B%5BOperators%5D%5D%22%7D" data-rte-instance="620390-393826640572a27c30070b" href="/wiki/Operators" title="Operators">Operators</a>, with the statement <img data-rte-meta="%7B%22type%22%3A%22double-brackets%22%2C%22lineStart%22%3A%22%22%2C%22title%22%3A%22tag%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%7B%7Btag%7Coperator%7Cspecific%20operator%7D%7D%22%7D" data-rte-instance="620390-393826640572a27c30070b" class="placeholder placeholder-double-brackets" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="double-brackets" />, referring to an operator type. </li><li data-rte-spaces-before="1"><a data-rte-meta="%7B%22type%22%3A%22internal%22%2C%22text%22%3A%22Types%22%2C%22link%22%3A%22Types%22%2C%22wasblank%22%3Atrue%2C%22noforce%22%3Atrue%2C%22wikitext%22%3A%22%5B%5BTypes%5D%5D%22%7D" data-rte-instance="620390-393826640572a27c30070b" href="/wiki/Types?action=edit&redlink=1" class="new" title="Types (page does not exist)">Types</a>, with the statement <img data-rte-meta="%7B%22type%22%3A%22double-brackets%22%2C%22lineStart%22%3A%22%22%2C%22title%22%3A%22tag%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%7B%7Btag%7Ctype%7Cspecific%20type%7D%7D%22%7D" data-rte-instance="620390-393826640572a27c30070b" class="placeholder placeholder-double-brackets" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="double-brackets" /> (the type is optional), referring to value type </li></ul> <p data-rte-fromparser="true" data-rte-empty-lines-before="1">The statement <img data-rte-meta="%7B%22type%22%3A%22double-brackets%22%2C%22lineStart%22%3A%22%22%2C%22title%22%3A%22tag%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%7B%7Btag%7Csolidus%7D%7D%22%7D" data-rte-instance="620390-393826640572a27c30070b" class="placeholder placeholder-double-brackets" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="double-brackets" /> represents the forward slash (<tt data-rte-washtml="1">/</tt>), and is used to avoid confusion with the phrase selector separator. </p> <h2 data-rte-spaces-before="1" data-rte-spaces-after="1" data-rte-empty-lines-before="1"> This wiki and FDS </h2> <p data-rte-fromparser="true" data-rte-empty-lines-before="1">This wiki has a predefined template for code, which visually separates phrases. </p><p data-rte-fromparser="true" data-rte-empty-lines-before="1">It has the form <tt data-rte-washtml="1"><img data-rte-meta="%7B%22type%22%3A%22double-brackets%22%2C%22lineStart%22%3A%22%22%2C%22title%22%3A%22t%22%2C%22placeholder%22%3A1%2C%22wikitext%22%3A%22%7B%7Bt%7Ctag%7Ctoken%7Ctype%7D%7D%22%7D" data-rte-instance="620390-393826640572a27c30070b" class="placeholder placeholder-double-brackets" src="data:image/gif;base64,R0lGODlhAQABAIABAAAAAP///yH5BAEAAAEALAAAAAABAAEAQAICTAEAOw%3D%3D" type="double-brackets" /></tt>. </p><p data-rte-fromparser="true" data-rte-empty-lines-before="1">The template also defines the phrase type <b>type</b> and <b>literal</b> as different. </p> Loading editor Below are some commonly used wiki markup codes. Simply click on what you want to use and it will appear in the edit box above. Insert: – — … ° ≈ ≠ ≤ ≥ ± − × ÷ ← → · § Sign your username: ~~~~ Wiki markup: {{}} | [] [[]] [[Category:]] #REDIRECT [[]] <s></s> <sup></sup> <sub></sub> <code></code> <blockquote></blockquote> <ref></ref> {{Reflist}} <references/> <includeonly></includeonly> <noinclude></noinclude> {{DEFAULTSORT:}} <nowiki></nowiki> <!-- --> <span class="plainlinks"></span> Symbols: ~ | ¡ ¿ † ‡ ↔ ↑ ↓ • ¶ # ¹ ² ³ ½ ⅓ ⅔ ¼ ¾ ⅛ ⅜ ⅝ ⅞ ∞ ‘ “ ’ ” «» ¤ ₳ ฿ ₵ ¢ ₡ ₢ $ ₫ ₯ € ₠ ₣ ƒ ₴ ₭ ₤ ℳ ₥ ₦ № ₧ ₰ £ ៛ ₨ ₪ ৳ ₮ ₩ ¥ ♠ ♣ ♥ ♦ View this template This field is a spam trap. DO NOT fill it in! Edit summary Preview Mobile Desktop Show changes