Antlr을 사용하여 DSL을 작성하여 문법 파일에서 렉서와 파서를 생성했습니다. 파서는 내가 계산할 수있는 다양한 노드 (예 : 함수 노드)를 포함하는 추상 구문 트리를 생성합니다. 함수 노드에 대한 코드에서 함수 라이브러리에서 일치하는 함수 이름과 매개 변수 유형을 바인딩 체크합니다. 여기에 함수 룩업을 최적화하기 위해 간단한 캐싱이 있습니다. (두 개의 int를 가진 A + B를 호출하면 다음에 두 개의 int가있는 더하기 연산자를 사용할 때 강력한 기회가됩니다).스크립팅 언어로 DLR로 전환 할 때의 주요 이점은 무엇입니까?
최근에 나는 DLR에 대해 읽었으며이 유형의 스크립팅 언어 구현을 수용하도록 설계된 것 같습니다. 처음에는 파서 나 렉서를 생성하는 것처럼 보이지 않지만 구현의 다른 부분을 돕는 것 같습니다. 나는 DLR 사용으로 전환하는 주된 이점이 무엇인지 궁금해하고있었습니다.
감사합니다. Jon, 몇 가지 좋은 동기가 특히 동적 유형입니다. 오픈 소스 잼 (open-source-jam)에서 발표 할 수 있기를 바랍니다. – Jason
5 분 밖에 걸리지 않았습니다. 세부 사항은 전혀 없습니다. C#의 동적 인 장 (Depth depth)을 거의 다 마쳤으므로 곧 사용할 수있게 될 것입니다. –