質問

SQLクエリをそのクエリの抽象表現に解析する関数parseQueryがあります。

クエリの抽象表現を取り、SQLクエリ文字列を返す関数を作成しようとしています。

2番目の関数は何を呼び出すべきですか?

役に立ちましたか?

解決

あなたが望む動詞は「作曲」だと思います。

他のヒント

parse の反対は serialize

です

コンパイラの用語では、反対は" unparse"です。具体的には、解析するとトークンのストリームが抽象的な構文ツリーに変わり、解析しないと抽象的な構文ツリーがトークンのストリームに変わります。

作成しますか?クエリを解析するとき、それを構成部分(トークンなど)に分割します。逆は、部分を文字列クエリに構成します。

既存の命名を補完するには、 composeQuery が最適です。

しかし、一般的な場合、解析の反対はǝ sɹɐ d

です

次のいずれかを使用します:

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

" serialize"と思うおそらくあなたが望む言葉です。これは、プログラムからエクスポート(およびインポート)できるデータのテキスト表現を作成することを意味します。

「分析」の反意語は「合成」です。

ToQueryString()

完全にレンダリング。

constructQueryと呼びます。

生成または放出、場合によっては。

何かを追加するだけです。

確かに解析は双方向の言葉です。

要約をクエリに解析できます。

クエリを抽象に解析できます。

質問は、メソッドの後半部分に何と名前を付けるかです。このインスタンスでは、抽象を解析してクエリを作成するため、 parseAbstract と呼びます。

質問に答えるために、構文解析には反対がありません。

generateQuery、おそらく? createQuery?

選択してください

  • 生成
  • ダンプ
  • シリアル化
  • 送信

それぞれわずかに異なる意味合いがあります。

たぶん prettyPrintQuery

クラスとその関連演算子の性質に応じて、構成、構築、生成、レンダリング、要約、削減、toSQL、toString

従来のコンパイラには、パーサーとコードジェネレーターの2つの部分があります。

したがって、「生成」と呼ぶことができます。もちろん、コンパイラはソースコードを記述していないため、ここでは少し異なります。 (プリコンパイラでない限り)。

おそらくFormat()。インスタンスのToSQL()?

unParse()?冗談です。toQueryString()を使用します

flatten?

解析されたクエリオブジェクトは、条件フラットを表している可能性があります。 1次元の文字列に戻します。

ただし、オブジェクトから文字列に移動する場合は、実際にはtoStringまたはtoSQL()などを使用します。また、適切に設計して適切なアプリを使用している場合は、後で名前を変更して、その機能に関するコメントを追加するだけです。

解析および...ではなく、シリアライズおよびデシリアライズと言います。

ToString()に行くのは、通常、それらをチェーンネストできるためです(クラス1からクラス2に、またはその逆に渡すことができる関数の反対)

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

Serialize()は良い選択のように見えますが、Deserialize()にはすでに反対のものがあります。

他の指摘したように、特定のシナリオでは、ToSql()も適切な選択です。

レンダリングを使用します

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

私見です、parse()の反対です

> c = parse(b)

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

+1を生成しますが、生成するもの、つまりGenerateSQL()にタックします

「作成」に投票しましたが、それが気に入らない場合は「ビルド」も提案します

asSQL()またはさらに多くのasQuery()はどうですか?

INHOシリアル化、合成は良いオプションです。また、parseQueryという名前のとおり、codeQueryを使用します

通常&quot; parse&quot;を使用します変換方法として、したがって、「変換」の反対の単語を見つけることができません。 (&quot; unconvert&quot;は変換自体の一種であるため、&quot; deconvert&quot;することはできません)。

このように考えると、(私にとって)最良の解決策は、2つの「解析」することです。異なる引数を受け取るメソッド。例(Java):

public class FooBarParser{

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

デパース

解析は、次のように解析します:

  • decompileはコンパイルすることです
  • 分解とは、構成することです
  • deserializeはシリアル化することです
  • degroovyはgroovyです:);)

解析/解析は構造の変更ではなく、変換です。同等のテキスト形式と抽象構文ツリー形式の間の正確な変換、すべての関係&amp;構造。

&quot;作成&quot;構造の変更を意味するので、まったく正しくありません。 (通常は初めて)別々の独立した部分から結合することをお勧めします。 「分解」と同じように独立した部分に分割することをお勧めします。形式だけでなく、フォームを変更します。

クイック検索ショーは、次の中で使用される用語です:

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top