1. 14 Mar, 2017 4 commits
    • Damien George's avatar
      unix/main: Refactor to put lexer constructors all in one place. · 33a77ea2
      Damien George authored
      The lexer can now raise an exception on construction so it must go within
      an nlr handler block.
      33a77ea2
    • Damien George's avatar
      lib/utils/pyexec: Refactor to put lexer constructors all in one place. · 56b23839
      Damien George authored
      The lexer can now raise an exception on construction so it must go within
      an nlr handler block.
      56b23839
    • Damien George's avatar
      py: Allow lexer to raise exceptions during construction. · 1831034b
      Damien George authored
      This patch refactors the error handling in the lexer, to simplify it (ie
      reduce code size).
      
      A long time ago, when the lexer/parser/compiler were first written, the
      lexer and parser were designed so they didn't use exceptions (ie nlr) to
      report errors but rather returned an error code.  Over time that has
      gradually changed, the parser in particular has more and more ways of
      raising exceptions.  Also, the lexer never really handled all errors without
      raising, eg there were some memory errors which could raise an exception
      (and in these rare cases one would get a fatal nlr-not-handled fault).
      
      This patch accepts the fact that the lexer can raise exceptions in some
      cases and allows it to raise exceptions to handle all its errors, which are
      for the most part just out-of-memory errors during construction of the
      lexer.  This makes the lexer a bit simpler, and also the persistent code
      stuff is simplified.
      
      What this means for users of the lexer is that calls to it must be wrapped
      in a nlr handler.  But all uses of the lexer already have such an nlr
      handler for the parser (and compiler) so that doesn't put any extra burden
      on the callers.
      1831034b
    • Damien George's avatar
      9773506a
  2. 13 Mar, 2017 5 commits
  3. 12 Mar, 2017 3 commits
    • Paul Sokolovsky's avatar
      f5aac7d3
    • Paul Sokolovsky's avatar
      zephyr: Move "minimal" configuration building to a separate wrapper script. · 40e54106
      Paul Sokolovsky authored
      Minimal config can be now build with:
      
      ./make-minimal BOARD=...
      
      This is required because of Makefile.exports magic, which in its turn depends
      on PROJ_CONF to be set correctly at the beginning of Makefile parsing at all
      times. Instead of adding more and more workarounds for that, it's better to
      just move minimal support to a separate wrapper.
      
      Also, remove Zephyr 1.5 era cruft from Makefile, and add support for Zephyr's
      "run" target which supercedes older "qemu" target in upstream.
      40e54106
    • Paul Sokolovsky's avatar
      zephyr: Make sure that generated prj.conf is updated only on content changes. · 736a8a8a
      Paul Sokolovsky authored
      This is a typical problem with make: we want to trigger rebuilds only
      if file actually changed, not if its timestamp changed. In this case,
      it's aggravated by the fact that prj.conf depends on the value of
      BOARD variable, so we need to do some tricks anyway. We still don't
      try to detect if just BOARD changed, just try to generate new
      prj.conf.tmp every time (quick), but do actual replacement of prj.conf
      only if its content changed.
      736a8a8a
  4. 11 Mar, 2017 1 commit
  5. 10 Mar, 2017 7 commits
  6. 09 Mar, 2017 8 commits
  7. 08 Mar, 2017 4 commits
  8. 07 Mar, 2017 8 commits