AST를 탐색하기 위해 방문자 패턴을 작성해야합니다. 아무도 내가 어떻게 그것을 쓰기 시작할 것이라고 더 말할 수 있습니까? 내가 이해하는 한, AST의 각 노드에는 어떻게 든 호출되는 visit() 메서드 (?)가 있어야합니다 (어디에서?). 그건 내 이해를 끝내. 모든 것을 단순화하기 위해 , 내가 노드 루트는 표현은, 번호, 영업 이익과 나무는 다음과
관련 스레드를 살펴 보았지만 다음 질문에 대한 답변을 찾지 못했습니다. 트리 구조를 구성하는 클래스 (예 : 위젯, HTML 요소)의 계층 구조가 있다고 가정 해 보겠습니다. 내가 트리를 훑어 보거나 ID를 기반으로 한 구체적인 요소를 찾을 때 기본 클래스에 대한 포인터를 얻습니다 (트리 알고리즘은 기본 클래스에 대해서만 알고 있습니다). 그런 다음 유형
나는 모두 Shape 기본 클래스를 확장하는 여러 객체를 가지고 있습니다. 모든 객체에 대해 다른 객체를 표시하려면 editor, 예를 들어 Line은 Rectangle이 아닌 다른 속성을 편집해야합니다. Shape의 모든 구현을 위해 class Shape;
class Line extends Shape;
class Rectangle extends Sha
Ruby로 작성된 컴파일러에서 작업 중이며 현재 의미 분석 단계 (유형 검사)를 진행 중입니다. 선불 주문과 주문 후 주문 방식으로 방문해야하는 AST가 있습니다. Ruby에서 가장 좋은 방법은 무엇인지 궁금합니다. 블록을 each으로 전달하는 것은 본질적으로 방문자 패턴이지만, 두 가지 방식 (사전, 게시물)으로 방문해야하고 Ruby가 메소드 오버로드를
자바에서는 유형을 지정하지 않고 일반 클래스의 변수를 정의 할 수 있습니다. class Tree<T extends Comparable<? super T>> {}
somewhere-else: Tree tree;
다음 파일에서 일부 개체를 읽고 그것을 원하는 클래스 형식으로 형식 변환 할 수 있습니다. tree = (Tree<String>) some ob
데이터 유형에 너무 많은 걱정을하지 않아도 (즉 중복 코드가 너무 많지 않음) 일부 이미지 분석 알고리즘을 구현하려면 자바의 프리미티브 배열에 대한 방문자 패턴을 설정하고 있습니다. 아래의 예에서 , 나는 방문자 visit 방법의 서명이 visit(int, int double) 일반적인 유형입니다 원시적 형의 visit 방법의 서명의 두 가지 유형을 정의했
캔버스 페인팅 앱을 쓰고 있습니다. 일부 작업에는 마우스로 선택한 도면을 사용할 때마다 사용할 방문자가 있습니다. Visitor visitor = isStateSelected ? new SelectionVisitor() : DrawVisitor();
나는이 방문자가 정적 만드는 고려, 또는 적어도 그들을 위해 민간 분야를 소개해야 : 순간 내가 좋아 다
이 코드는 https://gist.github.com/2945472입니다.하지만 C++ 11에 의존하지 않는 구현이 필요합니다. 나는 단지 부스트를 사용하기 위해 그것을 변환하는 것에 손을 썼다. 그러나 나는 약간의 문제가있다. 맵에 삽입 할 때 나는 bad_any_cast 받고 있어요 #include <boost/any.hpp>
#include <boo