AST로 작업 할 때 모범 사례가 있습니까? 구문 분석 AST가 있습니다. ConstantExpression, BinaryExpression 등 AST의 정보로 GUI 대화 상자를 채우고 싶습니다. 내 코드가 꽤 복잡해지기 때문에 다소 혼란 스럽습니다.표현식 AST로 작업하기
예 :
나는 값 10 RESP 두 개의 텍스트 상자를 채우려expression = "Var1 > 10 AND Var2 < 20"
. 20에서 대서양 표준시. 내가 지금하고있는 것은 올바른 자식 표현 유형 (.Net Is-operator 사용)을 확인하고 그에 따라 작동하며 코드가 실제로 "smelly"인 재귀 적 방법입니다. :)
어떤 디자인 패턴이 있습니까? 방문객이나 그와 같은 사람이 이것을 좀 더 쉽게/더 읽기 쉽고 유지할 수있게합니까?
의견에 관해서. 당신이 설명하는 어려움을 이해하고 있는지 확신 할 수 없습니다. 어떤 종류의 표현이 허용되지 않습니까? 어쨌든, 요점은 설명하는 두 개의 apporaches가 나무에서 수행하려는 모든 종류의 조작/유효성 검사에 사용될 수 있다는 것입니다. 첫 번째 접근 방식에서 적절한 매개 변수를 사용하여 새 메소드를 추가하거나 적절한 필드를 사용하여 두 번째 접근 방식에서 방문자의 새 하위 클래스를 정의하면됩니다. –
다음은 무슨 뜻입니까. exp1 = "1 + 1" exp2 = "Var1> 10 및 Var2 <20" 해결책으로 두 표현식에서 두 개의 정수를 얻을 수 있지만 첫 번째 표현식이 내 응용 프로그램에 올바른 유형이 아닙니다. GUI가 채워 넣는 GUI는 두 가지 정수가 포함 된 모든 유형의 표현식 (트리의 일부분)이 아닌 특정 유형의 표현식에서만 작동합니다. – Marcus
구체적으로 달성하고자하는 것이 분명하지 않습니다. –