저는 동적 프로그래밍에 대해 말하는 것이 아닙니다.D 코드에서 AST로 작업 할 수 있습니까?
(>=)
|--(14)
+--(.)
|--(x)
+--(some_val)
가 지금 만있어 :
obj.where(x => x.some_val >= 14); // <-- LINQ-style :D
단일 표현 기능 인수의 AST와 함께 직접 작업 할 수있는 가능성을 가지고 : 내 소원은 같은 구조와 컴파일 시간에 작업하는 것입니다 익명 함수 AST 구조에 대한 정보를 수집하는 일부 미친 더러운 방법으로 모든 연산자 (예 : +
/-
/*
/.
/...)가있는 x 객체에 대한 특수 클래스를 사용하는 것이 좋습니다 (이 클래스 이 단일 표현식 함수에서 사용할 수있는 유일한 클래스입니다.).
단일 r 값에 대해 작은 AST와 유사합니다.
어떻게 든 기술적으로 가능합니까?
람다를 사용하는 필터에 대한 간단한 질문이 아닙니까? – DejanLekic
D 코드에 대해 AST를 조작하는 D 기반 솔루션을 고집합니까? 아니면 D 소스 코드에서 작동 할 수 있지만 D에 함축되어 있지 않은 솔루션에 관심이 있습니까? –
@DejanLekic lambda를 사용한 필터링은 표준 라이브러리의 아주 기본적인 도구입니다 (아니요, 제가 찾던 것이 아닙니다). 그것은 유감입니다, 당신은 그런 가정을합니다. 내 질문이 정말로 똑똑하지 않은 것 같습니다. –