K jest strukturą semantyczną opartą na przepisywaniu, w której można definiować języki programowania, systemy pisania i narzędzia do analizy formalnej za pomocą konfiguracji, obliczeń i reguł. Konfiguracje organizują testate w jednostkach zwanych komórkami, które są oznaczone i mogą być zagnieżdżone.Obliczenia mają znaczenie obliczeniowe jako specjalne listy zagnieżdżone struktury sekwencjonujące zadania obliczeniowe, takie jak fragmenty programu. Obliczenia rozszerzają składnię abstrakcji języka oryginalnego.Reguły K (rewrite) wyjaśniają, które części pojęcia są tylko odczytywane, tylko zapisywane, odczytywane lub nie dbają o nie. Dzięki temu język ten nadaje się do definiowania języków prawdziwie współbieżnych nawet wobszarze dzielenia się. Obliczenia są jak każde inne terminy w środowisku pisania: mogą być dopasowywane, przenoszone z jednego miejsca do drugiego, modyfikowane lub usuwane. To sprawia, że K nadaje się do zdefiniowania funkcji intensywnie kontrolujących, takich jak nagłe zakończenie, wyjątki lub Call/cc.
przegląd
- dziesięciominutowy przegląd wideo prezentacja slajdów.
- dziewięćdziesięciominutowy film instruktażowy, podany na etapie ’ 16.
- Wywiad wysokiego szczebla na temat semantyki opartej na przepisywaniu (Wolfram Schulte przeprowadza wywiad z Grigore Rosu na ICSE ’ 11.
- FAQ
K Tool Download
- dostarczone pliki binarne K tool są obsługiwane w systemach Linux, OS X i Windows. Inne platformy mogą, ale nie muszą, działać poprawnie. Mile widziane są informacje na temat użyteczności nieobsługiwanych platform lub błędów na obsługiwanych platformach.
- wypróbuj naszą Stronę Wsparcia edytora, aby znaleźć linki do definicji podświetlania składni K dla różnych popularnych edytorów / ID. Zapraszam do współpracy.
- kod źródłowy (Java) jest dostępny na Githubie, gdzie można również zgłaszać błędy (proszę to zrobić).
Ucz się K
- zrób Tutorial K!
- przeczytaj kilka referatów O K na Formal Systems Laboratory (FSL).
- Dokumentacja użytkownika
- Builtins
linki
- strona internetowa K i matching logic w UIUC (USA).
- strona K w UAIC (Rumunia).
- strona pasująca do logiki w UIUC (USA).
- internetowy kanał dyskusyjny K dla użytkowników K (Slack & Riot). Jest to zalecany sposób zadawania pytań na temat K i interakcji ze społecznością K.
- Stackoverflow do ogólnych pytań do społeczności użytkowników K (użyj kanału powyżej, jeśli chcesz uzyskać szybkie odpowiedzi).