«trees» 태그된 질문

4
추상 구문 트리는 정확히 어떻게 생성됩니까?
나는 AST의 목표를 이해하고 있다고 생각하며, 전에 몇 가지 트리 구조를 구축했지만 결코 AST는 아닙니다. 노드가 텍스트가 아니고 숫자가 아니기 때문에 혼란 스럽습니다. 그래서 코드를 파싱 할 때 토큰 / 문자열을 입력하는 좋은 방법을 생각할 수 없습니다. 예를 들어, AST의 다이어그램을 볼 때 변수와 값은 등호의 리프 노드였습니다. 이것은 나에게 …

3
추상 구문 트리에 대한 방문자 패턴 구현
학습 목적으로 프로그래밍 언어를 작성하는 중입니다. 나는 이미 내 언어의 하위 집합에 대한 렉서와 재귀 강하 파서를 썼다 (나는 현재 + - * /괄호 와 같은 수학 표현을 지원한다 ). 파서는 나에게 추상 구문 트리를 다시 건네주고, 여기 Evaluate에서 표현식의 결과를 얻기 위해 메소드를 호출한다 . 모든 것이 잘 작동합니다. …

3
재귀를 사용하지 않고 나무를 횡단하는 방법은 무엇입니까?
메모리 노드 트리가 매우 커서 트리를 통과해야합니다. 각 자식 노드의 반환 값을 부모 노드로 전달합니다. 모든 노드가 루트 노드까지 데이터 버블을 가질 때까지이 작업을 수행해야합니다. 순회는 이와 같이 작동합니다. private Data Execute(Node pNode) { Data[] values = new Data[pNode.Children.Count]; for(int i=0; i < pNode.Children.Count; i++) { values[i] = Execute(pNode.Children[i]); // …
19 c#  optimization  trees 

2
구문 분석 트리와 추상 구문 트리의 차이점을 설명하는 가장 간단한 예는 무엇입니까?
이해하기 위해 파서는 파싱 트리를 만든 다음 그 트리를 버립니다. 그러나 컴파일러가 사용하는 추상 구문 트리를 표시 할 수도 있습니다. 구문 분석 트리와 추상 구문 트리가 구문 분석 단계에서 생성된다는 인상을 받고 있습니다. 그렇다면 누군가 이것이 왜 다른지 설명 할 수 있습니까?
14 parsing  trees 


5
임의 / 일반 범주 노드로 변경 가능하고 다양한 jtree를 작성하려면 어떻게해야합니까?
참고 : 여기에 코딩 도움이 필요하지 않습니다 Programmers. 이유가 있습니다. Java에 대한 이해가 아닌 프로그램 계획 / 작성 기술을 향상시키고 싶습니다 . 나는이 LARP 게임에 대해 나열된 기술을 기반으로 임의 분류 시스템을 가지고 나무, 만드는 방법을 알아 내려고 노력하고있어 여기를 . 저의 이전 시도는 기술이 범주인지 여부에 대한 바보였습니다. 코드를 …

5
복제본이있는 쿼드 트리
쿼드 트리를 구현하고 있습니다. 이 데이터 구조를 모르는 사람들을 위해 다음과 같은 작은 설명을 포함시킵니다. 쿼드 트리를 데이터 구조 및 팔진은 3 차원 공간에서 무엇 유클리드 평면이다. 쿼드 트리의 일반적인 용도는 공간 인덱싱입니다. 그것들의 작동 방식을 요약하기 위해 쿼드 트리는 최대 용량과 초기 경계 상자가있는 컬렉션입니다 (여기서 사각형이라고합시다). 최대 용량에 …

4
트리에서 모든 노드의 모든 자손을 생성하는 가장 효율적인 방법
트리를 가져 오는 가장 효율적인 알고리즘을 찾고 있습니다 (가장자리 목록으로 저장되거나 부모 노드에서 자식 노드 목록으로 매핑 목록으로 저장 됨). 모든 노드에 대해 그 노드의 하위 노드 (리프 레벨 및 비 리프 레벨)의 목록을 생성합니다. 스케일로 인해 구현은 recusion 대신 루프를 거쳐야합니다. 이상적으로 O (N)이어야합니다. 이 SO 질문 은 트리에서 …

1
메뉴 건물 패턴
메뉴를 라우팅에 사용하지 않을 때 메뉴의 활성 상태 처리를 둘러 보는 데 문제가 있습니다. 메뉴 시스템도 라우팅을 처리하는 Drupal에서 왔습니다. 따라서 활성 상태 및 활성 트레일 상태 설정은 경로 (메뉴 렌더링 시스템의 역할도 함)에 의해 처리됩니다. 이제 많은 PHP 프레임 워크에는 라우팅을 처리하는 라우터 클래스가 있습니다. 메뉴가 POST를 인식해서는 안되기 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.