KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
KretL — referencja składni
KretL — referencja składni
Status 1.0: `FROZEN_1_0` — pełny zakres 1.0, stabilny kontrakt, testy zgodności. Gramatyka/wersja: kretl-1.0. Status języka nie nadaje uprawnień KCS ani prawa do działania w Production.Opisane są wyłącznie konstrukcje potwierdzone implementacją SDK (i, gdzie zaznaczono, testami tej rundy).
manifestVersion
Wersja formatu manifestu; pierwsze pole.
manifestVersion "1.0"
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
manifestVersion "1.0"Wersja formatu manifestu KretL.
| Cecha | Wartość |
|---|---|
| Parametry / typy | tekst "1.0" (jedyna wartość) |
| Wynik | — |
| Wymagania | obowiązkowe |
| Ograniczenia | inna wartość = odrzucenie |
| Możliwe błędy | KCS-KRL-02xx (KL-I06) |
| Wprowadzono | 1.0 |
plugin { id name version }
Tożsamość pluginu.
plugin {
id "LOCAL-KPL-XXXXXXXX"
name "Nazwa"
version "1.0.0"
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
plugin {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.id "LOCAL-KPL-XXXXXXXX"Pole tożsamości lub wersji w otaczającym bloku; zachowaj jego kontekst.name "Nazwa"Pole tożsamości lub wersji w otaczającym bloku; zachowaj jego kontekst.version "1.0.0"Pole tożsamości lub wersji w otaczającym bloku; zachowaj jego kontekst.}Zamknięcie struktury otwartej we wcześniejszych liniach.
| Cecha | Wartość |
|---|---|
| Parametry / typy | id: identyfikator KCS rodziny KPL (oficjalny albo LOCAL-KPL- + 8 znaków z alfabetu A–H J–N P–Z 2–9); name: 1–64 znaki; version: SemVer |
| Wynik | — |
| Wymagania | obowiązkowe, dokładnie jeden blok |
| Ograniczenia | id innej rodziny (np. KLIB-) odrzucany |
| Możliwe błędy | KCS-ID-*, KCS-VER-1, KCS-KRL-0204 |
| Wprowadzono | 1.0 |
namespace, creatorId, metadata
Przestrzeń nazw (KCS-ID-8), identyfikator twórcy, dowolne metadane.
namespace "kretos.examples.x"
creatorId "kret-docs"
metadata {
author "…"
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
namespace "kretos.examples.x"Pole tożsamości lub wersji w otaczającym bloku; zachowaj jego kontekst.creatorId "kret-docs"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.metadata {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.author "…"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.
| Cecha | Wartość |
|---|---|
| Parametry / typy | creatorId: [A-Za-z0-9._-]{1,64}; metadata: jedyny blok z dowolnymi polami |
| Wynik | — |
| Wymagania | opcjonalne |
| Ograniczenia | format creatorId nieustalony (KL-T08) |
| Możliwe błędy | KCS-KRL-0202 |
| Wprowadzono | 1.0 |
compatibility
Zgodność z Core i API.
compatibility {
core { min "0.5.0" }
api { min "1.6" }
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
compatibility {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.core { min "0.5.0" }Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.api { min "1.6" }Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.}Zamknięcie struktury otwartej we wcześniejszych liniach.
| Cecha | Wartość |
|---|---|
| Parametry / typy | Core: SemVer, max SemVer albo N.x; API: MAJOR.MINOR albo N.x |
| Wynik | — |
| Wymagania | min obowiązkowe |
| Ograniczenia | niezgodne wersje → KPM incompatible |
| Możliwe błędy | KCS-VER-* |
| Wprowadzono | 1.0 |
permissions
Deklaracja uprawnień z katalogu KCS (168 nazw).
permissions {
required {
logs.own.write
}
optional {
kretdb.read
}
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
permissions {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.required {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.logs.own.writeOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.optional {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.kretdb.readOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.
| Cecha | Wartość |
|---|---|
| Parametry / typy | nazwy KCS, dowolna liczba segmentów zgodna z katalogiem |
| Wynik | — |
| Wymagania | opcjonalne; wymagane, gdy kod używa operacji hosta |
| Ograniczenia | każda nazwa raz; deklaracja ≠ przyznanie |
| Możliwe błędy | KCS-KRL-0206 (nieznana / unknown), KCS-KRL-0302 (brak w kodzie / missing for code) |
| Wprowadzono | 1.0 |
lifecycle
Operacje cyklu życia: install start suspend resume update repair healthcheck shutdown uninstall.
lifecycle {
start "Main.Start" timeout 5s
shutdown "Main.Shutdown" timeout 2s
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
lifecycle {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.start "Main.Start" timeout 5sOdwołanie lifecycle do funkcji KretS; sprawdź nazwę i timeout.shutdown "Main.Shutdown" timeout 2sOdwołanie lifecycle do funkcji KretS; sprawdź nazwę i timeout.}Zamknięcie struktury otwartej we wcześniejszych liniach.
| Cecha | Wartość |
|---|---|
| Parametry / typy | "Moduł.funkcja" KretS bez parametrów; timeout 1 ms – 10 min (domyślnie 5 s) |
| Wynik | handler zwraca typ KCS (np. String, Unit) |
| Wymagania | start i shutdown obowiązkowe |
| Ograniczenia | Core nie restartuje automatycznie (KL-C04) |
| Możliwe błędy | KCS-KRL-0204, KCS-KRL-0301, KCS-KRL-0303 |
| Wprowadzono | 1.0 |
execution
Tryb wykonania.
execution { primary "onDemand" }
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
execution { primary "onDemand" }Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.
| Cecha | Wartość |
|---|---|
| Parametry / typy | tekst (np. "onDemand") |
| Wynik | — |
| Wymagania | obowiązkowe |
| Ograniczenia | lista dozwolonych wartości nieustalona w bazie wiedzy; tryb dodatkowy wymaga zgody użytkownika po stronie hosta |
| Możliwe błędy | KCS-KRL-0204 |
| Wprowadzono | 1.0 |
handlers
Komendy i zdarzenia, które host może dostarczyć pluginowi (on nazwa(…) w KretS).
handlers {
command "counter.add"
event "order.placed"
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
handlers {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.command "counter.add"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.event "order.placed"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.
| Cecha | Wartość |
|---|---|
| Parametry / typy | nazwy z kropkami |
| Wynik | — |
| Wymagania | opcjonalne; wymagane do wywołania komendy |
| Ograniczenia | nazwa spoza listy jest odrzucana przez brokera |
| Możliwe błędy | KCS-KRL-02xx |
| Wprowadzono | 1.0 (pole wcześniej PROVISIONAL) |
limits, runtime, resourcePolicy, isolation
Limity pamięci/CPU, profil zasobów, progi nadzorcy, preferowana izolacja.
limits {
memory { max 64MB }
cpu { max 5% }
}
runtime { profile "light" }
isolation { preferred "sandbox" }
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
limits {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.memory { max 64MB }Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.cpu { max 5% }Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.}Zamknięcie struktury otwartej we wcześniejszych liniach.runtime { profile "light" }Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.isolation { preferred "sandbox" }Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.
| Cecha | Wartość |
|---|---|
| Parametry / typy | memory.max 1 MB – 64 GB; cpu.max w %; profil light|standard|advanced; izolacja process|sandbox |
| Wynik | — |
| Wymagania | opcjonalne |
| Ograniczenia | obcinane do sufitu profilu; host może podnieść izolację, nigdy jej nie obniża |
| Możliwe błędy | KCS-KRL-0191 (ostrzeżenie / warning) |
| Wprowadzono | 1.0 |
runtimeData
Deklaracja obszarów danych: database userData cache logs backup temp.
runtimeData {
database {
path "Disk/"
}
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
runtimeData {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.database {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.path "Disk/"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.
| Cecha | Wartość |
|---|---|
| Parametry / typy | ścieżka względna bez .., \, : |
| Wynik | — |
| Wymagania | opcjonalne |
| Ograniczenia | położenie fizyczne wyznacza host (KL-C01) |
| Możliwe błędy | KL-I11/I12 (odrzucenie / rejected) |
| Wprowadzono | 1.0 |
environment
Deklaracja platform (preferred/supported/experimental) i architektur.
environment {
platforms {
supported "windows"
}
architectures {
supported "x64"
}
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
environment {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.platforms {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.supported "windows"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.architectures {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.supported "x64"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.
| Cecha | Wartość |
|---|---|
| Parametry / typy | teksty |
| Wynik | — |
| Wymagania | opcjonalne |
| Ograniczenia | platformSupport jest przestarzałe (informacja KCS-KRL-0190) |
| Możliwe błędy | KCS-KRL-0190 |
| Wprowadzono | 1.0 |
project
Włącza mapę projektu KretM.
project {
map "project.kretm"
module "App"
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
project {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.map "project.kretm"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.module "App"Deklaracja modułu KretS; porównaj nazwę z nazwą pliku.}Zamknięcie struktury otwartej we wcześniejszych liniach.
| Cecha | Wartość |
|---|---|
| Parametry / typy | ścieżka mapy, opcjonalnie moduł |
| Wynik | — |
| Wymagania | opcjonalne |
| Ograniczenia | niczego nie przyznaje |
| Możliwe błędy | KCS-KRM-* |
| Wprowadzono | 1.0 |
dependencies, recovery, conflicts, provides, requires, …
Sekcje walidowane schematem sekcji i zapisywane w paczce (dependencies conflicts provides requires hardwareRequirements resources suspendPolicy recovery security update platformBundles platformCapabilities conditions).
dependencies {
required {
plugin "LOCAL-KPL-CALCAAAA" version ">=1.0.0"
}
}
recovery {
maxRetries 3
retryDelay 2s
}
Czytanie kodu linia po linii
Objaśnienia struktury nie są walidacją semantyczną. Szczegółowy kontrakt opisują referencje i README przykładu.
dependencies {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.required {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.plugin "LOCAL-KPL-CALCAAAA" version ">=1.0.0"Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.}Zamknięcie struktury otwartej we wcześniejszych liniach.recovery {Początek nazwanego bloku; jego pola odczytaj w powiązanej referencji.maxRetries 3Odczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.retryDelay 2sOdczytaj tę linię w kontekście otaczającego bloku i objaśnień autora poniżej.}Zamknięcie struktury otwartej we wcześniejszych liniach.
| Cecha | Wartość |
|---|---|
| Parametry / typy | wg schematu sekcji |
| Wynik | — |
| Wymagania | opcjonalne |
| Ograniczenia | recovery to deklaracja — o restarcie decyduje host |
| Możliwe błędy | KCS-KRL-0202 |
| Wprowadzono | 1.0 |
Źródło i wersja
Zweryfikowany import PUBLIC_CANDIDATE. Identyfikatory źródeł odnoszą się do eksportu i nie dają dostępu do plików serwera.
01_LANGUAGES/KretL/Documentation/SYNTAX_REFERENCE.md
SHA-256 4F900A68E53D667275A63E865A8503B11B7FA319E4CD0408162172F3ECB038B2Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →