2011-10-28 4 views
0

위키 백과에서 Logo Programming은 교육에 사용되는 다중 패러다임 컴퓨터 프로그래밍 언어입니다. C#을 사용하여 TurtleGraphicEditor (로고 프로그래밍을 사용하는)와 같은 응용 프로그램을 만들고 싶습니다. 각 로고 명령을 메소드로 사용하고 싶습니다. "forward val"은 "forward (float val)"로 동작합니다. 로고 코드를 파싱하는 데 적합한 디자인 패턴은 무엇입니까?LOGO 거북이 코드 분석을위한 디자인 패턴

답변

2

이것은 매우 일반적인 질문입니다.

  • 추상 구문 나무
  • 도메인 특정 언어
  • 통역 (당신이 언급 한 바와 같이)
  • 컴파일러

    • 렉서
    • 파서 : 여기에 읽을 할 수있는 몇 가지 주제입니다

    이러한 응용 프로그램의 일반적인 디자인은 두 개의 mA 구성 요소 : 및

    1. 읽기 텍스트, 렉스 것은 하나가 그것을 평가 또는 다른 언어로 소스 코드에 (컴파일)을 변형,
    2. 구문 트리를 걸어 추상 구문 트리에 구문 분석

    그러나 경고 받다! 이것은 사소하지 않다!

  • +0

    도움을 주셔서 감사합니다. 매우 도움이됩니다. 커맨드 패턴을 사용하지만 각 메서드가 객체로 작동하기 때문에 매우 느립니다. 추상 문법 트리가 재미있을 것 같습니다 :) – brian

    0

    Interpreter은 이상적인 해결책입니다.

    +0

    그래,하지만 응용 프로그램을 더 복잡하게 만든 T.T, 나는 정상적인 파서 기능을 사용하고 상태, 복합 및 명령 패턴을 사용했습니다. – brian