문제

SQL 쿼리를 해당 쿼리의 추상적 표현으로 구문 분석하는 함수 인 파시 코리가 있습니다.

쿼리를 추상적으로 표현하고 SQL 쿼리 문자열을 반환하는 함수를 작성하려고합니다.

두 번째 함수는 무엇을 호출해야합니까?

도움이 되었습니까?

해결책

나는 당신이 원하는 동사가 '작곡'이라고 생각합니다.

다른 팁

와 반대 인 구문 분석 ~이다 직렬화

컴파일러 용어에서 반대는 "대체하지"입니다. 구체적으로, 구문 분석은 토큰 스트림을 추상 구문 나무로 바꾸고, 대체하는 것은 추상 구문 트리를 토큰의 흐름으로 바꾸는 것입니다.

구성하다? 쿼리를 구문 분석하면 구성 부품 (토큰 등)으로 나누면 그 반대는 부분을 문자열 쿼리로 작성하는 것입니다.

기존 이름 지정을 보완하기 위해 ComposeQuery 가장 잘 보입니다.

그러나 일반적으로 구문 분석의 반대는 ǝsǝd

나는 이것들 중 하나를 사용합니다.

  • ToString ()
  • TOSQL ()
  • 세우다()

"직렬화"는 아마도 당신이 원하는 단어라고 생각합니다. 그것은 프로그램에서 내보내고 수입 할 수있는 데이터의 텍스트 표현을 생성하는 것을 의미합니다.

'Analyze'의 Antonym은 '합성'입니다.

ToQueryString ()

확실히 렌더링합니다.

나는 그것을 ConstructQuery라고 부를 것입니다.

아마도 생성 또는 방출.

물건을 추가하기 위해.

분명히 구문 분석은 양방향 단어입니다.

초록을 쿼리에 구문 분석 할 수 있습니다.

쿼리를 초록으로 구문 분석 할 수 있습니다.

문제는 메소드의 후반 부분을 무엇으로 지정해야합니까?이 경우에 쿼리를 만들기 위해 초록을 구문 분석하기 때문에이를 호출 할 것입니다. parseAbstract.

질문에 답하기 위해 구문 분석은 반대가 아닙니다.

생성 쿼리, 아마도? Createquery?

선택해라

  • 생성하다
  • 덤프
  • 직렬화
  • 방출

그들은 각각 약간 다른 의미를 가지고 있습니다.

클래스의 특성과 관련 연산자에 따라 구성, 구성, 생성, 렌더링, 응축, 감소, TOSQL, TOSQL, TOSQL, TOSQL

전통적인 컴파일러에는 파서와 코드 생성기의 두 부분이 있습니다.

그래서 당신은 그것을 "생성"이라고 부를 수 있습니다. 물론 컴파일러가 소스 코드를 작성하지 않기 때문에 여기서 약간 다릅니다. (사전 컴파일러가 아니라면).

아마도 형식 (). 또는 인스턴스에서 toSql ()?

대체 ()가 아닌가? 농담, 나는 ToqueryString ()와 함께 갈 것입니다.

단조롭게 하다?

구문 분석 된 쿼리 객체는 아마도 조건 계층 구조를 나타내며, 이는 1 차원 문자열로 "평평"하고 있습니다.

그러나 객체에서 문자열로 가고 있다는 점을 감안할 때 실제로 Tostring 또는 ToSql () 또는 그와 비슷한 것을 사용하십시오. 게다가, 당신이 그것을 잘 설계하고 올바른 앱을 사용하고 있다면, 나중에 이름을 바꾸고 그것이 무엇을하는지에 대한 주석에 물건을 붙일 수 있습니다.

나는 구문 분석 대신 일련의 직렬화와 사형화라고 말하고있다.

나는 당신이 일반적으로 그것들을 체인 할 수 있기 때문에 tostring ()를 위해 갈 것입니다 (반대 함수, class1에서 class2로 전달하고 그 반대로 전달할 수 있습니다).

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>

IMHO, Parse ()의 반대입니다.

> c = parse(b)

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

생성에 대해서는 +1이지만 생성하는 내용에 대한 태클, 즉, ee geneatesql ()

나는 'compose'로 투표했지만 당신이 마음에 들지 않으면 나는 또한 '빌드'를 제안 할 것입니다.

Assql () 또는 더 많은 asquery ()는 어떻습니까?

Inho Serialize, Synthize는 좋은 옵션입니다. 또한, 당신이 Parectery라는 이름을지었습니다. 나는 CodeQuery와 함께 갈 것입니다.

나는 보통 "구문 분석"을 변환 방법으로 사용하므로 "변환"에 대한 반대 단어를 찾을 수 없습니다. ( "unconvert"가 변환 자체의 유형이기 때문에 무언가를 "해제"할 수는 없습니다).

이런 식으로 생각하면, 최상의 솔루션 (나를 위해)은 다른 인수를받는 두 가지 "구문 분석"방법을 가지고 있습니다. 예 (Java) :

public class FooBarParser{

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

Deparse

Deparse는 다음과 같이 구문 분석해야합니다.

  • 디 컴파일은 컴파일됩니다
  • 분해는 작곡입니다
  • Desserialize는 직렬화하는 것입니다
  • Degroovy는 그루비입니다 :);)

구문 분석 / 디퍼링은 구조의 변화가 아니라 변환입니다. 동등한 텍스트와 추상 Syntax-Tree 형식 간의 정확한 변환, 모든 관계 및 구조 유지.

"Compose"는 구조의 변화를 의미하므로 옳지 않습니다. 별도의 독립 부품에서 결합하는 것을 제안합니다 (보통 처음으로). "분해"가 독립 부품으로 나누는 것을 제안하는 것처럼. 그들은 단지 형식이 아니라 형태를 변경합니다.

빠른 검색 쇼는 내에서 사용 된 용어입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top