mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-30 23:02:50 -06:00
initial import of the C runtime
This commit is contained in:
29
src/runtime/c/utils/pgf2yaml.c
Normal file
29
src/runtime/c/utils/pgf2yaml.c
Normal file
@@ -0,0 +1,29 @@
|
||||
#include <pgf/pgf.h>
|
||||
|
||||
#include <gu/dump.h>
|
||||
#include <gu/file.h>
|
||||
#include <gu/utf8.h>
|
||||
|
||||
int main(void) {
|
||||
GuPool* pool = gu_new_pool();
|
||||
GuExn* err = gu_exn(NULL, type, pool);
|
||||
GuIn* in = gu_file_in(stdin, pool);
|
||||
PgfPGF* pgf = pgf_read(in, pool, err);
|
||||
int status = 0;
|
||||
if (!gu_ok(err)) {
|
||||
fprintf(stderr, "Reading PGF failed\n");
|
||||
status = 1;
|
||||
goto fail_read;
|
||||
}
|
||||
GuOut* out = gu_file_out(stdout, pool);
|
||||
GuOut* bout = gu_out_buffered(out, pool);
|
||||
// GuWriter* wtr = gu_locale_writer(bout, pool);
|
||||
GuWriter* wtr = gu_new_utf8_writer(bout, pool);
|
||||
GuDump* ctx = gu_new_dump(wtr, NULL, err, pool);
|
||||
gu_dump(gu_type(PgfPGF), pgf, ctx);
|
||||
gu_writer_flush(wtr, err);
|
||||
fail_read:
|
||||
gu_pool_free(pool);
|
||||
return status;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user