Skip to content
  • Joel K. Pettersson's avatar
    Add nodelist module, refactor parseconv & script data. · 5eeb7f16
    Joel K. Pettersson authored
    Split parser op list and ref types into the nodelist module,
    moving enums to script.h. SAU_ParseOpList and SAU_ParseOpRef
    becomes SAU_NodeList and SAU_NodeRef, also used for script.h
    types instead of SAU_PtrList, using a (separate) mempool for
    holding script data from parseconv for all allocations kept.
    
    The nodelist module fleshes out the implementation,
    possibly useful for future needs while quite small.
    
    Also refactor scriptconv and program.h types:
     * Remove the SAU_POPP_ADJCS flag (done "todo"),
       replacing all checks using other information.
    
    Note: This version fixes the v0.3.6 scriptconv changes
    for no ADJCS flag, the tagged version ignored clearing
    of modulator lists in scripts.
    
    Add 'devtests/pm-addremaddrem.sau' (which
    tests adding and clearing PM modulators).
    
    Change log:
     * 2019-12-26: Remove SAU_POPP_ADJCS flag,
           replace checks using other information.
     * 2019-12-27: Set version to v0.3.6.
     * 2019-12-29: Increase version suffix to 'b'.
           Turn parser op list and ref code into nodelist module.
           Use nodelist instead of ptrlist for script.h types,
           and a separate mempool for holding script data.
     * 2020-10-08: Re-apply after splitting out change still
           using the old ptrlist module and moving down most
           redesign except the SAU_POPP_ADJCS flag removal.
       Old branch:
        - 2019-12-30: Set version to v0.3.6-beta2.
              Tidy up naming & comments in new code.
              Use mempool to alloc program op lists.
              Fix v0.3.6 bug introduced when removing ADJCS flag.
              Correct scriptconv output and adjust generator,
              ensuring that cleared modulator lists are produced
              and set when clearing modulator lists in a script.
              Add 'devtests/pm-addremaddrem.sau' testing with PM.
        - 2019-12-31: scriptconv: Use mempool in two more cases
              where it fits the design. Add a comment clarifying
              why NULL checks are absent following updates to op
              list pointers. Add missing restrict, sauMalloclike.
              Reorder Makefile dependency names alphabetically.
        - 2020-07-26: Keep version at v0.3-dev.
              ISC-relicense nodelist.
    5eeb7f16