Skip to content
  • Joel K. Pettersson's avatar
    2014-10-12: Test lexer branch. (Revert previous.) · 24bd724f
    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