Skip to content

Commit

Permalink
v0.0.18 release packaging
Browse files Browse the repository at this point in the history
  • Loading branch information
sparkslabs committed Jan 10, 2016
1 parent 33f4ff2 commit 25444c7
Show file tree
Hide file tree
Showing 9 changed files with 167 additions and 28 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ reason.

### In progress

## [0.0.18] - UNRELEASED
## [0.0.18] - 2016-01-10

### New

Expand Down
17 changes: 12 additions & 5 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,8 @@ Release History

Release History:

- 0.0.18 - UNRELEASED - TBD
- 0.0.18 - 2016-01-10 - Grammar changes to support object attributes
and methods, start of servo support in arduino profile.
- 0.0.17 - 2015-08-12 - Add pass statement, enable "for" on arduino,
update documentation, refactor pyxie harness
- 0.0.16 - 2015-08-02 - Adds initial Arduino LEONARDO support, improved
Expand Down Expand Up @@ -343,9 +344,13 @@ Language Status
| expression '-' arith_expression
| expression '**' arith_expression

arith_expression : expression_atom
| arith_expression '*' expression_atom
| arith_expression '/' expression_atom
arith_expression : negatable_expression_atom
| arith_expression '*' negatable_expression_atom
| arith_expression '/' negatable_expression_atom


negatable_expression_atom : "-" negatable_expression_atom
| expression_atom

expression_atom : value_literal
| IDENTIFIER '(' ')' # Function call, with no arguments
Expand All @@ -363,6 +368,8 @@ Language Status
| HEX
| OCTAL
| BINARY
| LONG (suffice is L)
| UNSIGNEDLONG (suffice is l)
| '-' number

Current Lexing rules used by the grammar:
Expand Down Expand Up @@ -402,4 +409,4 @@ around version 0.0.15, based on current rate of progress.

Keeping it for now also simplifies "yield" later

Michael Sparks, August 2015
Michael Sparks, January 2015
43 changes: 40 additions & 3 deletions doc/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,52 @@ reason.

### In progress

## [0.0.18] - UNRELEASED
## [0.0.18] - 2016-01-10

### New

*
* Parsing of "long" integers, treating "l" as unsigned long values and "L" as signed long values.
* Code generation for long and unsigned long values works
* Add first major example of a pyxie parsable program - for controlling a 4 legged robot - DAGU playful puppy (8 servos for 4 legs, 2 for pan/tilt in head, IR Array)
-- Does not parse/compile yet! (But will!)
* Add parsing of attribute lookup for objects
* Parsing tests for object attribute and method access
* Test cases for attribute access
* Add simple servo example
* Couple of versions to simplify development - target version + simplest
working version
* Some helper scripts to help while building/testing examples
* Redo function calls to allow attribute access ordering
* Recast identifier in functions as a callable expression
* Initial version of arduino function call descriptors
* Initial support for arduino profile in pynodes
* Code generation for first arduino specific types (specifically "Servo")

### Fixes

* Re-enable parse only option
* Allow expression atoms to be negatable, not just numbers (allows things like -step/2)
* Remove trailing semi-colons in arduino-blink test
* Fix Missing import regarding parsing testfiles in bin/pyxie
* Changes regarding precedence of brackets to other expression atoms

### Other

*
* Add a list of the high level things 'missing' to Language status
* Support for dumping the parse tree results as a json file - for debug purposes (disabled in code by default)
* Restores long/unsigned hinting where necessary
* Update range to support start, end and step - replacing max
* Test case for new range implementation
* Make PyAttribute's jdump correctly
* MAJOR Clean up how options are handled - shifted into introspected classes in bin/pyxie, along with improved internal docs
* Initial cleanup inside bin/pyxie-dev
* Improve lexing error messages
* clib updated

### Will need revisiting

* Do not clean up builds temporarily


## [0.0.17] - 2015-08-12

Expand Down
2 changes: 1 addition & 1 deletion doc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ inspired heavily by python introspection) That's quite some time off.

Release History:

* 0.0.18 - UNRELEASED - TBD
* 0.0.18 - 2016-01-10 - Grammar changes to support object attributes and methods, start of servo support in arduino profile.
* 0.0.17 - 2015-08-12 - Add pass statement, enable "for" on arduino, update documentation, refactor pyxie harness
* 0.0.16 - 2015-08-02 - Adds initial Arduino LEONARDO support, improved function call, release build scripts
* 0.0.15 - 2015-07-18 - clib converted to py clib for adding to build directory
Expand Down
51 changes: 48 additions & 3 deletions doc/language-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -157,6 +157,45 @@ Key expression support:
This means we can almost start writing useful programs, but in particular
can start creating simplistic benchmarks for measuring run speed.

## High Level things missing

### Language related

From a high level the key things I view as missing are support for:

* def - function definitions - and therefore implementation of scope
* What happens with mixed types in expressions
* Modulo operator support
* import statements
* yield - generator definitions
* class - class definitions
* object usage - method access, and attribute access

There is obviously more missing, but these are the high level issues with pyxie's
implementation of language at present.

### Profile related

* Linux host profile:
* Support for output (print) needs to be matched by (raw_)input support
* Needs to support input/output from files

* Arduino profile:
* Need to support the following things at minimum:
* Constants:
* OUTPUT, INPUT (pinModes)
* HIGH, LOW (general pin values)
* functions/etc
* digitalWrite
* delayMicroseconds
* pinMode
* analogRead
* millis
* Hardware devices/libraries etc
* Servo
* IOToy
* prototype microbit

## Grammar Currently Supported

Clearly we're not going to implement the full language spec in one go, so this
Expand Down Expand Up @@ -227,9 +266,13 @@ necessarily imply code generation, differences will be noted below.
| expression '-' arith_expression
| expression '**' arith_expression

arith_expression : expression_atom
| arith_expression '*' expression_atom
| arith_expression '/' expression_atom
arith_expression : negatable_expression_atom
| arith_expression '*' negatable_expression_atom
| arith_expression '/' negatable_expression_atom


negatable_expression_atom : "-" negatable_expression_atom
| expression_atom

expression_atom : value_literal
| IDENTIFIER '(' ')' # Function call, with no arguments
Expand All @@ -247,6 +290,8 @@ necessarily imply code generation, differences will be noted below.
| HEX
| OCTAL
| BINARY
| LONG (suffice is L)
| UNSIGNEDLONG (suffice is l)
| '-' number

Current Lexing rules used by the grammar:
Expand Down
16 changes: 11 additions & 5 deletions pyxie/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@
Release History:
* 0.0.18 - UNRELEASED - TBD
* 0.0.18 - 2016-01-10 - Grammar changes to support object attributes and methods, start of servo support in arduino profile.
* 0.0.17 - 2015-08-12 - Add pass statement, enable "for" on arduino, update documentation, refactor pyxie harness
* 0.0.16 - 2015-08-02 - Adds initial Arduino LEONARDO support, improved function call, release build scripts
* 0.0.15 - 2015-07-18 - clib converted to py clib for adding to build directory
Expand Down Expand Up @@ -320,9 +320,13 @@
| expression '-' arith_expression
| expression '**' arith_expression
arith_expression : expression_atom
| arith_expression '*' expression_atom
| arith_expression '/' expression_atom
arith_expression : negatable_expression_atom
| arith_expression '*' negatable_expression_atom
| arith_expression '/' negatable_expression_atom
negatable_expression_atom : "-" negatable_expression_atom
| expression_atom
expression_atom : value_literal
| IDENTIFIER '(' ')' # Function call, with no arguments
Expand All @@ -340,6 +344,8 @@
| HEX
| OCTAL
| BINARY
| LONG (suffice is L)
| UNSIGNEDLONG (suffice is l)
| '-' number
Current Lexing rules used by the grammar:
Expand Down Expand Up @@ -376,7 +382,7 @@
Keeping it for now also simplifies "yield" later
Michael Sparks, August 2015
Michael Sparks, January 2015
"""
Expand Down
17 changes: 12 additions & 5 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,8 @@ def find_packages(path, base="" ):
Release History:
- 0.0.18 - UNRELEASED - TBD
- 0.0.18 - 2016-01-10 - Grammar changes to support object attributes
and methods, start of servo support in arduino profile.
- 0.0.17 - 2015-08-12 - Add pass statement, enable "for" on arduino,
update documentation, refactor pyxie harness
- 0.0.16 - 2015-08-02 - Adds initial Arduino LEONARDO support, improved
Expand Down Expand Up @@ -408,9 +409,13 @@ def find_packages(path, base="" ):
| expression '-' arith_expression
| expression '**' arith_expression
arith_expression : expression_atom
| arith_expression '*' expression_atom
| arith_expression '/' expression_atom
arith_expression : negatable_expression_atom
| arith_expression '*' negatable_expression_atom
| arith_expression '/' negatable_expression_atom
negatable_expression_atom : "-" negatable_expression_atom
| expression_atom
expression_atom : value_literal
| IDENTIFIER '(' ')' # Function call, with no arguments
Expand All @@ -428,6 +433,8 @@ def find_packages(path, base="" ):
| HEX
| OCTAL
| BINARY
| LONG (suffice is L)
| UNSIGNEDLONG (suffice is l)
| '-' number
Current Lexing rules used by the grammar:
Expand Down Expand Up @@ -467,7 +474,7 @@ def find_packages(path, base="" ):
Keeping it for now also simplifies "yield" later
Michael Sparks, August 2015
Michael Sparks, January 2015
"""
)
45 changes: 41 additions & 4 deletions site/src/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ template: mainpage
source_form: markdown
name: Changelog
title: Changelog
updated: August 2015
updated: January 2016
---
## Change Log

Expand All @@ -13,15 +13,52 @@ reason.

### In progress

## [0.0.18] - UNRELEASED
## [0.0.18] - 2016-01-10

### New

*
* Parsing of "long" integers, treating "l" as unsigned long values and "L" as signed long values.
* Code generation for long and unsigned long values works
* Add first major example of a pyxie parsable program - for controlling a 4 legged robot - DAGU playful puppy (8 servos for 4 legs, 2 for pan/tilt in head, IR Array)
-- Does not parse/compile yet! (But will!)
* Add parsing of attribute lookup for objects
* Parsing tests for object attribute and method access
* Test cases for attribute access
* Add simple servo example
* Couple of versions to simplify development - target version + simplest
working version
* Some helper scripts to help while building/testing examples
* Redo function calls to allow attribute access ordering
* Recast identifier in functions as a callable expression
* Initial version of arduino function call descriptors
* Initial support for arduino profile in pynodes
* Code generation for first arduino specific types (specifically "Servo")

### Fixes

* Re-enable parse only option
* Allow expression atoms to be negatable, not just numbers (allows things like -step/2)
* Remove trailing semi-colons in arduino-blink test
* Fix Missing import regarding parsing testfiles in bin/pyxie
* Changes regarding precedence of brackets to other expression atoms

### Other

*
* Add a list of the high level things 'missing' to Language status
* Support for dumping the parse tree results as a json file - for debug purposes (disabled in code by default)
* Restores long/unsigned hinting where necessary
* Update range to support start, end and step - replacing max
* Test case for new range implementation
* Make PyAttribute's jdump correctly
* MAJOR Clean up how options are handled - shifted into introspected classes in bin/pyxie, along with improved internal docs
* Initial cleanup inside bin/pyxie-dev
* Improve lexing error messages
* clib updated

### Will need revisiting

* Do not clean up builds temporarily


## [0.0.17] - 2015-08-12

Expand Down
2 changes: 1 addition & 1 deletion site/src/panels/shortlog.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ name: Shortlog
updated: July 2015
title: Shortlog
---
* 0.0.18 - UNRELEASED - TBD
* 0.0.18 - 2016-01-10 - Grammar changes to support object attributes and methods, start of servo support in arduino profile.
* 0.0.17 - 2015-08-12 - Add pass statement, enable "for" on arduino, update documentation, refactor pyxie harness
* 0.0.16 - 2015-08-02 - Adds initial Arduino LEONARDO support, improved function call, release build scripts
* 0.0.15 - 2015-07-18 - clib converted to py clib for adding to build directory
Expand Down

0 comments on commit 25444c7

Please sign in to comment.