1. 05 Dec, 2014 1 commit
    • Damien George's avatar
      py: Optimise lexer by exposing lexer type. · a4c52c5a
      Damien George authored
      mp_lexer_t type is exposed, mp_token_t type is removed, and simple lexer
      functions (like checking current token kind) are now inlined.
      
      This saves 784 bytes ROM on 32-bit unix, 348 bytes on stmhal, and 460
      bytes on bare-arm.  It also saves a tiny bit of RAM since mp_lexer_t
      is a bit smaller.  Also will run a bit more efficiently.
      a4c52c5a
  2. 27 Nov, 2014 1 commit
  3. 26 Oct, 2014 1 commit
    • Damien George's avatar
      stmhal: Improve REPL control codes; improve pyboard.py script. · bc1488a0
      Damien George authored
      Improvements are:
      
      2 ctrl-C's are now needed to truly kill running script on pyboard, so
      make CDC interface allow multiple ctrl-C's through at once (ie sending
      b'\x03\x03' to pyboard now counts as 2 ctrl-C's).
      
      ctrl-C in friendly-repl can now stop multi-line input.
      
      In raw-repl mode, use ctrl-D to indicate end of running script, and also
      end of any error message.  Thus, output of raw-repl is always at least 2
      ctrl-D's and it's much easier to parse.
      
      pyboard.py is now a bit faster, handles exceptions from pyboard better
      (prints them and exits with exit code 1), prints out the pyboard output
      while the script is running (instead of waiting till the end), and
      allows to follow the output of a previous script when run with no
      arguments.
      bc1488a0
  4. 22 Oct, 2014 2 commits
  5. 05 Oct, 2014 2 commits
  6. 23 Sep, 2014 1 commit
    • Damien George's avatar
      py: Free non-interned strings in the parser when not needed. · 52b5d76a
      Damien George authored
      mp_parse_node_free now frees the memory associated with non-interned
      strings.  And the parser calls mp_parse_node_free when discarding a
      non-used node (such as a doc string).
      
      Also, the compiler now frees the parse tree explicitly just before it
      exits (as opposed to relying on the caller to do this).
      
      Addresses issue #708 as best we can.
      52b5d76a
  7. 20 Jul, 2014 1 commit
  8. 26 Jun, 2014 1 commit
  9. 19 Jun, 2014 1 commit
  10. 16 Jun, 2014 1 commit
  11. 10 May, 2014 1 commit
  12. 03 May, 2014 4 commits
  13. 02 May, 2014 1 commit
  14. 17 Apr, 2014 1 commit
  15. 16 Apr, 2014 1 commit
    • Damien George's avatar
      stmhal: Improve flash storage cache management. · 6d983539
      Damien George authored
      Internal flash used for the filesystem is now written (from the cache)
      only after a 5s delay, or when a file is closed, or when the drive is
      unmounted from the host.  This delay means that multiple writes can
      accumulate in the cache, and leads to less writes to the flash, making
      it last longer.
      
      It's implemented by a high-priority interrupt that takes care of flash
      erase and write, and flushing the cache.
      
      This is still only an interim solution for the flash filesystem.  It
      eventually needs to be replaced with something that uses less RAM for
      the cache, something that can use more of the flash, and something that
      does proper wear levelling.
      6d983539
  16. 08 Apr, 2014 1 commit
    • Damien George's avatar
      Improve REPL detecting when input needs to continue. · 97790455
      Damien George authored
      Full CPython compatibility with this requires actually parsing the
      input so far collected, and if it fails parsing due to lack of tokens,
      then continue collecting input.  It's not worth doing it this way.  Not
      having compatibility at this level does not hurt the goals of Micro
      Python.
      97790455
  17. 06 Apr, 2014 1 commit
  18. 03 Apr, 2014 2 commits
  19. 30 Mar, 2014 1 commit
    • Damien George's avatar
      Rename rt_* to mp_*. · d17926db
      Damien George authored
      Mostly just a global search and replace.  Except rt_is_true which
      becomes mp_obj_is_true.
      
      Still would like to tidy up some of the names, but this will do for now.
      d17926db
  20. 29 Mar, 2014 1 commit
  21. 24 Mar, 2014 1 commit
  22. 17 Mar, 2014 1 commit
  23. 15 Mar, 2014 3 commits
  24. 13 Mar, 2014 2 commits
  25. 08 Mar, 2014 1 commit
  26. 23 Feb, 2014 1 commit
  27. 16 Feb, 2014 1 commit