K je přepisovatelný sémantický rámec, ve kterém lze definovat programovací jazyky, typesystémy a nástroje formální analýzy pomocí konfigurací, výpočtů a pravidel. Konfigurace organizujístát v jednotkách nazývaných buňky, které jsou označeny a mohou být vnořeny.Výpočty mají výpočetní význam jako speciální vnořené liststructures sekvencializující výpočetní úlohy, jako jsou fragmenty programu. Výpočty rozšiřují abstraktní syntaxi původního jazyka.Pravidla K (přepisování) jasně určují, které části pojmu jsou pouze pro čtení, pouze pro zápis, čtení a zápis nebo se nestarají. Tento makesK je vhodný pro definování skutečně souběžných jazyků i v přítomnosti sdílení. Výpočty jsou jako všechny ostatní termíny v arewriting prostředí: mohou být uzavřeno, přesunut z jednoho místa na jiné, upravený, nebo odstraněny. Díky tomu je K vhodný pro definování funkcí náročných na kontrolu, jako je náhlé ukončení, výjimky orcall / cc.
přehled
- desetiminutová přehledová prezentace videa.
- devadesátiminutové výukové video, uvedené na ETAPS ‚ 16.
- a high-level interview about rewrite-based sémantics (Wolfram Schulte interviews Grigore Rosu at ICSE ‚ 11.
- FAQ
ke stažení nástroje
- poskytnuté binární soubory nástroje K jsou podporovány v systémech Linux, OS X a Windows. Jiné platformy mohou nebo nemusí fungovat správně. Vítáme informace o použitelnosti nepodporovaných platforem nebo chyb v podporovaných platformách.
- Vyzkoušejte naši stránku podpory editoru, kde najdete odkazy na definice zvýraznění syntaxe k pro různé populární editory / IDE. Prosím, neváhejte přispět.
- zdrojový kód (Java) je k dispozici na Githubu, kde můžete také hlásit chyby(udělejte to prosím).
Naučte se k
- proveďte k tutoriál!
- Přečtěte si některé články o K na Formal Systems Laboratory (FSL).
- uživatelská dokumentace
- Builtins
Links
- K and matching logic webpage at UIUC (USA).
- K webové stránky na UAIC (Rumunsko).
- Matching logic webpage at UIUC (USA).
- online diskusní kanál K pro uživatele K (Slack & Riot). Toto je doporučený způsob, jak klást otázky týkající se k a komunikovat s komunitou K.
- Stackoverflow pro obecné otázky pro komunitu uživatelů K (použijte kanál výše, pokud chcete rychlé odpovědi).