[Snek] [keith-packard/snek] 0aa692: Switch to linear scan for built-in names.

Keith Packard noreply at github.com
Wed Feb 13 21:43:25 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/keith-packard/snek
  Commit: 0aa692b3764ff59eeaab01b715e895fedef80408
      https://github.com/keith-packard/snek/commit/0aa692b3764ff59eeaab01b715e895fedef80408
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-13 (Wed, 13 Feb 2019)

  Changed paths:
    M snek-builtin.py
    M snek-name.c

  Log Message:
  -----------
  Switch to linear scan for built-in names.

This is way simpler, and only relevant at parse time.

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


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

  Changed paths:
    M posix/snek-main.c
    M posix/snek-posix.h
    M snek-duino/snek-duino-eeprom.c
    M snek-duino/snek-duino-serial.c
    M snek-gram.ll
    M snek-lex.c
    M snek-parse.c
    M snek.h

  Log Message:
  -----------
  Track parsing status to allow separate middle-of-statement prompts

Both the posix and arduino versions now print different prompts based
on whether the parser is waiting for a new statement or not. This
makes it easier to understand when extra newlines are needed to 'make it go'.

Also made lexing non-interactive content skip over blank lines just
like comments so that the program can have whitespace.

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


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

  Changed paths:
    M posix/Makefile
    A posix/snek-curses.c
    M posix/snek-posix.c
    M snek-gram.ll
    M snek-keyword.builtin
    M snekde/snekde.py

  Log Message:
  -----------
  Add 'pass' statement

This is a no-op, like an empty statement in any other language.

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


  Commit: 865bb39e107d580aa27b461d0d98483189dafb59
      https://github.com/keith-packard/snek/commit/865bb39e107d580aa27b461d0d98483189dafb59
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-13 (Wed, 13 Feb 2019)

  Changed paths:
    M snek.defs

  Log Message:
  -----------
  Add SNEK_VERSION to snek.defs

Expose the current version to users

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


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

  Changed paths:
    M Makefile

  Log Message:
  -----------
  Install posix/snek at 'make install' time

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


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

  Changed paths:
    M snek-code.c

  Log Message:
  -----------
  Reset snek_a to SNEK_ZERO at end of execution

Instead of SNEK_NULL, as the print code doesn't like that value right now.

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


  Commit: 117eb739a7288265383ad537afbf6ca6abebd488
      https://github.com/keith-packard/snek/commit/117eb739a7288265383ad537afbf6ca6abebd488
  Author: Keith Packard <keithp at keithp.com>
  Date:   2019-02-13 (Wed, 13 Feb 2019)

  Changed paths:
    M snek-duino/snek-duino-eeprom.c

  Log Message:
  -----------
  snek-duino: Reset eeprom reading address in eeprom.load()

Otherwise, we'll just keep reading through random bytes of eeprom past EOF.

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


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

  Changed paths:
    M snekde/snekde.py

  Log Message:
  -----------
  snekde: Call eeprom.load() during Put operation

This re-loads the code into RAM so that it's ready for use.

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


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

  Changed paths:
    M snek-duino/Makefile

  Log Message:
  -----------
  snek-duino: Add ISP variable to Makefile to select hardware

I've got both usbtiny and Avrisp mk II boards here; which one I use
depends on which one is working.

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


Compare: https://github.com/keith-packard/snek/compare/8a5ad7a9fdeb...b76d5d0a0a37


More information about the Snek mailing list