K é uma estrutura semântica baseada em reescrita na qual linguagens de Programação, Sistemas de tipos e ferramentas de análise formal podem ser definidas usandoconfigurações, cálculos e regras. As configurações organizam oestado em unidades chamadas células, que são rotuladas e podem ser aninhadas.Os cálculos carregam significado computacional como liststructures aninhadas especiais que sequenciam tarefas computacionais, como fragmentos de programa. Os cálculos estendem a sintaxe abstrata da linguagem original.K (reescrever) regras torná-lo explícito quais partes do termo theyread-only, write-only, read-write, ou não se preocupam. Este makesK adequado para definir linguagens verdadeiramente simultâneas, mesmo na presença de compartilhamento. Os cálculos são como quaisquer outros termos no arewriting environment: eles podem ser combinados, movidos de um lugar para outro, modificados ou excluídos. Isso torna K adequado para definircontrol-recursos intensivos, como terminação abrupta, exceções orcall/cc.
visão geral
- uma apresentação de slides de vídeo de visão geral de dez minutos.
- um vídeo tutorial de noventa minutos, dado no ETAPS’16.
- uma entrevista de alto nível sobre semântica baseada em reescrita (Wolfram Schulte entrevista Grigore Rosu no ICSE ‘ 11.
- FAQ
K Tool Download
- os binários de ferramentas K fornecidos são suportados no Linux, OS X e Windows. Outras plataformas podem ou não funcionar corretamente. Congratulamo-nos com informações sobre a usabilidade de plataformas Não suportadas ou bugs nas plataformas suportadas.
- experimente nossa página de suporte ao Editor para links para definições de realce de sintaxe K para vários editores/IDEs populares. Sinta-se livre para contribuir.
- o código-fonte (Java) está disponível no GitHub, onde você também pode relatar bugs (faça isso).Aprenda a fazer o Tutorial do K!
- leia alguns artigos sobre K no Laboratório de sistemas formais (Fsl).
- documentação do Usuário
- Builtins
Links
- K e página da lógica correspondente na UIUC (EUA).
- K página da Web em UAIC (Romênia).
- página da lógica correspondente na UIUC (EUA).
- Canal De Discussão K Online para usuários K (Slack & Riot). Esta é a maneira recomendada de fazer perguntas sobre K e interagir com a comunidade K.
- Stackoverflow para perguntas gerais para a comunidade de usuários K (use o canal acima se quiser respostas rápidas).