Title: ACE

ace -- azundris' code expander.

reads a file containing rules defining how to expand certain signature-codes in newsgroups (GothCode°, GrrrlCode°, GeekCode°, drsrmCode etc.), then tries to find one or many codes in a given file and tries to expand them. See the licence for conditions of use.

This source was written by Cristalle 'Azundris' Sabon for drsrm (de.rec.spiele.rpg.misc). The DOS and OS/2 versions were compiled by ROM°.

The inclusion of any signature code into the database of this program is not a challenge to the copyright which remains with the creator of the individual signature-code and those she chooses to license it to. The creators/copyright-holders of the individual signature-codes are listed in the database where known.


Get ace.zip for for the platform-independent stuff (the documentation and the code-database) and the binary for your platform <platform>.zip.
If there isn't one for your platform, just compile the source (just call up your C compiler with ace.c as the source. If you are lost here, ask you local guru.); it should go through wonderfully with no tweaking required. Heck, it even compiled on NiceTry! Now put the executable, whether out of the box or newly compiled, and the code-database codes.ace in your web-server's CGI directory (again, if you're lost...). This should do the trick.
If you do not have a web-server, you can place the two files anywhere (preferably somewhere in your search-PATH); while you cannot create codes without a server, you can still decode other people codes this way. To do this, just call up ace with the file (posting, email, etc.) containing the signature-code to decipher from the command-line (shell, DOS-box, whatever), like so: ace yourfile. That's it. Easy, no?
For further information, please consult the manual pages. They live in the doc directory.


       05/05/99 - code-database basix
       05/06/99 - lint, compression basix, and stuff
       05/07/99 - parse_rules() broken down, recursive stuff, multi-version support
       05/10/99 - decode basix
       05/12/99 - tons of failsafes
       05/14/99 - varargs. and stuff. basix for CGI-mode.
       05/17/99 - setdef in tokens did not overload inherited sets in
                  decoding. fixed.
                - ! is not a comment char anymore. it was not used + got annoying.
                - \ works in string-parameters now.
                - checks whether keys get redefined in sets now. (no warnings for
                  overloading keys of inherited sets though)
                - if strings were ' '-terminated i/o quoted, the decoder did not
                  recognize the flwg token. fixed. reported by Alexander Bernert.
                - restructured command-line interface. "ace -dv" == "ace -d -v".
                - more HTML
       05/18/99 - fixed bug in parse_args().
                - clean up the comment characters.
                - creates encoding forms now (sets only for now).
       05/19/99 - new command-line option '-c': "code follows".
                - manual page.
       05/22/99 - most HTML
                - basic CGI-parsing (parsing of commands).
                - check-boxes included.
       05/23/99 - final HTML
                - added GET-method for CGI since there are probems with PUT(???)
       05/24/99 - drsrm-code 0.02
                - deprecate-clause (this will probably break prerelease decoders)
                - fine-tuned web-interface
       05/25/99 - basic encoder
       05/26/99 - more encoder (denial, realization)
     ß 05/27/99 - most encoder (the fine art of...)
                - lint
       05/31/99 - doesn't break if codes with only one version have no VERSION-key
                - forms use code->name i/o code->id now
                - code with no ID does not break decoder any longer
                - links back to main page now
                - -t fixed.
       06/02/99 - links to its homepage now.
                - links to related newsgroups, owner and maintainer
    	    - "shud use separator"-warns only for codes with separators :)
                - comments at end of DB don't break this anymore
                - basix for ORDERED
       06/11/99 - ORDERED works now.
                - some minor fixes.
                - Grrl-Code works now.
       06/12/99 - SKIP implemented
                - comment-handling in get_line() rewritten to large extent
                - \-line merge in get_line() fixed.
                - \: fixed in morphcpy()/set_set_entry()
                - setup_set(), html_set() and others deal with unnamed entries now
                - new warnings :)
                - debug stuff for memory handler
                - PRESENCE added. (DOMINATE coming soon!)
                - missing \n at input decodeThis!-form caused endless loop
                - C*b*l-Code works now.
                - basix for Yiddishkeit-Code.
       07/26/00 - some web-servers put QUERY_STRING into argv[] aside from
                  passing it in the environment. this caused ace to break. : (