Ruby 1.8 AST
은 큰 switch 문을 사용하여 런타임시 탐색된다는 것을 이해하고 클래스 또는 상위 모듈에서 메소드를 호출하는 것과 같이 많은 경우 해석기가 트리를 위아래로 탐색합니다. Ruby C
확장자로이 AST
에 액세스하는 간단한 방법이 있습니까? Ruby 확장 API가 필요하거나 내부 데이터 구조를 직접 해킹해야합니까?C 레벨 코드에서 Ruby AST에 액세스하려면 어떻게해야합니까?
2
A
답변
1
좋은 시작점은 아마도 ParseTree 라이브러리의 출처를 읽는 것입니다. 그러면 루비에서 AST를 가져오고 엉망진창을 만들 수 있습니다.
1
팁 주셔서 감사합니다. 당신 말이 맞아요 - ParseTree
은 AST 진행에 대한 유일한 코드 인 것 같습니다. 사실 RubyInline에 쓰여 있습니다.
그래서 Ruby와 C 코드가 이상하게 섞여 있습니다. 그래도 아주 재미있는 독서.
다른 참고 자료는 물론 Ruby 자체의 eval.c입니다.
둘 사이에 머리를 치기 위해 두 가지 읽기가 상당히 필요합니다.
관련 문제
- 1. 코드에서 C# 성능 카운터에 액세스하려면 어떻게합니까?
- 2. 코드에서 DisplayName 데이터 주석 값에 액세스하려면 어떻게해야합니까?
- 3. C# - WLAN 신호 강도 등에 액세스하려면 어떻게해야합니까?
- 4. C#에서 파일 속성에 액세스하려면 어떻게해야합니까?
- 5. .aspx 페이지에서 C# 변수 값에 액세스하려면 어떻게해야합니까?
- 6. C# 클래스 라이브러리에서 HTTP 캐시에 액세스하려면 어떻게해야합니까?
- 7. Ruby 클라이언트를 사용하여 Selenium의 "newPageLoaded"플래그에 액세스하려면 어떻게해야합니까?
- 8. 리본 상자에 액세스하려면 어떻게해야합니까?
- 9. Javascript로 memcached에 액세스하려면 어떻게해야합니까?
- 10. 내 ResourceDictionary에 액세스하려면 어떻게해야합니까?
- 11. 스프링 컨테이너에 액세스하려면 어떻게해야합니까?
- 12. CompilerPlugin에서 AST에 문자열을 컴파일 하시겠습니까?
- 13. WebKit.NET을 사용하여 DOM에 액세스하려면 어떻게해야합니까?
- 14. 코드 숨김에서 x : 이름에 액세스하려면 어떻게해야합니까?
- 15. 코드에서 VB6 모듈의 이름에 액세스하려면 어떻게합니까?
- 16. 코드에서 핵심 데이터 엔티티의 속성에 액세스하려면 어떻게합니까?
- 17. 호스팅 된 IronPython에서 내부 개체에 액세스하려면 어떻게해야합니까?
- 18. IXMLDOMNode에서 요소 속성에 액세스하려면 어떻게해야합니까?
- 19. C 코드에서
- 20. Java 애플리케이션에서 내 Gmail 이메일에 액세스하려면 어떻게해야합니까?
- 21. VB.NET 테스트 케이스에서 비공개 멤버에 액세스하려면 어떻게해야합니까?
- 22. Powershell : C# 코드에서 자격 증명을 얻으려면 어떻게해야합니까?
- 23. C# 코드에서 .chm 파일을 만들려면 어떻게해야합니까?
- 24. 익명 개체의 속성에 액세스하려면 어떻게해야합니까?
- 25. 다른 클래스에 반복적으로 액세스하려면 어떻게해야합니까?
- 26. 응용 프로그램에서 conact에 액세스하려면 어떻게해야합니까?
- 27. 이름으로 포스트그레스 테이블에 액세스하려면 어떻게해야합니까?
- 28. 이 해시에서 params에 액세스하려면 어떻게해야합니까?
- 29. Weblogic을 사용하여 파일에 액세스하려면 어떻게해야합니까?
- 30. Outlook에서 마우스 이벤트에 액세스하려면 어떻게해야합니까?
안녕하세요! 관심 없어, 뭐라고 쓰고있어? :) – horseyguy