Sobre o projeto
O Compiler Explorer é um site interativo para explorar como o código-fonte é traduzido para assembly. Os usuários editam código em um painel e veem a saída compilada em tempo real, sendo útil para aprender, ensinar, depurar e comparar o comportamento dos compiladores.
As linguagens suportadas incluem C, C++, C#, F#, Rust, Go, D, Haskell, Swift, Pascal, ispc, Python, Java e mais de 30 outras no total. Vários compiladores estão disponíveis para cada linguagem, e o layout da interface é configurável, usando o GoldenLayout para seu sistema de painéis. A instância pública está disponível em godbolt.org, e o projeto também pode ser executado como uma instância local.
O projeto começou em 2012 como uma forma de mostrar como construções de C++ são mapeadas para assembly, e o site público agora relata mais de 3.000.000 de compilações por semana. É escrito em TypeScript no Node.js. Uma configuração local típica no Linux pode ser iniciada com make, que instala dependências e serve o aplicativo na porta 10240. Um alvo make dev permite recarregamento automático e inicialização mais rápida, e npm run dev está disponível como alternativa. O suporte a linguagens pode ser restrito na inicialização, por exemplo, apenas para C++.
A configuração é tratada por meio de arquivos chave=valor em etc/config, com arquivos *.local.properties substituindo os padrões e sendo excluídos do controle de versão. Um CE Properties Wizard pode detectar e configurar compiladores locais para muitas linguagens, e o projeto separado infra fornece um comando ce_install para instalar um grande conjunto de compiladores. Para ambientes corporativos ou offline, o serviço de encurtamento de URLs pode ser substituído por um módulo interno.
Uma API RESTful permite compilações programáticas para assembly e listagem dos compiladores disponíveis, com documentação no repositório. O projeto mantém um FAQ em sua wiki, um documento de roteiro, diretrizes de contribuição, um código de conduta e uma lista de verificação de testes de UI. O suporte da comunidade está disponível por meio do Discord, um canal do Slack e listas de e-mail públicas. Os domínios oficiais incluem godbolt.org, godbo.lt e compiler-explorer.com, com subdomínios fornecendo estado local independente e pontos de entrada específicos para cada linguagem.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.