Přeskočit obsah

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:

multiplication.yaml
---
# 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 (---).