Pergunta

Eu tenho uma função, parseQuery, que analisa uma consulta SQL em uma representação abstrata de que consulta.

Estou prestes a escrever uma função que leva uma representação abstrata de uma consulta e retorna uma seqüência de consulta SQL.

O que devo chamar a segunda função?

Foi útil?

Solução

Eu acho que o verbo que você quer é 'compor'.

Outras dicas

O oposto de parse é serialize

Em compilador terminologia, o oposto é "unparse". Especificamente, a análise voltas um fluxo de tokens em árvores de sintaxe abstrata, enquanto unparsing voltas árvores de sintaxe abstrata em um fluxo de tokens.

Compose? Ao analisar uma consulta que você quebrá-lo em suas partes constituintes (fichas, etc.), o inverso seria compor as peças em uma consulta string.

Para complementar a sua nomenclatura existente, composeQuery parece melhor.

Mas, no caso geral, o oposto de análise é ?s??d

Gostaria de usar um destes:

  • ToString ()
  • ToSQL ()
  • Render ()

Eu acho que "serialize" é provavelmente a palavra desejada. Isso significa que para produzir uma representação textual dos dados que podem ser exportados (e importados) do programa.

O antônimo de 'analisar' é 'sintetizar'.

ToQueryString ()

Definitivamente Render.

Eu chamaria isso constructQuery.

gerar ou emitem, possivelmente.

Apenas para adicionar algumas coisas.

Com certeza parse é uma palavra dupla.

Você pode analisar um resumo em uma consulta.

Você pode analisar uma consulta em um resumo.

A pergunta deveria ser, o que você citar a última parte do método, e porque neste caso você está analisando um resumo para fazer uma consulta que você diria que é parseAbstract.

Para responder à pergunta, a análise não tem oposto.

generateQuery, possivelmente? createQuery?

Faça a sua escolha

  • Gerar
  • Dump
  • Serialize
  • Emit

Cada um deles tem um pouco diferentes conotações.

compor, construir, gerar, renda, condensar, reduzir, toSQL, toString, dependendo da natureza da classe e seus operadores relacionados

Um compilador tradicional tem duas partes: um analisador e um gerador de código.

Então, você poderia chamá-lo de "Gerar". Claro, é um pouco diferente aqui porque o compilador não está escrevendo código fonte. (A menos que seja um pré-compilador).

Possivelmente Format (). ou ToSQL () no seu exemplo?

unParse ()? brincadeira só, eu iria com toQueryString ()

flatten?

O objeto de consulta analisado talvez represente uma hierarquia condição, o que você está "achatamento" de volta em uma seqüência dimensional 1.

Mas dado que você está indo de objeto a corda, realmente apenas usar toString ou toSQL () ou algo parecido. Além disso, se você desenhou-lo bem e estão usando o aplicativo certo, você pode renomeá-lo mais tarde e se ater apenas coisas nos comentários sobre o que ele faz.

Eu diria que serialize e deserialize, em vez de análise e ...

Gostaria de ir para ToString (), desde que você pode geralmente cadeia ninho eles (funções opostas, que permitem passar de Class1 para Class2 e vice-versa)

DateTime.Parse( DateTime.Parse( myDate.ToString() ).ToString() );

Serialize () se parece com uma boa escolha, mas já tem um oposto em Deserialize ().

Em seu cenário específico, como aos outros pontas, ToSql () é outra boa opção.

Eu usaria tornar

> a = 'html': { 'head': {'title': 'My Page'}, 'body': { 'h1': 'Hello World', 'p': 'This is a Paragraph' } }

> b = render(a)

> console.log(b)

<html>
    <head>
        <title>My Page</title>
    </head>
    <body>
        <h1>Hello World</h1>
        <p>This is a Paragraph</p>
    </body>
</html>

O que é IMHO, o oposto para parse ()

> c = parse(b)

{ 'html': {
    'head': {
        'title': 'My Page'
    }
    'body': {
        'h1': 'Hello World',
        'p': 'This is a Paragraph'
    }
}

+1 para Gerar, mas aderência sobre o que você está gerando, ou seja GenerateSQL ()

Eu votei para 'compor', mas se você não gosta que eu também sugeriria 'construir'

E sobre asSQL () ou ainda mais asQuery ()?

INHO Serialize, sintetizar são boas opções. Além disso, como você nomeou parseQuery, eu vou com codeQuery

Eu costumo usar "parse" como um método de conversão e, portanto, não consigo encontrar uma palavra oposto para "Convert". (Você não pode "deconvert" alguma coisa, como "unconvert" é um tipo de si conversão).

pensar desta maneira, a melhor solução (para mim) é ter dois métodos de análise "" que recebem diferentes argumentos. Exemplo (Java):

public class FooBarParser{

    public Foo parse(Bar bar);
    public Bar parse(Foo foo); 
}

Deparse

Deparse é analisar, como:

  • descompilar é compilar
  • decompor é compor
  • deserialize é serializar
  • degroovy é a Groovy :);)

Análise / deparsing não é uma mudança de estrutura, mas a conversão. conversão precisa entre formatos de texto equivalente e abstrata-sintaxe-árvores, mantendo todas as relações e estrutura.

meios "compor" mudança de estrutura, de modo que não é muito justo. Ele sugere a combinação de peças independentes separadas (geralmente pela primeira vez). Assim como "decompor", sugere a divisão em partes independentes. Eles mudam de forma, não apenas o formato.

A pesquisa mostra rápida é o termo usado dentro:

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