Frage

Ich habe eine Funktion, parseQuery, die eine SQL-Abfrage in eine abstrakte Darstellung der Abfrage analysiert.

Ich bin über eine Funktion zu schreiben, die eine abstrakte Darstellung einer Abfrage dauert und gibt eine SQL-Abfrage-String.

Was soll ich rufe Sie die zweite Funktion?

War es hilfreich?

Lösung

Ich denke, das Verb Sie wollen, ist 'Compose'.

Andere Tipps

Das Gegenteil von Parse ist serialize

In Compiler Terminologie, das Gegenteil ist der "unparse". Insbesondere Parsing einen Strom von Tokens in abstrakte Syntaxbäume verwandelt, während unparsing dreht abstrakte Syntaxbäume in einen Strom von Tokens.

Komponieren? Wenn eine Abfrage Parsen Sie es in seine Bestandteile brechen (Token, etc.), würde die Umkehrung der Teile in eine String-Abfrage komponieren.

Ihre bestehende Namensgebung Als Ergänzung composeQuery am besten aussieht.

Aber im allgemeinen Fall das Gegenteil von parse ist ǝsɹɐd

Ich würde eine davon verwenden:

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

Ich denke, „serialize“ ist wohl das Wort, das Sie wollen. Es bedeutet, eine Textdarstellung der Daten zu erzeugen, die (und importiert) aus dem Programm exportiert werden können.

Die Antonym 'analysieren' ist 'synthesize'.

ToQueryString ()

Auf jeden Fall übertragen.

Ich würde nennen es constructQuery.

erzeugen oder emittieren, möglicherweise.

Nur ein paar Sachen hinzuzufügen.

Sicher Parse ist ein Zwei-Wege-Wort.

Sie können eine Zusammenfassung in einer Abfrage analysieren.

Sie können eine Abfrage in eine abstrakte analysieren.

Die Frage sein sollte, was nennen Sie den letzten Teil des Verfahrens, und weil in diesem Fall sind Sie eine abstrakte Syntaxanalyse, um eine Abfrage machen Sie nennen würde es parseAbstract.

Um die Frage zu beantworten, Parsing hat kein Gegenteil.

generateQuery, möglicherweise? Create?

Nehmen Sie Ihre Auswahl

  • Erzeugen
  • Dump
  • Serialize
  • Emit

Sie haben jeweils leicht unterschiedliche Konnotationen.

Vielleicht prettyPrintQuery ?

komponieren, konstruieren, erzeugen, machen, verdichten, verringern, toSQL, toString je nach Art der Klasse und der damit verbundenen Operatoren

Ein traditioneller Compiler hat zwei Teile: einen Parser und einen Code-Generator.

So man es nennen könnte „Generieren“. Natürlich ist es ein bisschen anders, weil hier der Compiler nicht Quellcode zu schreiben. (Es sei denn, es ist ein Precompiler).

Möglicherweise Format (). oder ToSQL () in der Instanz?

unParse ()? Nur ein Scherz, ich würde mit toQueryString gehen ()

abflachen?

Das analysierte Abfrage-Objekt repräsentiert vielleicht eine Bedingung Hierarchie, die Sie „Abflachung“ zurück in eine 1 dimensionalen Zeichenfolge sind.

Aber da Sie von Objekt zu String gehen, wirklich nur verwenden toString oder toSQL () oder so ähnlich. Übrigens, wenn Sie es gut gestaltet und die richtige App verwenden, können Sie es später umbenennen und nur Sachen bleiben in den Kommentaren auf, was es tut.

Ich würde sagen, serialize und deserialize, statt Parse und ...

Ich würde für ToString gehen (), da kann man in der Regel ketten nisten sie (gegenüber Funktionen, die Sie von Class1 Class2 und umgekehrt passieren lassen)

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

Serialize () sieht aus wie eine gute Wahl, aber es hat bereits eine entgegengesetzte in Deserialize ().

In Ihrem speziellen Szenario, wie andere darauf hingewiesen, ToSql () ist eine gute Wahl.

Ich würde machen verwenden

> 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>

Welche IMHO ist, das Gegenteil zu analysieren ()

> c = parse(b)

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

1 für generieren, aber tack auf, was Sie zu erzeugen, das heißt GenerateSQL ()

Ich habe für ‚compose‘ aber wenn Sie nicht mögen, dass ich auch würde vorschlagen, ‚bauen‘

Was ist asSQL () oder sogar mehr asQuery ()?

inho Serialize, synthetisieren sind gute Möglichkeiten. Auch, wie Sie parseQuery benannt haben, so gehe ich mit codeQuery

ich in der Regel verwenden „analysieren“ als Konvertierungsverfahren und daher kann ich kein entgegengesetztes Wort für „umwandeln“ finden. (Sie können nicht „deconvert“ etwas, als „unconvert“ ist eine Art der Umwandlung selbst).

auf diese Weise denken, die beste Lösung (für mich) ist mit zwei Methoden „analysieren“, die unterschiedliche Argumente erhalten. Beispiel (Java):

public class FooBarParser{

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

Deparse

Deparse ist zu analysieren, wie:

  • decompile zu kompilieren ist
  • zersetzen ist zu komponieren
  • deserialize ist serialisiert
  • degroovy ist groovy :);)

Parsing / deparsing ist nicht die Struktur ändern, aber Umwandlung. Präzise Umwandlung zwischen äquivalenten Text und abstrakt-Syntax-Baum-Formate, alle Beziehungen aufrechterhalten und Struktur.

„Compose“ bedeutet Veränderung der Struktur, ist so nicht ganz richtig. Er schlägt vor, aus getrennten unabhängigen Teilen (in der Regel zum ersten Mal) zu kombinieren. So wie „zersetzen“, schlägt Aufspaltung in unabhängige Teile. Sie ändern sich Form, nicht nur Format.

Eine schnelle Suche Show ist der Begriff verwendet, im Bereich:

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top