- Ferramenta para quem quer iniciar um novo projeto de linguagem de programação
- É possível desenvolver extensões de linguagem para editores de código, compiladores e interpretadores de linguagens de programação, e até mesmo um novo editor de código
Principais recursos
- Gerador de parser com macros: o vocabulário e a gramática sintática da linguagem são definidos usando macros derivadas para tipos
enum, e as variantes do enum representam tokens individuais e nós com regras de análise sintática próprias
- Parser manual: a API permite desenvolver parsers recursivos descendentes escritos manualmente com lookahead ilimitado e integrá-los de forma transparente com os parsers gerados por macro
- Recuperação de erros: os parsers resultantes são resilientes a erros e conseguem construir árvores sintáticas a partir de código-fonte incompleto
- Framework de análise semântica: inclui um analisador semântico embutido que gerencia cálculos arbitrários sob demanda sobre a árvore sintática em termos de atributos de referência
- Compilação incremental: aplica continuamente patches à representação em memória da estrutura da base de código em resposta a edições incrementais no texto dos arquivos do usuário final. O processamento das mudanças é rápido mesmo em bases de código grandes
- Computação paralela: projetado especificamente para programas multithread e single-thread
- Compatibilidade com WebAssembly: compatível com alvos wasm e, em especial, com ambientes de navegador
- Formatador de código-fonte: inclui ferramentas para desenvolver programas formatadores de código que consideram comentários e linhas em branco
- Trechos de código anotados: fornece uma API para imprimir trechos de código-fonte com realce de sintaxe e anotações para exibir erros sintáticos e semânticos da base de código no terminal
- API autossuficiente: fornece uma API autossuficiente, extensível e altamente configurável para desenvolver a parte de frontend de compiladores de linguagens de programação e extensões de linguagem para editores de código. Não há dependências de terceiros além da biblioteca padrão do Rust e do crate de macros
1 comentários
Deirdre (irlandês: Deirdre [ˈdʲɛɾˠdʲɾʲə]) é a heroína de tragédia mais conhecida da mitologia irlandesa. Sua história faz parte do Ciclo do Ulster.