-
Joel K. Pettersson authored
Add quick test version of a lexer module, used in place of the parser. (Normal output is disabled.) Experimental work towards loose plans for a new scripting language and a fuller redesign. Beginning of new symbol table implementation. Implemented string pool/string interning with a simple hash table. Used by the test lexer but not integrated with the old code. Added memory pool module (mempool.c), used for string storage in the new symbol table code. It is meant for large numbers of small allocations. Internally they are stored in arrays sized after the system's memory page size. Upon destruction, everything stored is freed. Fix build on OpenBSD (and NetBSD) using conditional compilation in audiodev_oss.c and an LFLAGS addition. (Note: This broke building on DragonFly and FreeBSD, fixed in newer versions.) (The .gitignore file is replaced with that used for all old snapshots.) Change log: * 2014-09-18: First quick test version of lexer module. * 2014-09-20: Add new symtab code. Add mempool module. Second quick test version of lexer module. Replace normal output with lexer testing. Implemented string interning for symtab. * 2014-10-11: Portability fix for OSS on OpenBSD and NetBSD. * 2014-10-12: Mempool module debugged. Test hash collisions in symtab module. Third quick test version of lexer module. Add GNUmakefile with debug build options.
24bd724f