re2c 4.0

Na terça-feira, 19 de novembro, foi lançado re2c – um gerador de analisadores léxicos (também conhecido como compilador de expressões regulares em código na linguagem de programação alvo). O re2c se especializa na geração de léxicos rápidos e facilmente integráveis. Ele se diferencia do mais conhecido equivalente flex por sua interface flexível, geração de léxicos otimizados sem tabelas e suporte à extração de submatches com base em autômatos finitos determinísticos com etiquetas (TDFA). O re2c é utilizado em projetos onde a velocidade do léxico é crucial, como no Ninja e no PHP.

Na versão 4.0, a subsistema de geração de código foi completamente reformulada, permitindo a adição de suporte a oito novas linguagens (D, Haskell, Java, JavaScript, OCaml, Python, V, Zig) além das já suportadas (C/C++, Go, Rust), assim como um mecanismo geral para adicionar novas linguagens através de arquivos de configuração. O gerador de código é responsável por traduzir o autômato finito já construído e otimizado em código, ou seja, sua tarefa é selecionar as estruturas de controle, tipos de dados e o modelo geral do programa apropriados para a linguagem alvo. Anteriormente, toda essa lógica fazia parte do código-fonte do re2c, e para alterá-la ou adicionar uma nova linguagem, era necessário patchar o código-fonte e recompilar o re2c. Esses patches não eram aceitos no repositório principal sem a implementação de um conjunto padrão de exemplos e testes, o que complicava ainda mais todo o processo. Agora, toda essa lógica foi trasladada para arquivos de sintaxe – arquivos de configuração de texto que podem ser fornecidos pelo usuário (por padrão, o re2c utiliza os padrões). O código-fonte do re2c está completamente livre de detalhes específicos de linguagem e depende apenas do arquivo de sintaxe. O usuário pode parcialmente redefinir um arquivo de sintaxe existente ou escrever um novo do zero. Para todas as linguagens oficialmente suportadas, existe documentação completa com exemplos.

Aliás, a própria ideia de arquivos de sintaxe surgiu graças a um comentário no LOR, pelo qual agradecemos re2c 4.0the_coder.

A versão contém muitas outras mudanças para simplificar a interface do usuário, melhorar o trabalho com grupos de captura, e também foi adicionada uma plataforma online para editar e compilar exemplos: http://re2c.org/playground.

Fonte: linux.org.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster