Skip to content

0.6

Compare
Choose a tag to compare
@Nate-Bragg-Bose Nate-Bragg-Bose released this 09 Jan 20:17
· 106 commits to master since this release

v0.6: First open source release, now with better debugging and control.

  Project:

  In an exciting development for the Smudge project, as of October,
  Smudge is now under a BSD 3-clause license!

  Releases are now available for Windows using an installer, and on
  Ubuntu/Debian using a deb package, in addition to zip/tar archives.

  Features:

  Smudge files may now begin with some number of pragmas, before the
  name of the first state machine, thereby enabling any required
  command-line flags (except 'help' and 'version') for that file alone.
  For example, to enable strictness checking for a file, simple start
  the file with:
    #strict

  Two helpful debugging flags were added: --logevent and --logstate.
  The former calls a log function upon receipt of specified events, and
  the latter upon entry into the specified states.  For example, in
  order to enable logging on all events for the "buggy" state machine
  except "noisy" (which is disabled to avoid cluttering the logs):
    smudge --log-event --no-logevent=buggy.noisy buggy.smudge

  NOTE: in order to use the above logging flags, the function
  SMUDGE_debug_print must be defined, which should be the same as
  SMUDGE_panic_print (with the exception of not panicking).

  Errata:

  State machines with leading numbers now yield compilable mangled
  names.  Mangled names that would produce undefined behavior are
  caught and instead yield an error which can be overcome with the
  newly added --nsprefix flag.

  If GraphViz is not installed, Smudge will now exit with an error.

  Errors now refer to the precise location of an error where possible,
  instead of the approximate location.

  Tickets:

  78: lintian - fix file ownership
  53: File-level compilation switches
  38: Event logging for debugging
  44: GraphViz - concatenate parallel edges.
  72: C Identifiers can't begin with numbers or underscores
  59: Friendly message to install GraphViz
  73: Boolean command line switches should be invertable.
  69: Add commit hash to version
  64: PackageInfo warning
  37: Comment header warning of generated code.
  47: Error granularity finer than SM