Ratos!

RATOS! é um gerador de parser facilmente extensível para idiomas semelhantes a C.
Baixe Agora

Ratos! Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • LGPL
  • Preço:
  • FREE
  • Nome do editor:
  • Robert Grimm
  • Site do editor:
  • http://www.cs.nyu.edu/rgrimm/xtc/rats.html

Ratos! Tag


Ratos! Descrição

Ratos! é um gerador de parser facilmente extensível para idiomas semelhantes a C. Ratos! é um gerador de parser facilmente extensível para idiomas curativos c; Embora atualmente gere apenas analisadores em Java. Ratos! O projeto foi explicitamente projetado para que as gramáticas sejam concisas e facilmente modificáveis. Para este fim, ratos! organiza gramáticas em módulos? Constrói em análise de gramáticas de expressão em vez de gramáticas sem contexto e vindegra lexing com analing, isto é, é scannerless Suporta a geração automática de árvores de sintaxe abstratas? e fornece uma interface bem definida para ampliar os analisadores para reconhecer idiomas e formatos sensíveis ao contexto.Parsers gerados por ratos! Memore os resultados intermediários, o que garante o desempenho do tempo linear na presença de lookahead e retrocesso ilimitados. Como resultado, eles são essencialmente funcionais (apesar de serem implementados em uma linguagem imperativa) e também chamados de "analisadores de pacotáculo". Aqui estão algumas características importantes de "ratos!": · Ratos! depende de um sistema de módulo para estruturar gramáticas e suas extensões. Em particular, depende dos módulos para agrupar produções relacionadas em unidades separadas. Em seguida, as modificações do módulo expressam concisamente extensões para outros módulos e podem adicionar, alterar ou remover alternativas individuais em produções. Finalmente, os parâmetros do módulo são usados para compor módulos e suas extensões uns com os outros. · Ratos! Grammars constroem na análise de gramáticas de expressão (PEGs). Enquanto Pegs compartilham muitos construtos com a notação familiar ebnf, uma diferença chave é que eles utilizam escolhas ordenadas em vez das escolhas não ordenadas usadas por gramáticas sem contexto (CFGs) e outros geradores de analisadores, como YACC ou Antlr. Como resultado, ratos! Grammars evitam ambiguidades e apoiar mudanças localizadas. A flexibilidade adicional é oferecida através de predicados sintáticos, que correspondem às expressões, mas não consomem a entrada, fornecendo lookahead ilimitada, e através da integração de lexing com a análise, o que simplifica muito a adição de novos tokens para uma gramática. Os Pegs têm o benefício adicional que eles não são fechados apenas em composição (ao contrário das gramáticas LR ou ll usadas por YACC e Antlu), mas também intersecção e complemento (ao contrário de CFG em geral). · Eliminar a necessidade de ações semânticas explícitas, ratos! pode gerar automaticamente árvores de sintaxe abstratas. Em particular, suporta produções que não retornam valores semânticos (como aqueles que reconhecem espaços ou comentários), valores de string (como aqueles que reconhecem literais ou identificadores) e nós de árvores genéricos (potencialmente todas as outras produções). · Como alguns formatos legíveis por computador são inerentemente sensíveis ao contexto e não podem ser expressos como PEGs (ou CFGs), ratos! Suporta duas técnicas para gerenciar o contexto ou estado analisador, fornecendo uma interface bem definida para ampliar os analisadores. Primeiro, ratos! Fornece ações analisadoras para reconhecer expressões que dependem do contexto local, isto é, expressões que dependem de expressões imediatamente precedentes dentro da mesma produção. Um exemplo para esse contexto local é um comprimento explícito precedendo quantas instâncias de alguma expressão. Segundo, ratos! Suporta um objeto do estado global para reconhecer expressões que dependem do contexto possivelmente global. As modificações do estado são realizadas dentro de transações leves, que preservam a natureza funcional basicamente dos ratos! "Analisadores gerados. Um exemplo para um contexto global é a tabela de símbolos usada para nomes de variáveis de desambiguação e typedef ao analisar C. O que há de novo nesta versão: · Esta versão melhora o relatório de erros por analisadores gerados e corrige um bug de geração de código.


Ratos! Software Relacionado

Makl.

Uma estrutura simples e leve para construir projetos de multi-plataforma C, puramente baseado na Shell Bourne e no GNU. ...

176

Download

cproto.

CProto gera protótipos de função para funções definidas nos arquivos de origem C especificados para a saída padrão. ...

154

Download

Redet.

Redet é uma ferramenta para desenvolver e executar expressões regulares. ...

199

Download