KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ
Architektura wielojęzykowa
Czego się nauczysz
- Prześledź źródła i wyjaśnij opisany kontrakt.
- W KretMultiLanguage porównaj project.kretm, project.klibs i manifest. Opisz inną odpowiedzialność każdego pliku.
Wymagania wstępne
- Ukończ Podstawy i wcześniejszy poziom tej ścieżki.
Wyjaśnienie krok po kroku
Mapa może objąć projekt łączący KretS, dane i UI, ale nie zmienia kontraktów tych technologii. KretLib odpowiada za zależności bibliotek, a KretMod jest nadal niewdrożoną koncepcją. Nie mieszaj tych trzech ról.
Materiały źródłowe do tego tematu
Przeczytaj powiązane rozdziały. Kod i kontrakty zachowano z importu; historia źródeł jest dostępna przy każdym rozdziale.
KretM — zgodność i wersje / compatibility and versions
KretM — zgodność i wersje / compatibility and versions
Polski
kretm-1.0FROZEN_SUPPORTED_SUBSET; brak wersjonowania map i migracji, brak map zagnieżdżonych głębiej.- Ekran POST Core pokazuje „KretM / KretLink NOT FROZEN” — tekst nieaktualny wobec freeze (G-14).
KretM — kody diagnostyczne / diagnostic codes
KretM — kody diagnostyczne / diagnostic codes
| Kod / code | Polski |
|---|---|
KCS-KRM-0101 | błąd składni |
KCS-KRM-0201…0205 | nieznane pole, powtórzenie, zła wartość, brak pola, limit |
KCS-KRM-0301 | próba przyznania uprawnień w mapie |
KCS-KRM-0302 | naruszenie reguły warstw / odwołanie poza mapą |
KCS-KRM-0303 | cykl zależności |
KCS-KRM-0304 | brak zadeklarowanego pliku |
KCS-KRM-0305 / 0306 | mapa lokalna sprzeczna / rozszerzająca |
KCS-KRM-0307 / 0308 / 0309 / 0311 | połączenie bez pary / nieznany moduł / niebezpieczna ścieżka / plik spoza mapy |
Format: kret-diagnostics/1 (kod, plik, wiersz, kolumna, zakres) / (code, file, line, column, range).
KretM — bezpieczeństwo / security
KretM — bezpieczeństwo / security
Polski
- KretM niczego nie przyznaje; uprawnienia tylko z KretL i polityki hosta.
KretM — rozwiązywanie problemów / troubleshooting
KretM — rozwiązywanie problemów / troubleshooting
| Problem (PL) | Rozwiązanie (PL) |
|---|---|
KCS-KRM-0302: moduł używa MathX poza mapą | dodaj moduł mapy z path "Libs/<biblioteka>/Script/" i uses (plugin 07) |
KretM — samouczek ADVANCED
KretM — samouczek ADVANCED
Status 1.0: `FROZEN_SUPPORTED_SUBSET` — zamrożony dokładnie opisany zakres; reszta poza kontraktem 1.0. Gramatyka/wersja: kretm-1.0. Status języka nie nadaje uprawnień KCS ani prawa do działania w Production.Cel: integracja z Core i innymi językami, KretDB, bezpieczny dostęp do API, pluginy, stan, testy, diagnostyka, uprawnienia.
Narzędzia: kret = <SDK>\Compiler\kret.exe (SDK 1.0.0-rc.3+kret.local.3), kretui-host = <SDK>\UiHost\kretui-host.exe. {DATA}/{OUT} = nowe, puste katalogi.
Brak przykładów na tym poziomie dla tej technologii (zgodnie z zakresem implementacji).
Ćwiczenie i sprawdzenie wiedzy
W KretMultiLanguage porównaj project.kretm, project.klibs i manifest. Opisz inną odpowiedzialność każdego pliku.
Szkic nie jest wysyłany na serwer i znika po opuszczeniu lekcji. Przed wyjściem możesz go skopiować.Podpowiedzi
- KretM opisuje strukturę projektu: warstwy, moduły z katalogami i plikami, dozwolone (`allow`) i zakazane (`deny`) zależności oraz połączenia. Kompilator sprawdza kod KretS względem mapy. **KretM niczego nie przyznaje** i **nie jest językiem bibliotek funkcji** (to rola KretMod). Mapę włącza `project { map }` w KretL.
- Odczytaj ograniczenia i oczekiwane błędy z dostarczonego samouczka; check i run są oddzielnymi krokami.
Omówienie rozwiązania
Odpowiedź oprzyj na pokazanym kodzie i rozdziale źródłowym. Mapa może objąć projekt łączący KretS, dane i UI, ale nie zmienia kontraktów tych technologii. KretLib odpowiada za zależności bibliotek, a KretMod jest nadal niewdrożoną koncepcją. Nie mieszaj tych trzech ról.
Podsumowanie i następny krok
Mapa może objąć projekt łączący KretS, dane i UI, ale nie zmienia kontraktów tych technologii. KretLib odpowiada za zależności bibliotek, a KretMod jest nadal niewdrożoną koncepcją. Nie mieszaj tych trzech ról.
Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →