Pergunta

A título de curiosidade, gostaria de saber o que as pessoas podem fazer com analisadores, como eles são aplicados, e que as pessoas geralmente criam com ele?

Eu sei que é amplamente utilizado na programação indústria das línguas, no entanto eu acho que esta é apenas uma pequena porção do mesmo, certo?

Foi útil?

Solução

Além de línguas para fins especiais, a minha utilização ambiciosa mais de um gerador de analisador ainda (com boa parte traseira velha yacc em C, e novamente mais tarde com pyparsing em Python) foi extrair, validar e determinada meta-info possivelmente alter de consultas SQL - analisar SQL é propriamente um desafio real (especialmente se você esperar para suportar mais de um dialeto -!), um gerador de analisador (e um lexer que fica no topo de) pelo menos remover essa parte do trabalho -!)

Outras dicas

Eles são usados ??para texto de análise ....

Para dar um exemplo mais concreto, onde eu trabalho usamos lexx / yacc para analisar cordas vindo soquetes.

Também a partir do nome deve dar-lhe uma idéia do que javacc é usado para (java compilador compilador!)

Geralmente para analisar Domain Specific Languages ??ou linguagens de script, ou similares para snipits código.

Anteriormente eu já vi isso usado para analisar a linha de comando baseado saída de outra ferramenta de software. Desta forma, a ferramenta exterior (software VPN) pode re-utilizar a base roteador código IPsec sem modificação. Como muita coisa do que estava sendo analisado foi tabelas de roteamento IP e outro texto repetido estruturado.

Usando um analisador permitiu mudanças simples quando a formatação alterada, em vez de tentar encontrar e ajustar o analisador escrito a mão. E a saída mudou algumas vezes da vida útil do produto.

Eu costumava analisadores de processo ajuda +/- 800 arquivos de origem Clipper em PRGs semelhantes que poderiam ser compilados com Alaksa Xbase 32.

Você pode usá-lo para prolongar a sua linguagem favorita, obtendo a sua definição de linguagem de seu repositório e, em seguida, adicionando o que você sempre quis ter. Você pode passar a sintaxe regular para a sua aplicação e lidar com a extensão em seu próprio programa.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top