最近人気の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 件のコメント:
コメントを投稿