ANTLR (ANother Tool for Language Recognition) é um poderoso gerador de analisador para leitura, processamento, execução ou tradução de texto estruturado ou arquivos binários. É amplamente utilizado para construir linguagens, ferramentas e estruturas. A partir de uma gramática, o ANTLR gera um analisador que pode construir árvores de análise e também gera uma interface ouvinte (ou visitante) que facilita a resposta ao reconhecimento de frases de interesse.
Status de compilação do branch de desenvolvimento
(ações do github)
O ANTLR 4 oferece suporte a 10 linguagens de destino (Cpp, CSharp, Dart, Java, JavaScript, PHP, Python3, Swift, TypeScript, Go) e garantir a consistência entre esses destinos é um recurso exclusivo e altamente valioso. Para garantir o suporte adequado deste recurso, cada versão do ANTLR é uma versão completa da ferramenta e dos 10 tempos de execução, todos com a mesma versão. Como tal, o versionamento ANTLR não segue estritamente a semântica semver:
Se você usar um verificador semver em seu IC, provavelmente desejará aplicar regras especiais para ANTLR, como tratar alterações menores como alterações importantes.
O branch padrão para este repositório é master
, que é a versão estável mais recente e possui tags para os vários lançamentos; por exemplo, consulte a tag de lançamento 4.9.3. Branch dev
é onde o desenvolvimento ocorre entre os lançamentos e todas as solicitações pull devem ser derivadas desse branch. O branch dev
é mesclado novamente no master
para cortar um release e o estado do release é marcado (por exemplo, com 4.10-rc1
ou 4.10
.) Visualmente, nosso processo se parece mais ou menos com isto:
O destino Go agora tem seu próprio repositório dedicado:
$ go get github.com/antlr4-go/antlr
Nota O repositório Go dedicado é apenas para go get
e import
. O desenvolvimento do tempo de execução Go ainda é executado no repositório antlr/antlr4
principal.
Você também pode achar as páginas a seguir úteis, especialmente se quiser mexer nos vários idiomas de destino.
Os programadores enfrentam problemas de análise o tempo todo. Seja um formato de dados como JSON, um protocolo de rede como SMTP, um arquivo de configuração de servidor para Apache, um arquivo PostScript/PDF ou uma simples linguagem de macro de planilha — o ANTLR v4 e este livro desmistificarão o processo. O ANTLR v4 foi reescrito do zero para tornar mais fácil do que nunca a construção de analisadores e aplicativos de linguagem construídos sobre eles. Esta nova edição completamente reescrita do best-seller Definitive ANTLR Reference mostra como aproveitar esses novos recursos.
Você pode comprar o livro The Definitive ANTLR 4 Reference na amazon ou uma versão eletrônica no site da editora.
Você achará o código-fonte do livro útil.
Este repositório é uma coleção de gramáticas sem ações onde o nome do diretório raiz é o nome em letras minúsculas do idioma analisado pela gramática. Por exemplo, java, cpp, csharp, c, etc...