1 pontos por jsunam 4 시간 전 | Ainda não há comentários. | Compartilhar no WhatsApp

GWEB é um sistema de programação literária (Literate Programming) para a linguagem Go. Ele foi desenvolvido modelando de perto a estrutura do CWEB de Donald Knuth.
Os desenvolvedores escrevem, em um único arquivo-fonte .w, tanto o documento em TeX (explicações) quanto o código Go. Esse arquivo é então convertido em dois resultados, um para máquinas e outro para humanos.

Ferramentas e recursos principais

O sistema GWEB funciona basicamente com dois comandos principais.

  • gtangle: exclui as explicações do documento, reúne apenas as seções de código Go e gera um arquivo .go compilável. Na saída, o código é formatado automaticamente no estilo gofmt.
  • gweave: gera um documento tipograficamente bonito e fácil de ler (.tex ➡️ PDF). Palavras reservadas aparecem em negrito, identificadores em itálico, e um índice de referências cruzadas é gerado automaticamente.

Principais características e vantagens

  • Formato intuitivo: oferece suporte nativo à diretiva //line, permitindo indicar com precisão a linha no arquivo-fonte .w, e não no arquivo .go, quando ocorre um erro de compilação ou um panic.
  • Sistema self-hosting: o próprio GWEB também foi desenvolvido no estilo de programação literária. Os arquivos .w dentro da pasta lit/ são as verdadeiras fontes originais do GWEB.
  • Suporte a editores: também fornece configurações de syntax highlighting para usuários de VS Code, Vim e Emacs.

Com o GWEB, é possível registrar e gerenciar com elegância a intenção de projeto e os algoritmos de projetos Go complexos, como se você estivesse escrevendo um livro.

Ainda não há comentários.

Ainda não há comentários.