Skip to content

Commit

Permalink
0.0.17 Release
Browse files Browse the repository at this point in the history
  • Loading branch information
sparkslabs committed Aug 12, 2015
1 parent 5b106be commit ac7cd14
Show file tree
Hide file tree
Showing 13 changed files with 52 additions and 32 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.17] - UNRELEASED
## [0.0.17] - 2015-08-12

### New

Expand Down
6 changes: 5 additions & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,8 @@ Release History

Release History:

- 0.0.17 - UNRELEASED - TBD
- 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
Expand Down Expand Up @@ -295,6 +296,7 @@ Language Status
| while_statement
| break_statement
| continue_statement
| pass_statement
| if_statement
| for_statement

Expand All @@ -304,6 +306,8 @@ Language Status

break_statement : BREAK

pass_statement : PASS

continue_statement : CONTINUE

if_statement : IF general_expression COLON EOL statement_block
Expand Down
3 changes: 2 additions & 1 deletion doc/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ reason.

### In progress

## [0.0.17] - UNRELEASED
## [0.0.17] - 2015-08-12

### New

Expand All @@ -19,6 +19,7 @@ reason.

* Extracted core code for "pyxie" script into pyxie.core
* Updated usage instructions to include covering using arduino profile
* Documentation updated to current status (to a large extent)

## [0.0.16] - 2015-08-02

Expand Down
37 changes: 21 additions & 16 deletions doc/dev-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,10 @@ commits. _(This is exported from trello)_
### Project Stage

* HEADLINE: PRE-ALPHA
* DEV STATE: WORKING (MVP)
* DEV VERSION: 0.0.16
* RELEASED: 0.0.15
* LANGUAGE STATE: PRE-BARE
* DEV STATE: WORKING (BARE)
* DEV VERSION: 0.0.17
* RELEASED: 0.0.16
* LANGUAGE STATE: BARE*
* FOCUS: Practicalities


Expand All @@ -26,23 +26,21 @@ commits. _(This is exported from trello)_

### Release Backlog: Features

* 0\.0.17 = = = = = = = = = =
* 3\.8 Arduino compiled programs can use values returned from functions.
* 0\.0.18 = = = = = = = = = =
* 195\. Functionality of bin/pyxie-dev is in core, not a script
* 51\. Pyxie compile harness is switched over to use a better system for determining runtime options #internals
* 3\.5 Analysis code looks for an arduino profile file describing c-types appropriately.
* 3\.8 Arduino compiled programs can use values returned from functions.
* 3\.6 arduino profile file is propogated with something relating to core functions that read values, to avoid forcing types "manually"
* 4\. Compilation profiles are pluggable
* 6\. Functionality of bin/pyxie is in core, not a script
* 3\.7 Arduino platform has alternative generator/exception implementation due to lack of exceptions
* Update website to include the changes for 0.0.16 #docs
* Docs on pyxie-dev usage
* 194\. Docs on pyxie-dev usage


### Release Backlog: Tasks

* 0\.0.17 - - - - - (tasks)
* 0\.0.18 - - - - - (tasks)
* 8\. Add updating man page to the makefile #docs
* 9\. Add the manpage to the distributed files, into the right places #docs
* 10\. Decide whether to add functionality of bin/pyxie-dev is in core


### Known Bugs / Anti-features
Expand All @@ -51,8 +49,7 @@ commits. _(This is exported from trello)_

### Backlog: Proposed Next

* 11\. MBed compatible compilation profile?
* 1\. Number Cards in backlog.
* 11\. MBed compatible compilation profile? (Seeedstudio Arch)
* 12\. MSP430 compatible compilation profile?


Expand Down Expand Up @@ -82,7 +79,6 @@ commits. _(This is exported from trello)_
### Backlog: Tasks

* 50\. Link current test programs on the website, maybe #website
* 51\. Pyxie compile harness is switched over to use a better system for determining runtime options #internals
* 52\. Review whether context should check types of ALL expressions, rather than just first, and whether we can should try to detect type mismatches #reflect
* 53\. Use https://travis-ci.org/ ? #reflect
* 54\. Review pypi packaging for things we should be doing #reflect #practicalities
Expand Down Expand Up @@ -113,7 +109,6 @@ commits. _(This is exported from trello)_

### Backlog: Website, docs, etc

* 56\. Blog post: Introducing Pyxie #docs #website
* 57\. Blog post: Pyxie structure #website
* 58\. Blog Post: Pyxie Decisions #website
* 59\. Start thoughts on pyxie-web #reflect #website
Expand All @@ -122,6 +117,13 @@ commits. _(This is exported from trello)_

### Features Implemented

* 0\.0.17 = = = = = = = = = =
* 193\. Update website to include the changes for 0.0.16/0.0.17 #docs
* 56\. Blog post: Introducing Pyxie #docs #website
* 3\.7.1 Integrate alternative generator/iterator protocol into compiler
* 3\.7 Arduino platform has alternative generator/exception implementation due to lack of exceptions
* pass statement
* 6\. Functionality of bin/pyxie is in core, not a script
* 0\.0.16 = = = = = = = = = =
* 3\. Arduino LEONARDO compatible compilation profile.
* 3\.3 Code generation outputs code targetting "setup" instead of "main"
Expand Down Expand Up @@ -224,7 +226,10 @@ commits. _(This is exported from trello)_

### Tasks Done

* 0\.0.17 - - - - - (tasks)
* 10\. Decide whether to add functionality of bin/pyxie-dev is in core
* 0\.0.16 - - - - - (tasks)
* 1\. Number Cards in backlog.
* 7\. For Release: 0.0.16
* 192\. Trello snapshot generation escapes task numbers.
* 68\. Write Bump Versions Script.
Expand Down
2 changes: 1 addition & 1 deletion doc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,7 @@ inspired heavily by python introspection) That's quite some time off.

Release History:

* 0.0.17 - UNRELEASED - TBD
* 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
* 0.0.14 - 2015-07-18 - For loops implemented. Added clib code, C++ generator implementation, FOR loop style test harness, parsing and basic analysis of of FOR loops using a range interator
Expand Down
4 changes: 2 additions & 2 deletions doc/language-spec.md
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ Harder:
| def_statement **[TBD]**
| return_statement **[TBD]**
| yield_statement **[TBD]**
| pass_statement **[TBD]**
| pass_statement

Note: general_expression **[PARTIAL]** means we have parsing of general
expressions but not all types have appropriate functionality yet
Expand All @@ -125,7 +125,7 @@ made that once function calls are integrated. In the meantime, printing
without having to implement general function calls is simpler.

print_statement : PRINT general_expression
pass_statement : PASS **[TBD]**
pass_statement : PASS

### Support for class definition **[TBD]**

Expand Down
4 changes: 3 additions & 1 deletion doc/language-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ commandline tools, but the easiest way of doing this is to do this:
sudo apt-get install arduino-mk



## Example program that lexes, parses, analyses & compiles

Clearly a single example doesn't tell you everything. This gives you a flavour.
Expand Down Expand Up @@ -177,6 +176,7 @@ necessarily imply code generation, differences will be noted below.
| while_statement
| break_statement
| continue_statement
| pass_statement
| if_statement
| for_statement

Expand All @@ -186,6 +186,8 @@ necessarily imply code generation, differences will be noted below.

break_statement : BREAK

pass_statement : PASS

continue_statement : CONTINUE

if_statement : IF general_expression COLON EOL statement_block
Expand Down
8 changes: 4 additions & 4 deletions doc/project-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@
### Project Stage

* HEADLINE: PRE-ALPHA
* DEV STATE: WORKING (MVP)
* DEV VERSION: 0.0.16
* RELEASED: 0.0.15
* LANGUAGE STATE: PRE-BARE
* DEV STATE: WORKING (BARE)
* DEV VERSION: 0.0.17
* RELEASED: 0.0.16
* LANGUAGE STATE: BARE*
* FOCUS: Practicalities


Expand Down
5 changes: 4 additions & 1 deletion pyxie/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@
Release History:
* 0.0.17 - UNRELEASED - TBD
* 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
* 0.0.14 - 2015-07-18 - For loops implemented. Added clib code, C++ generator implementation, FOR loop style test harness, parsing and basic analysis of of FOR loops using a range interator
Expand Down Expand Up @@ -274,6 +274,7 @@
| while_statement
| break_statement
| continue_statement
| pass_statement
| if_statement
| for_statement
Expand All @@ -283,6 +284,8 @@
break_statement : BREAK
pass_statement : PASS
continue_statement : CONTINUE
if_statement : IF general_expression COLON EOL statement_block
Expand Down
2 changes: 1 addition & 1 deletion pyxie/codegen/clib.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#!/usr/bin/python

files = {'iterators.cpp': '#include "iterators.hpp"\n\nstruct range : public Generator<int> {\n int maxCount;\n int index; \n range() :maxCount(0), index(0) { };\n range(int max) :maxCount(max), index(0) { };\n ~range() { };\n \n virtual int next() {\n GENERATOR_START \n\n while (index<maxCount) {\n YIELD(index);\n index += 1; \n }\n\n GENERATOR_END\n }\n}; \n', 'iterators.hpp': '#ifndef PYXIE_ITERATORS_HPP\n#define PYXIE_ITERATORS_HPP\n\n/*\n * Python Style Iterators in C++, based in part on experiment work in Kamaelia\n * Redone to remove use of generators, so that this can be used on Arduino\n * \n */\n\n#define GENERATOR_START if (this->__generator_state == -1) { return __default_value; } switch(this->__generator_state) { default:\n#define YIELD(value) this->__generator_state = __LINE__; return ((value) ); case __LINE__:\n#define GENERATOR_END }; this->__generator_state = -1; return __default_value;\n\ntemplate<class T>\nstruct Iterator {\n virtual T next()=0;\n};\n \ntemplate<class T>\nclass Generator : public Iterator<T> {\n protected:\n int __generator_state;\n public:\n T __default_value;\n Generator() : __default_value(T()) { };\n ~Generator() { };\n bool completed() { return __generator_state==-1; };\n};\n\n#endif\n', 'iterators_test.cpp': '/*\n * Test of a C++ version of Python style generators.\n * \n */\n\n#include <iostream>\n#include "iterators.cpp"\n/*\n\nWhile it may be a little unclear, this C++ program is equivalent\nto this python program:\n\nfor count in range(5):\n print count,\n\nprint\n\nIt doesn\'t do this:\n\nfor(int count=0; count<5; count++) {\n std::cout << count;\n}\nstd::cout << "." << std::endl;\n\nBecause doing it the way we do makes it avoid treating for/range as a\nspecial case, meaning we solve the harder problem first. Optimisations\nspecific to certain code structures can come later.\n\n*/\n\n\nint main(int argc, char* argv[]) {\n // Code to be replaced with a range() style iterator\n int count;\n range range_gen = range(5);\n\n while (true) {\n count = range_gen.next(); \n if (range_gen.completed())\n break; \n std::cout << count;\n }\n std::cout << "." << std::endl;\n\n return 0;\n}\n\n\n\n\n'}
files = {'iterators.cpp': '#include "iterators.hpp"\n\nstruct range : public Generator<int> {\n int maxCount;\n int index;\n range() :maxCount(0), index(0) { };\n range(int max) :maxCount(max), index(0) { };\n ~range() { };\n\n virtual int next() {\n GENERATOR_START\n\n while (index<maxCount) {\n YIELD(index);\n index += 1;\n }\n\n GENERATOR_END\n }\n};\n', 'iterators.hpp': '#ifndef PYXIE_ITERATORS_HPP\n#define PYXIE_ITERATORS_HPP\n\n/*\n * Python Style Iterators in C++, based in part on experiment work in Kamaelia\n * Redone to remove use of generators, so that this can be used on Arduino\n * \n */\n\n#define GENERATOR_START if (this->__generator_state == -1) { return __default_value; } switch(this->__generator_state) { default:\n#define YIELD(value) this->__generator_state = __LINE__; return ((value) ); case __LINE__:\n#define GENERATOR_END }; this->__generator_state = -1; return __default_value;\n\ntemplate<class T>\nstruct Iterator {\n virtual T next()=0;\n virtual bool completed()=0;\n};\n\ntemplate<class T>\nclass Generator : public Iterator<T> {\n protected:\n int __generator_state;\n public:\n T __default_value;\n Generator() : __default_value(T()) { };\n ~Generator() { };\n virtual bool completed() { return __generator_state==-1; };\n};\n\n#endif\n', 'iterators_test.cpp': '/*\n * Test of a C++ version of Python style generators.\n * \n */\n\n#include <iostream>\n#include "iterators.cpp"\n/*\n\nWhile it may be a little unclear, this C++ program is equivalent\nto this python program:\n\nfor count in range(5):\n print count,\n\nprint\n\nIt doesn\'t do this:\n\nfor(int count=0; count<5; count++) {\n std::cout << count;\n}\nstd::cout << "." << std::endl;\n\nBecause doing it the way we do makes it avoid treating for/range as a\nspecial case, meaning we solve the harder problem first. Optimisations\nspecific to certain code structures can come later.\n\n*/\n\n\nint main(int argc, char* argv[]) {\n // Code to be replaced with a range() style iterator\n int count;\n range range_gen = range(5);\n\n while (true) {\n count = range_gen.next();\n if (range_gen.completed())\n break;\n std::cout << count;\n }\n std::cout << "." << std::endl;\n\n return 0;\n}\n'}

6 changes: 5 additions & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,8 @@ def find_packages(path, base="" ):
Release History:
- 0.0.17 - UNRELEASED - TBD
- 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
Expand Down Expand Up @@ -360,6 +361,7 @@ def find_packages(path, base="" ):
| while_statement
| break_statement
| continue_statement
| pass_statement
| if_statement
| for_statement
Expand All @@ -369,6 +371,8 @@ def find_packages(path, base="" ):
break_statement : BREAK
pass_statement : PASS
continue_statement : CONTINUE
if_statement : IF general_expression COLON EOL statement_block
Expand Down
3 changes: 2 additions & 1 deletion site/src/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ reason.

### In progress

## [0.0.17] - UNRELEASED
## [0.0.17] - 2015-08-12

### New

Expand All @@ -26,6 +26,7 @@ reason.

* Extracted core code for "pyxie" script into pyxie.core
* Updated usage instructions to include covering using arduino profile
* Documentation updated to current status (to a large extent)

## [0.0.16] - 2015-08-02

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.17 - UNRELEASED - TBD
* 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
* 0.0.14 - 2015-07-18 - For loops implemented. Added clib code, C++ generator implementation, FOR loop style test harness, parsing and basic analysis of of FOR loops using a range interator
Expand Down

0 comments on commit ac7cd14

Please sign in to comment.