E D R , A S I H C RSS

Full text search for "ProgramNode"

Program Node


Search BackLinks only
Display context of search results
Case-sensitive searching
  • Gof/Facade . . . . 35 matches
         예를 들기 위해, 어플리케이션에게 컴파일러 서브시스템을 제공해주는 프로그래밍 환경이 있다고 하자. 이 서브시스템은 컴파일러를 구현하는 Scanner, Parser, ProgramNode, BytecodeStream, 그리고 ProgramNodeBuilder 클래스를 포함하고 있다. 몇몇 특수화된 어플리케이션은 이러한 클래스들을 직접적으로 접근할 필요가 있을 것이다. 하지만, 대부분의 컴파일러 시스템을 이용하는 클라이언트들은 일반적으로 구문분석(Parsing)이나 코드 변환 (Code generation) 의 세부적인 부분에 대해 신경쓸 필요가 없다.(그들은 단지 약간의 코드를 컴파일하기 원할뿐이지 다른 강력한 기능을 알 필요가 없다.) 그러한 클라이언트들에게는 컴파일러 서브시스템의 강력하지만 저급레벨인 인터페이스는 단지 그들의 작업을 복잡하게 만들 뿐이다.
         subsystem classes (Scanner, Parser, ProgramNode, etc.)
         Parser 클래스는 Scanner의 token로 parse tree를 구축하기 위해 ProgramNodeBuilder 를 사용한다.
          virtual void Parse (Scanner&, ProgramNodeBuilder &);
         Parser는 점진적으로 parse tree를 만들기 위해 ProgramNodeBuilder 를 호출한다. 이 클래스들은 Builder pattern에 따라 상호작용한다.
         class ProgramNodeBuilder {
          ProgramNodeBuilder ();
          virtual ProgramNode* NewVariable (
          virtual ProgramNode* NewAssignment (
          ProgramNode* variable, ProgramNode* expression
          virtual ProgramNode* NewRetrunStatement (
          ProgramNode* value
          virtual ProgramNode* NewCondition (
          ProgramNode* condition,
          ProgramNode* truePart, ProgramNode* falsePart
          ProgramNode* GetRootNode ();
          ProgramNode* _node;
         parser tree는 StatementNode, ExpressionNode와 같은 ProgramNode의 subclass들의 인스턴스들로 이루어진다. ProgramNode 계층 구조는 Composite Pattern의 예이다. ProgramNode는 program node 와 program node의 children을 조작하기 위한 인터페이스를 정의한다.
         class ProgramNode {
          virtual void Add (ProgramNode*);
Found 1 matching page out of 7540 total pages (5000 pages are searched)

You can also click here to search title.

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
Processing time 0.0066 sec