[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