[Snek] [keith-packard/snek] 2ce1b6: Use fewer inline functions

Keith Packard noreply at github.com
Sat Feb 9 03:54:37 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/keith-packard/snek
  Commit: 2ce1b6342e17773658976223809ff677e978e2a5
      https://github.com/keith-packard/snek/commit/2ce1b6342e17773658976223809ff677e978e2a5
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-08 (Fri, 08 Feb 2019)

  Changed paths:
    M snek-list.c
    M snek-memory.c
    M snek-poly.c
    M snek-print.c
    M snek.h

  Log Message:
  -----------
  Use fewer inline functions

Saves a bit of space

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 7e800536b2e1ea7e00b861a84a91a0575dd18d06
      https://github.com/keith-packard/snek/commit/7e800536b2e1ea7e00b861a84a91a0575dd18d06
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-08 (Fri, 08 Feb 2019)

  Changed paths:
    M snek-poly.c
    M snek-string.c
    M snek.h

  Log Message:
  -----------
  Move snek_null_mark_move to snek_string_mark_move, eliminate snek_null_size

These functions were shared with snek_builtins type, but the memory system now
just skips builtin objects early.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: ae9df12dca1cba28adcba3d0d99c95d4bda4711f
      https://github.com/keith-packard/snek/commit/ae9df12dca1cba28adcba3d0d99c95d4bda4711f
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-08 (Fri, 08 Feb 2019)

  Changed paths:
    M snek-code.c
    M snek-frame.c
    M snek-list.c

  Log Message:
  -----------
  Shrink some memory management code

A bit of CSE, plus letting the target do unaligned reads and writes.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 096d42149376bdf3cd94e3ca37e005bcde7a4184
      https://github.com/keith-packard/snek/commit/096d42149376bdf3cd94e3ca37e005bcde7a4184
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-08 (Fri, 08 Feb 2019)

  Changed paths:
    M snek-code.c
    M snek-func.c
    M snek-list.c
    M snek-memory.c
    M snek-string.c
    M snek.h

  Log Message:
  -----------
  More memory management shrinking

Place snek_mem_t contents in snek_mems instead of just having pointers.
Un-inline snek_move_addr and snek_mark_addr in snek_poly_move/snek_poly_mark.
Move memmove for string references from snek-code.c to snek-memory.c.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 583672e9e035b8a0dd979126c856c7e31f9f10e0
      https://github.com/keith-packard/snek/commit/583672e9e035b8a0dd979126c856c7e31f9f10e0
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-08 (Fri, 08 Feb 2019)

  Changed paths:
    M snek-duino/Makefile
    A snek-duino/snek-duino-serial.c
    M snek-duino/snek-duino.c
    M snek-duino/snek-duino.h

  Log Message:
  -----------
  snek-duino: Move uart code to separate file.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: de88f1147da5ad2e4aeddf25cc1e0ff5c113d2af
      https://github.com/keith-packard/snek/commit/de88f1147da5ad2e4aeddf25cc1e0ff5c113d2af
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-08 (Fri, 08 Feb 2019)

  Changed paths:
    M snek-code.c

  Log Message:
  -----------
  Check for snek_abort right after instruction execution

This avoids doing any instruction final steps on partially computed
data, and also avoids needing two checks for abort.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: c8ccb89c308c183564199d763661464440013c7d
      https://github.com/keith-packard/snek/commit/c8ccb89c308c183564199d763661464440013c7d
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-09 (Sat, 09 Feb 2019)

  Changed paths:
    M snek-gram.ll
    M snek-parse.c

  Log Message:
  -----------
  Make sure only top-level simple statements get printed output

There aren't void values, so as a proxy, only simple top-level
statements get values printed. Making sure that happens is tricky,
this time snek_print_val is set to snek_print_vals before parsing a
single statement, and false if that statement is compound or
empty.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 860cb20df21e8b8b6008adc0b69cac5ab9e3dd6b
      https://github.com/keith-packard/snek/commit/860cb20df21e8b8b6008adc0b69cac5ab9e3dd6b
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-09 (Sat, 09 Feb 2019)

  Changed paths:
    M snek-parse.c

  Log Message:
  -----------
  Handle parse error recovery (skipping to NL) in snek_parse.

This moves the skip_to_nl code out of the lexer wrapper and into
snek_parse, eliminating the lex wrapper and avoiding a bunch of
variable frobbing.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 62e84a8ae257bdf45818956713237c55bce81d12
      https://github.com/keith-packard/snek/commit/62e84a8ae257bdf45818956713237c55bce81d12
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-09 (Sat, 09 Feb 2019)

  Changed paths:
    M snek-duino/snek-duino-serial.c
    M snek-duino/snek-duino.h

  Log Message:
  -----------
  snek-duino: Interrupt-driven USART code

Supports xon/xoff and ^C to interrupt execution.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 9f3f8958844d5c289b862651d9c056be70379e52
      https://github.com/keith-packard/snek/commit/9f3f8958844d5c289b862651d9c056be70379e52
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-09 (Sat, 09 Feb 2019)

  Changed paths:
    M snek-gram.ll

  Log Message:
  -----------
  Refactor grammar actions to shrink code.

Clean up if/elif/else actions to use the same names for matching
values.

Remove 'else-stat' non-terminal -- it had only one production and was
used in only one place.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: e13f0a63a7036add6b43811cac30afc3e0c56c93
      https://github.com/keith-packard/snek/commit/e13f0a63a7036add6b43811cac30afc3e0c56c93
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-09 (Sat, 09 Feb 2019)

  Changed paths:
    M snek-lex.c

  Log Message:
  -----------
  Fix confusing handling of keyword token returns

Remove 'default' clause, add 'return id' after switch on special
tokens.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 2d5c38941c648d10461f50b4d001620421d1d540
      https://github.com/keith-packard/snek/commit/2d5c38941c648d10461f50b4d001620421d1d540
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-09 (Sat, 09 Feb 2019)

  Changed paths:
    M snek-gram.ll
    M snek-parse.c

  Log Message:
  -----------
  Create new (smaller) type for parse value stack elements

The parse value stack only needs to hold a few types, not all of the
possible types returned by the lexer. Creating a custom type makes
each element smaller as well as shrinking the code needed to deal with
managing the stack.

Signed-off-by: Keith Packard <keithp at keithp.com>


  Commit: 80f28fead9492f0db7bf3ad58ce36e46b9208c04
      https://github.com/keith-packard/snek/commit/80f28fead9492f0db7bf3ad58ce36e46b9208c04
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-09 (Sat, 09 Feb 2019)

  Changed paths:
    M examples/blink.py
    M snek-duino/Makefile
    A snek-duino/snek-duino-eeprom.c
    M snek-duino/snek-duino-serial.c
    M snek-duino/snek-duino.builtin
    M snek-duino/snek-duino.c
    M snek-duino/snek-duino.h

  Log Message:
  -----------
  snek-duino: Add eeprom support

At boot time, execute any code in eeprom before entering command loop.
eeprom.write() reads from stdin up to ^D and writes to eeprom.

Signed-off-by: Keith Packard <keithp at keithp.com>


Compare: https://github.com/keith-packard/snek/compare/b19fdd3e122d...80f28fead949


More information about the Snek mailing list