Quais vantagens e desvantagens específicas de cada maneira de trabalhar em uma gramática de linguagem de programação? Por que / quando devo fazer o meu próprio? Por que / quando devo usar um
Analisar (des) dados estruturados para convertê-los em um formato estruturado e normalizado.
Quais vantagens e desvantagens específicas de cada maneira de trabalhar em uma gramática de linguagem de programação? Por que / quando devo fazer o meu próprio? Por que / quando devo usar um
Recentemente, mergulhei profundamente no mundo dos analisadores, querendo criar minha própria linguagem de programação. No entanto, descobri que existem duas abordagens um tanto diferentes dos analisadores de gravação: Geradores de Analisadores e Combinadores de Analisadores. Curiosamente, não...
Acho que entendi o objetivo de um AST e construí algumas estruturas de árvores antes, mas nunca um AST. Estou confuso porque os nós são texto e não número, por isso não consigo pensar em uma maneira agradável de inserir um token / string enquanto estou analisando algum código. Por exemplo, quando...
Eu estava pesquisando sobre o conjunto de compiladores gcc na wikipedia aqui , quando isso surgiu: O GCC começou usando os analisadores LALR gerados com o Bison, mas passou gradualmente para os analisadores escritos à mão; para C ++ em 2004 e para C e Objective-C em 2006. Atualmente, todos os...
Muitas vezes me perguntei por que a análise estrita não foi escolhida ao criar HTML. Durante a maior parte do histórico da Internet, os navegadores aceitaram qualquer tipo de marcação e fizeram o possível para analisá-la. O processo degrada o desempenho, permite que as pessoas escrevam sem sentido...
Notei, para minha alegria, que o C ++ 11 tem uma std::sto@família de funções para descompactar facilmente ints / floats / longs, independentemente das strings. Estou surpreso, no entanto, que o contrário não seja implementado. Por que o comitê de padrões não incluiu uma std::itosfamília de funções...
Como os comentários são geralmente tratados em linguagens de programação e marcação? Estou escrevendo um analisador para alguma linguagem de marcação personalizada e quero seguir o princípio da menor surpresa , então estou tentando determinar a convenção geral. Por exemplo, um comentário...
Ficou fascinado ao ler sobre o jogo de aventura em texto The Hobbit, que apresentava um analisador incrivelmente robusto chamado "Inglish": ... Inglish permitiu digitar frases avançadas como "pergunte a Gandalf sobre o mapa curioso, então pegue a espada e mate trolls com ela". O analisador era...
Os analisadores convencionais consomem toda a entrada e produzem uma única árvore de análise. Estou procurando por um que consuma um fluxo contínuo e produz uma floresta de análise [ editar: veja a discussão nos comentários sobre por que esse uso desse termo pode não ser convencional ]. Meu...
Memória (e bloqueios de recursos) são retornados ao sistema operacional em pontos determinísticos durante a execução de um programa. O fluxo de controle de um programa por si só é suficiente para saber onde, com certeza, um determinado recurso pode ser desalocado. Assim como um programador humano...
Foi-me atribuída a tarefa de implementar uma linguagem específica de domínio para uma ferramenta que pode se tornar bastante importante para a empresa. A linguagem é simples, mas não trivial, já permite loops aninhados, concatenação de strings, etc. e é praticamente certo que outras construções...
Estou no processo de criar minha própria linguagem de programação, o que faço para fins de aprendizado. Eu já escrevi o lexer e um analisador de descida recursiva para um subconjunto da minha linguagem (atualmente, suporte expressões matemáticas, como + - * /parênteses e). O analisador devolve uma...
Estou tentando entender compilação e interpretação, passo a passo, descobrindo uma imagem total. Por isso, fiz uma pergunta ao ler http://www.cs.man.ac.uk/~pjj/farrell/comp3.html este artigo Diz : O próximo estágio do compilador é chamado de analisador. Esta parte do compilador possui um...
Esta pergunta foi migrada do Stack Overflow porque pode ser respondida no Software Engineering Stack Exchange. Migrou há 7 anos . Problema: Execute comandos na forma de uma sequência. exemplo de comando: /user/files/ list all; equivalente a: /user/files/ ls
Recentemente, um colega e eu discutimos se um regex puro é capaz de encapsular completamente o formato csv, de forma que ele é capaz de analisar todos os arquivos com qualquer caractere de escape, caractere de citação e caractere separador. O regex não precisa ser capaz de alterar esses...
Quero criar um analisador de regras genérico para sistemas RPG com estilo de caneta e papel. Uma regra pode envolver normalmente 1 a N entidades 1 a N funções de um dado e calcular valores com base em vários atributos de uma entidade. Por exemplo: O jogador tem STR 18, sua arma atualmente...
Quando comecei a usar combinadores de analisadores, minha primeira reação foi uma sensação de libertação do que parecia uma distinção artificial entre análise e lexing. De repente, tudo estava apenas analisando! No entanto, recentemente deparei com esta postagem no codereview.stackexchange...
Se eu me lembro corretamente do curso dos compiladores, o compilador típico tem o seguinte esquema simplificado: Um analisador lexical verifica (ou ativa alguma função de verificação) o código - fonte caractere por caractere A cadeia de caracteres de entrada é comparada com o dicionário de...
Estou escrevendo um analisador para uma linguagem de marcação que eu criei (escrevendo em python, mas isso não é realmente relevante para essa pergunta - na verdade, se isso parece uma má idéia, eu adoraria uma sugestão para um caminho melhor) . Estou lendo sobre analisadores aqui:...
Quais testes devo usar para testar em unidade um analisador csv? Eu tenho um analisador csv simples em c # e quero ter certeza de que tenho uma boa cobertura de teste de unidade de todos os casos comuns (e incomuns) de borda. Quais testes devo usar para identificar possíveis problemas e casos de...