From 6e9d794bb7c22000bfb9e0d3cc65b4c5c39adc08 Mon Sep 17 00:00:00 2001 From: Andy Spencer Date: Sat, 21 Nov 2009 10:09:57 +0000 Subject: [PATCH] Initial import --- .gitignore | 4 ++++ lib.ct | 16 ++++++++++++++++ lib.h | 2 ++ mkfile | 10 ++++++++++ test.c | 10 ++++++++++ tmpl.awk | 20 ++++++++++++++++++++ 6 files changed, 62 insertions(+) create mode 100644 .gitignore create mode 100644 lib.ct create mode 100644 lib.h create mode 100644 mkfile create mode 100644 test.c create mode 100755 tmpl.awk diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b3f23b6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.o +*~ +lib.c +test diff --git a/lib.ct b/lib.ct new file mode 100644 index 0000000..e38344f --- /dev/null +++ b/lib.ct @@ -0,0 +1,16 @@ +[void header() {] +Content-Type: application/xhtml+xml; charset=UTF-8 +[}] + +[void body() {] + [for (int i = 0; i < 3; i++)] +

hello, world

+[}] + +[void html() {] + + + [body();] + + +[}] diff --git a/lib.h b/lib.h new file mode 100644 index 0000000..677dc0e --- /dev/null +++ b/lib.h @@ -0,0 +1,2 @@ +void header(); +int html(); diff --git a/mkfile b/mkfile new file mode 100644 index 0000000..0d3a704 --- /dev/null +++ b/mkfile @@ -0,0 +1,10 @@ +PKGS=glib-2.0 +PROGS=test +default:V: test + #cat test.c + ./test +test: test.o lib.o +lib.c: lib.ct tmpl.awk + ./tmpl.awk lib.c + ex +'norm gg=G' +'wq' lib.c +<$HOME/lib/mkcommon diff --git a/test.c b/test.c new file mode 100644 index 0000000..dec3b4a --- /dev/null +++ b/test.c @@ -0,0 +1,10 @@ +#include +#include "lib.h" + +int main(int argc, char **argv) +{ + header(); + puts(""); + html(); + return 0; +} diff --git a/tmpl.awk b/tmpl.awk new file mode 100755 index 0000000..19dc06e --- /dev/null +++ b/tmpl.awk @@ -0,0 +1,20 @@ +#!/bin/awk -f +/\[/ { + gsub(/[\[\]]/, "") + code[length(code)] = $0 + next +} +/./{ + data[length(data)] = "\""$0"\\n\"" + i=length(data)-1 + code[length(code)] = "fwrite(data"i", sizeof(data"i")-1, 1, stdout);" +} +END { + print "#include " + print "" + for (i=0; i < length(data); i++) + print "static char data"i"[] = "data[i]";" + print "" + for (i=0; i < length(code); i++) + print code[i] +} -- 2.43.2