파이썬 ast를 사용하여 두 ast를 어떻게 병합 할 수 있습니까?
나는 같은 것을 할 싶습니다 :Python AST - 두 개의 AST 병합
n1 = ast.parse(input_a)
n2 = ast.parse(input_b)
n = merge(n1,n2)
나는 차일 N1과 N2와 루트 N을 작성하고 싶습니다. 당신이 할 수있는 표시를 미리
파이썬 ast를 사용하여 두 ast를 어떻게 병합 할 수 있습니까?
나는 같은 것을 할 싶습니다 :Python AST - 두 개의 AST 병합
n1 = ast.parse(input_a)
n2 = ast.parse(input_b)
n = merge(n1,n2)
나는 차일 N1과 N2와 루트 N을 작성하고 싶습니다. 당신이 할 수있는 표시를 미리
에
감사 :
n1.body += n2.body
하지만 그 어디 문서화 찾을 수 없습니다.
샘플 :
>>> a=ast.parse("i=1")
>>> b=ast.parse("j=2")
>>> a.body += b.body
>>> exec compile(a, "<string>", "exec")
>>> print i
1
>>> print j
2
>>>
당신은 당신이 가지고있는 노드의 유형을 지정해야하지? 이것은'input_a'와'input_b'에 크게 의존하는 것처럼 보입니다. – mgilson
예를 들어, 두 입력 모두 함수의 정의 일 수 있으며이 두 가지를 하나로 병합해야합니다. 나는 그들 중 하나가 유효하지 않기 때문에, 나는 어떤 출력도 얻지 못하기 때문에 함께 파에서 ast 파서를 호출하고 싶지 않다 ... – Kapucko