Syntaxe jazyka SP¤
Info
Syntaxe SP-Lang používá [YAML 1.2](https://yaml.org/spec/1.2)
Komentáře¤
Komentář je označen indikátorem #
.
# Tento soubor neobsahuje žádný SP-Lang
# Pouze komentáře.
Čísla¤
Celá čísla¤
kanonický zápis: 12345
kladné číslo: +12345
záporné číslo: -12345
osmičkový zápis: 0o14
hexadecimální zápis: 0xC
Desetinná čísla¤
pevný zápis: 1230.15
kanonický zápis: 1.23015e+3
exponenciální zápis: 12.3015e+02
záporné nekonečno: -.inf
není číslo: .nan
Řetězce¤
řetězec: '012345'
řetězec bez uvozovek: Řetězec můžete zadat i bez uvozovek.
emoji: 😀🚀⭐
Řetězce s uvozovkami:
unicode: "\u263A"
control: "\b1998\t1999\t2000\n"
hexadecimální esc: "\x0d\x0a je \r\n"
singl: '"Nazdar!" zvolal.'
citováno: '# Toto není ''komentář''.'
Víceřádkové řetězce:
|
_____ _____ _
/ ____| __ \ | |
| (___ | |__) |_____| | __ _ _ __ __ _
\___ \| ___/______| | / _` | '_ \ / _` |
____) | | | |___| (_| | | | | (_| |
|_____/|_| |______\__,_|_| |_|\__, |
__/ |
|___/
Doslovný styl (označený |
) zachovává počáteční mezery.
>
Mark McGwire's
year was crippled
by a knee injury.
Složený styl (označený >
) odstraňuje případné odsazení YAML.
Pravdivostní hodnoty (booleans)¤
True boolean: true
False boolean: false
Výrazy¤
Všechny výrazy SP-Lang (alias funkce) začínají na !
, výrazy SP-Lang jsou tedy tagy YAML (!TAG
).
Výrazy mohou být těchto typů:
- Mapování (Mapping)
- Posloupnost (Sequence)
- Skalár (Scalar)
Mapovací výrazy¤
Příklad:
!ENDSWITH
what: FooBar
postfix: Bar
Příklad použití ve formě flow :
!ENDSWITH {what: FooBar, postfix: Bar}
Specifikace YAML
Viz kapitola 10.2. Styly mapování.
Sekvenční výrazy¤
Příklad:
!ADD
- 1
- 2
- 3
Příklad použití ve formě flow :
!ADD [1, 2, 3]
Specifikace YAML
Viz kapitola 10.1. Styly sekvencí.
Sekvenční výraz lze definovat také pomocí argumentu with
:
!ADD
with: [1, 2, 3]
Tip
Jedná se vlastně o mapovací formu sekvenčního výrazu.
Skalární výrazy¤
Příklad:
!ITEM EVENT brambory
Specifikace YAML
Viz kapitola [9. Skalární styly](https://yaml.org/spec/1.1/#id903915)
Kotvy a aliasy¤
SP-Lang využívá YAML kotvy a aliasy.
To znamená, že se můžete odkazovat na výsledek jiného výrazu pomocí kotvy.
Kotva je řetězec začínající znakem "&
".
Výsledek výrazu anotovaného kotvou lze pak znovu použít pomocí aliasu, což je řetězec začínající na "*
" následovaný jménem kotvy.
Na jednu kotvu se může odkazovat více aliasů.
Příklad:
!ADD
- 1
- &subcount !MUL
- 2
- 3
- *subcount
- *subcount
Výsledek je roven 1+(2*3)+(2*3)+(2*3)
, tedy 19
.
Struktura souboru SP-Lang¤
SP-Lang používá tři pomlčky (---
) k oddělení výrazů od obsahu dokumentu.
Slouží také k signalizaci začátku SP-Langu.
Tři tečky ("...
") označují konec souboru bez začátku nového, pro použití v komunikačních kanálech.
Přípona souboru SP-Lang je .yaml
.
Příklad souboru SP-Lang:
---
# Proveďme nějaké základní matematické výpočty
!MUL
- 1
- 2
- 3
Poznámka
Soubor SP-Lang vždy začíná řádkem ---
.
Info
Jeden soubor může obsahovat více výrazů pomocí oddělovače YAML (---
).