diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-12-04 17:29:01 +0100 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-12-04 22:07:08 +0100 |
commit | d8a316514c03d85b771a9dce4a8a51b875d955b3 (patch) | |
tree | 8966c29db767a155848f6d90f76771ce5b9de32e /src/symbols-extract.tes | |
parent | b120616b6da52e951097f69ad267de06081d218a (diff) | |
download | sciteco-d8a316514c03d85b771a9dce4a8a51b875d955b3.tar.gz |
autoconf preparation: move everything into src/ subdir
Diffstat (limited to 'src/symbols-extract.tes')
-rwxr-xr-x | src/symbols-extract.tes | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/src/symbols-extract.tes b/src/symbols-extract.tes new file mode 100755 index 0000000..6497324 --- /dev/null +++ b/src/symbols-extract.tes @@ -0,0 +1,79 @@ +#!./sciteco-minimal -m +! ./symbols-extract.tes <input file> <output file> <prefix pattern list> <array name> ! + +! <pos1,pos2>Mc - Compare string at pos1 with string at pos2 ! +@^Uc{ + U.2U.1 -.%.1^[ -.%.2^[ + <Q.1A-(Q.2A)U.c Q.1A"C|Q.2A"C|;'' Q.c"N;' %.1^[%.2> + Q.c +} + +! <i,j>Mx - Exchange line at I with line at J (I < J), returning new J ! +@^Ux{ + U.jU.i + Q.jJ X.xK + Q.iJ G.x .-Q.i%.j^[ .-(X.xL.)%.j^[ -K + Q.jJ G.x + Q.j +} + +! <i,j>Mq - Sort lines beginning at I until J using Quicksort algorithm ! +@^Uq{ + U.rU.l + + Q.l-Q.r"< + Q.lU.i Q.rJB .U.j + + < + Q.iJ <.,Q.rMc-1; .-Q.r; L> .U.i + Q.jJ <.,Q.rMc:; .-Q.l-1:; B> .U.j + + Q.i-Q.j; + + Q.i,Q.jMxU.j + > + + Q.i,Q.rMc"> Q.i,Q.rMxU.r ' + + Q.l-Q.i"< Q.iJB Q.l,.Mq ' + Q.i-Q.r"< Q.iJL .,Q.rMq ' + ' +} + +! read commandline arguments ! +LR 0Xi 2LR 0Xo 2LR 0Xp 2LR 0Xn HK + +! copy all defines in input file beginning with prefix ! +EBQi <S#defineS[Qp]; -SS :Xa> EF + +! sort all defines ! +Ga ZJB 0,.Mq J + +! format as C/C++ array ! +I/* + * AUTOGENERATED - DO NOT EDIT + */ +#include <glib.h> + +#include "Qi" +#include "symbols.h" + +static const SymbolList::Entry entries[] = { + +< + .,W.Xa 0KK + I#ifdef Qa + {"Qa", ^EQa}, +#endif + +.-Z;> +I}; + +/* overwrites weak object in symbols.cpp */ +SymbolList Symbols::Qn(entries, G_N_ELEMENTS(entries)); + + +! write output file ! +EWQo + +EX |