Worgle은 웹 ORg TanGLEr입니다. 최소한 org-babel과 호환되는 조직 마크업의 하위 집합으로 작성된 읽기 쉬운 프로그램을 엉키게 만드는 것을 목표로 합니다. 여기에는 읽기 쉬운 프로그래밍에 중요한 측면인 noweb 스타일 코드 확장이 포함됩니다(Emacs가 아닌 다른 조직 모드 탱글러에서는 종종 무시되는 것 같습니다). 결국, 더 많은 WEB 유사 구문을 도입하고 Weave(HTML, TeX 등으로 내보내기)를 위한 백엔드를 구축하는 것이 희망입니다.
Worgle을 구축하는 초기 동기는 성능입니다. org-babel이 수행하는 얽힘은 스크립트보다 큰 프로젝트에서는 쓸모가 없을 정도로 당황스러울 정도로 느립니다. Worgle은 org-tangle을 실제 소프트웨어 프로젝트에 사용할 수 있도록 만드는 것을 목표로 합니다.
더 큰 목표는 C로 유능한 프로그램을 작성하기 위해 매일 사용하는 프로그램인 CWEB의 정신적 후속 프로그램을 구축하는 것입니다. 이는 아마도 최고의 유능한 프로그래밍 도구 중 하나일 것입니다. 이제 30년이 넘은 CWEB은 확실히 노후화의 조짐을 보이고 있습니다.
현재 Worgle에는 유용할 만큼 충분한 기능이 있습니다.
조직 모드의 거의 모든 고급 기능이 구현되지 않습니다. Emacs는 필요한 경우 이를 처리하는 데 능숙합니다.
컴파일하려면 make
실행하세요.
설치하려면 sudo make install
실행하세요.
알고 보니 이 README는 샘플 코드 입니다 . 멋지죠?
C의 간단한 hello world 프로그램에 대한 코드 블록은 다음과 같습니다.
#include
int main ( int argc , char * argv [])
{
<< say_the_worgle_greeting >>
return 0 ;
}
위에서 언급한 코드에는 say_the_worgle_greeting
이라는 코드 블록이 있습니다.
이는 아래 코드 블록으로 확장됩니다.
printf ( "Orgle Worgle Borgle!n" );
C 코드는 orgle
부트스트래퍼를 사용하여 얽혀 있으며, GCC와 같은 C 컴파일러를 사용하여 컴파일하고 실행할 수 있습니다.
./orgle README.org
gcc hello.c -o hello
./hello
매우 일반적인 성능 테스트에 따르면 Worgle은 Emacs보다 1300배(!) 더 빠르게 얽힐 수 있습니다. 테스트는 쉘 스크립트 Measure_performance.sh를 사용하여 수행됩니다.
아래에 인쇄된 결과는 High Sierra를 실행하는 2015년 중반 MacBook Pro의 결과입니다.
Org-babel-tangle(Emacs를 통해): 0m1.318s 워글: 0m0.001s
이 프로젝트는 공개 도메인에 속합니다. 즐거운 해킹이 되세요, 여러분.