JavaCC
| JavaCC | |
|---|---|
| Dados básicos
| |
| Versão atual | 7.0.10 (23 de novembro de 2020) |
| sistema operacional | Sistemas operacionais com ambiente de execução Java |
| linguagem de programação | Java |
| categoria | Gerador de analisador |
| Licença | Licença BSD |
| https://www.javacc.org | |
JavaCC ( Java C ompiler C ompiler ) é um Lexer- e parser , que em Java é implementado e como uma saída Java e ++ C código-fonte gerado. JavaCC é um código aberto e publicado sob os termos da licença BSD .
JavaCC funciona de forma semelhante ao conhecido programa Yacc , mas usa um método diferente para analisar os dados: JavaCC gera um analisador LL (k) , enquanto Yacc gera um analisador LALR (1) . A gramática deve ser estruturada de maneira um pouco diferente do que seria com o Yacc.
Programas e bibliotecas que usam JavaCC internamente
- A estrutura do mecanismo de pesquisa de software livre Lucene usa JavaCC para gerar o lexer e o analisador de consulta.
- O mecanismo de template de código aberto Velocity usa JavaCC para suas funções de analisador.
- A ferramenta PMD usada para análise de código estático de textos fonte usa JavaCC internamente para processar as regras definidas pelo usuário.
- A API Java do projeto de ontologia Cyc usa JavaCC para suas funções de analisador.
Veja também
- JFlex (gerador de scanner para Java escrito em Java)
- SableCC (Compilador-Compilador para LALR (1) -Parser em Java)
- ANTLR (Compilador-Compilador para LL (*) - Analisador em diferentes idiomas de destino)
- Coco / R (compilador-compilador para LL (k) -Parser em diferentes idiomas de destino)
literatura
- Tom Copeland: Gerando analisadores com JavaCC . 2ª Edição. Centennial Books, Alexandria, 2009, ISBN 978-0-9762214-3-2 .
- Anthony J. Dos Reis, Laura L. Dos Reis: Construção do Compilador Usando Java, JavaCC e Yacc . 1ª edição. John Wiley & Sons, 2012, ISBN 978-0-470-94959-7 .
Evidência individual
- ↑ https://github.com/javacc/javacc/releases/tag/javacc-7.0.10
- ↑ JavaCC anuncia a lista de discussão em Java.net. (Não está mais disponível online.) Arquivado do original em 11 de abril de 2016 ; acessado em 9 de setembro de 2013 . Informação: O link do arquivo foi inserido automaticamente e ainda não foi verificado. Verifique o link original e o arquivo de acordo com as instruções e, em seguida, remova este aviso.
- ↑ Documentação do pacote Apache Lucene. Recuperado em 9 de setembro de 2013 .
- ^ O projeto Apache Velocity - Ferramentas necessárias. Recuperado em 9 de setembro de 2013 .
- ↑ Customizing PMD - Como escrever uma regra PMD. Recuperado em 9 de setembro de 2013 .