Existe uma biblioteca semelhante ao pyparsing em Java? [fechadas]
Pergunta
Eu preciso construir rapidamente um analisador para uma versão muito simplificada de um html-like Markup Language em Java. Em python, gostaria de usar a biblioteca pyparsing para fazer isso. Existe algo semelhante para Java? Por favor, não sugerem bibliotecas já lá fora, para html parsing, o meu pedido é um trabalho escolar que irá demonstrar andando uma árvore de objetos e serialização de texto usando padrão do visitante, então eu não estou pensando em termos reais aqui. Basicamente tudo o que preciso aqui é tags, atributos e nós de texto.
Solução
Outro gerador de bom analisador é ANTLR , que pode ser o que você está procurando .
Outras dicas
Pode ser um exagero para o seu uso, mas javacc é um excelente gerador de analisador de força industrial. Eu usei este programa / biblioteca várias vezes, sua aprendizagem confiável e vale a pena, especialmente se você estiver indo para o trabalho com linguagens e compiladores. Aqui está a descrição do programa a partir do site listado acima:
Java Compiler Compiler [tm] (JavaCC [tm]) é o gerador de analisador mais popular para uso com aplicações Java [TM]. Um gerador de analisador é uma ferramenta que lê uma especificação de gramática e converte-lo para um programa Java que pode reconhecer partidas com a gramática. Além do próprio gerador de analisador, JavaCC fornece outros recursos padrão relacionados à geração de parser como a construção da árvore (através de uma ferramenta chamada JJTree incluído com JavaCC), ações, depuração, etc.
Uma busca rápida para geradores de analisador em Java produz JParsec . Eu nunca usei isso - mas foi inspirada por uma biblioteca de Haskell, então, por definição, deve ser bom: -)
Gosto JParsec (que eu só descobri graças a Torsten), porque ele não gera código ... :-) Talvez menos eficiente, mas o suficiente para pequenas tarefas.
Eu encontrei uma biblioteca semelhante, JTopas .
Há uma boa lista de analisador (geradores ou não) a Java Fonte .
Há um grande número escolhas para stringhandling em java.
Talvez os java.util.Scanner
e java.util.StringTokenizer
Classes muito básicas são úteis para você?
Outra boa opção é talvez biblioteca the org.apache.commons.lang.text
.
http: //commons.apache. org / lang / apidocs / org / apache / commons / lang / text / package-summary.html