/* * rxgen.c - regular expression generator * * Written By: MURAOKA Taro <koron@tka.att.ne.jp> * Last Change: 19-Sep-2009. */ module migemo_d.example.rxgen; private static import core.stdc.stdio; private static import migemo_d.rxgen; extern (C) nothrow @nogc int main(int argc, char** argv) do { migemo_d.rxgen.rxgen* prx = migemo_d.rxgen.rxgen_open(); scope (exit) { if (prx != null) { migemo_d.rxgen.rxgen_close(prx); prx = null; } } if (prx != null) { char[256] buf; while ((core.stdc.stdio.gets(buf)) && (!core.stdc.stdio.feof(core.stdc.stdio.stdin))) { migemo_d.rxgen.rxgen_add(prx, buf); } char* ans = migemo_d.rxgen.rxgen_generate(prx); scope (exit) { if (ans != null) { migemo_d.rxgen.rxgen_release(prx, ans); ans = null; } } core.stdc.stdio.printf("rxgen=%s\n", ans); } core.stdc.stdio.fprintf(core.stdc.stdio.stderr, "n_rnode_new=%d\n", migemo_d.rxgen.n_rnode_new); core.stdc.stdio.fprintf(core.stdc.stdio.stderr, "n_rnode_delete=%d\n", migemo_d.rxgen.n_rnode_delete); }