最近人気のPythonですが、Python自体は結構サイズが大きくて、Pythonを動かすのにたくさんのライブラリが必要です。
手軽に動かせる軽量のインタープリタ言語ないかなぁ。
調べてみると、picocというコンパクトなC言語インタープリタがあるらしい。
ということで、C言語インタープリタをビルドしてみました。
https://github.com/jpoirier/picoc
https://gitlab.com/zsaleeba/picoc
このpicocですが、ソースを見る限り簡単に拡張できます。
関数ポインターは実装されていないけれど、結構本格的なC言語が実装されています。
system()とかの関数も動くので、これちょっとしたスクリプトやマクロの代わりに使えるじゃん。
とりあえず、インタープリタを拡張して、dlopen()やdlsym()も動くようにしてみました。
これで、いろんなDLLをよんでいろんなことができる。
---------------------------
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#ifdef _WIN32
#include <windows.h>
#endif
#ifdef unix
#include <unistd.h>
#endif
#define MAX_AAA 50
#ifdef MAX_AAA
#define MAX_BBB 100
#endif
#ifdef _WIN32
#define PLAT "Windows"
#else
 #ifdef unix
 #define PLAT "unix"
 #else
  #ifdef PICOC_VERSION
  #define PLAT "picoc"
  #else
  #define PLAT "unknown"
  #endif
 #endif
#endif
#define print(a) printf("%s\n",a);
static int test()
{
 printf("test()\n");
 return 123;
}
int main()
{
 void* vp=(void*)0x12345678;
 double d=0;
 printf("test hello %d \n",MAX_BBB);
 printf("PLAT=%s\n",PLAT);
 printf("vp=%p\n",vp);
 test();
 system("cmd");
 return 0;
}
---------------------------
 
0 件のコメント:
コメントを投稿