K är en rewrite-basedexecutable semantisk ram där programmeringsspråk, typsystem och formella analysverktyg kan definieras usingconfigurations, beräkningar och regler. Konfigurationer organiserartillstånd i enheter som kallas celler, som är märkta och kan kapslas.Beräkningar bär beräkningsbetydelse som speciella kapslade liststrukturer som sekvenserar beräkningsuppgifter, såsom fragment avprogram. Beräkningar utöka originalspråket abstrakt syntax.K (rewrite) regler gör det tydligt vilka delar av termen deläs-bara, skriv-bara, läs-skriv, eller bryr sig inte om. Denna makesK lämplig för att definiera verkligt samtidiga språk även i närvaro av delning. Beräkningar är som alla andra termer i enskrivmiljö: de kan matchas, flyttas från en plats till en annan, modifierad eller raderad. Detta gör K lämplig för definieringkontrollintensiva funktioner som abrupt uppsägning, undantag ellercall/cc.
översikt
- en tio minuters översikt video presentation.
- en nittio minuters handledningsvideo, ges vid ETAPS ’ 16.
- en intervju på hög nivå om omskrivningsbaserad semantik (Wolfram Schulte intervjuar Grigore Rosu på ICSE ’ 11.
- FAQ
K Tool Download
- de medföljande k tool-binärerna stöds på Linux, OS X och Windows. Andra plattformar kanske eller kanske inte fungerar korrekt. Vi välkomnar information om användbarheten av plattformar som inte stöds eller buggar i de plattformar som stöds.
- Prova vår Editor Support sida för länkar till k syntaxmarkering definitioner för olika populära redaktörer/Ide. Känn dig fri att bidra.
- källkoden (Java) är tillgänglig på GitHub, där du också kan rapportera fel (snälla gör det).
lär dig K
- gör K-handledningen!
- Läs några artiklar om K på Formal Systems Laboratory (FSL).
- användardokumentation
- Builtins
länkar
- K och matchande logik webbsida på UIUC (USA).
- k webbsida på Uaic (Rumänien).
- matchande logisk webbsida på UIUC (USA).
- Online K diskussion kanal för K användare (Slack & Riot). Detta är det rekommenderade sättet att ställa frågor om K och interagera med K-communityn.
- Stackoverflow för allmänna frågor till k-användargemenskapen (använd kanalen ovan om du vill ha snabba svar).