Disable lexer testing. Clean-ups and portability fixes.
Disable test lexer and re-enable normal output by default, adding a #define switch in sgensys.h to switch between the old parser and the test lexer. Some clean-ups for the test lexer, symtab code, and other parts of the program. Make the test lexer handle line comment ('#'), and change its buffered reading to make multiple character ungetting possible. Portability fixes: * Makefile and linking: Correct sh syntax. Check in Makefile for three uname -s cases: - Linux - OpenBSD or NetBSD - other ("generic UNIX") Unbreaks building on FreeBSD and DragonFly. Also reorder linking CC args for portability. * ALSA: Add missing call to snd_pcm_drain(). Re-remove GNUmakefile and simply use Makefile. Change log: * 2017-11-27: Some cleanups for lexer and symtab modules. Add debug #define for hash table in symtab.c (for testing collisions). * 2018-01-21: Make lexer handle line comments ('#'). Source fix for ALSA. Correct Makefile sh syntax and reorder CC args for linking. * 2018-02-04: Fix program.c typo / memory init bug. * 2018-02-08: Only include LFLAGS addition for OpenBSD and NetBSD on those systems. Unbreaks building on FreeBSD and DragonFly. * 2018-02-12: Change buffered reading in the lexer. * 2018-02-13: Rearranging of and renamings in lexer code. Add debug #define for lexer (for silent-enough output to measure time to process file). Move debug #define switches to sgensys.h. * 2018-02-14: Disable lexer, re-enable parser and output. Insert #define switch in sgensys.h to toggle. * 2018-02-19: Replace a ';' with a ',' in heading comments. * 2018-02-22: Update COPYING file. (FSF link updates.) * 2018-05-01: Replace README with rewritten version from 04-16. Similar to newer versions, but with references to added features removed. * 2018-09-19: In program.c, remove two unused functions, and two useless conditionals, one broken. * 2018-10-25: Fix parser string matching bug (not impacting the current uses). * 2019-01-19: Complete branch merging. Correct README wording in one place. Re-remove GNUmakefile and simply use Makefile.