Programing

'구문 분석'의 반대말은 무엇입니까?

lottogame 2020. 6. 13. 10:13
반응형

'구문 분석'의 반대말은 무엇입니까? [닫은]


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

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

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


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


구문 분석 의 반대 직렬화입니다.


컴파일러 용어에서 반대는 "비 분석"입니다. 특히 구문 분석은 토큰 스트림을 추상 구문 트리로 바꾸는 반면 구문 분석은 추상 구문 트리를 토큰 스트림으로 변환합니다.


짓다? 쿼리를 구문 분석 할 때 쿼리를 구성 부분 (토큰 등)으로 나누면 그 반대 부분이 문자열 쿼리로 구성됩니다.


기존 이름을 보완하기 위해 composeQuery 가 가장 좋습니다.

그러나 일반적인 경우 파싱의 반대는 ǝsɹɐd


다음 중 하나를 사용합니다.

  • ToString ()
  • ToSQL ()
  • 세우다()

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


'분석'의 반은 '합성'입니다.


ToQueryString ()


확실히 렌더링.


나는 그것을 constructQuery라고 부를 것이다.


가능하면 생성하거나 방출하십시오.


그냥 물건을 추가하십시오.

반드시 구문 분석은 양방향 단어입니다.

요약을 쿼리로 구문 분석 할 수 있습니다.

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

문제는 메소드의 후반부에 이름을 무엇으로 지정해야하며,이 경우 쿼리를 만들기 위해 요약을 구문 분석하고 있기 때문에 호출해야합니다 parseAbstract.

질문에 대답하기 위해 파싱은 반대가 아닙니다.


아마도 generateQuery? createQuery?


골라보세요

  • 일으키다
  • 덤프
  • 직렬화
  • 방출

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


아마도 prettyPrintQuery ?


클래스 및 관련 연산자의 특성에 따라 작성, 생성, 생성, 렌더링, 압축, 축소, toSQL, toString


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

"생성"이라고 부를 수 있습니다. 물론 컴파일러는 소스 코드를 작성하지 않기 때문에 약간 다릅니다. (프리 컴파일러가 아닌 한).


아마도 Format (). 또는 인스턴스의 ToSQL ()?


unParse ()? 농담이야, 나는 toQueryString ()으로 갈 것이다.


반음 낮추다?

구문 분석 된 쿼리 개체는 조건 계층 구조를 나타내며 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 ()와 반대되는 IMHO

> c = parse(b)

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

생성 +1, 생성중인 항목, 즉 GenerateSQL ()


나는 '구성'에 투표했지만 당신이 마음에 들지 않으면 '빌드'도 제안합니다.


What about asSQL() or even more asQuery()?


INHO Serialize, synthesize are good options. Also, as you have named parseQuery, i will go with codeQuery


I usually use "parse" as a conversion method and, therefore, i can't find a opposite word for "convert". (you can't "deconvert" something, as "unconvert" is a type of conversion itself).

thinking this way, the best solution (for me) is having two "parse" methods that receive different arguments. Example (Java):

public class FooBarParser{

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

deparse

Deparse is to parse, as:

  • decompile is to compile
  • decompose is to compose
  • deserialize is to serialize
  • degroovy is to groovy :) ;)

Parsing / deparsing is not change of structure, but conversion. Precise conversion between equivalent text and abstract-syntax-tree formats, maintaining all relationships & structure.

"Compose" means change of structure, so is not quite right. It suggests combining from separate independent parts (usually for the first time). Just as "decompose" suggests splitting into independent parts. They change form, not just format.

A quick search show's the term's used within:

참고URL : https://stackoverflow.com/questions/148857/what-is-the-opposite-of-parse

반응형