Commit Graph

1620 Commits

Author SHA1 Message Date
Damien d276f6357e Get unix version compling. 2013-10-22 16:05:47 +01:00
Damien f086ecf57c Shrink py_obj_base_t size to 4 machine words. 2013-10-22 16:05:11 +01:00
Damien eefcc79022 Clear ATBs on gc_init; better gc_info. 2013-10-22 15:25:25 +01:00
Damien 3f69aca2e2 Make stm use garbage collector. 2013-10-21 23:46:04 +01:00
Damien dcced92c26 Add mark-sweep garbage collector. 2013-10-21 23:45:08 +01:00
Damien f48cf67108 Implement crude but working REPL for board. 2013-10-21 10:42:06 +01:00
Damien cbb8868f74 VCP works, need to init comm port PC side; add some debugging output. 2013-10-21 10:41:12 +01:00
Damien 4b6e85ca26 Try to get REPL working, but bug with CDC VCP... 2013-10-21 09:56:56 +01:00
Damien fa2162bc77 Integrate new lexer stream with stm framework. 2013-10-20 17:42:00 +01:00
Damien 27fb45eb1c Add local_num skeleton framework to deref/closure emit calls. 2013-10-20 15:07:49 +01:00
Damien a5185f4bc8 Abstract out back-end stream functionality from lexer. 2013-10-20 14:41:27 +01:00
Damien 68f59a96e3 Add vstr and its functions. 2013-10-20 14:39:58 +01:00
Damien df4b4f31ef Make grammar rules const so the go in .text section. 2013-10-19 18:28:01 +01:00
Damien 4d7adce9c5 Remove obsolete emitthumb.c (now use emitnative.c). 2013-10-19 18:17:12 +01:00
Damien afe12bca23 Fix IRQ priority issue to give working USB; and some cleanup. 2013-10-19 18:13:48 +01:00
Damien fb42ec17bc Try to re-add USB support... 2013-10-19 15:37:09 +01:00
Damien d7a7a30a4f Make pfenv's const so they go in .text section. 2013-10-19 15:36:20 +01:00
Damien 1595f3257e Make rt_fun_table const, so it goes in .text section. 2013-10-19 15:09:32 +01:00
Damien 00ff04fc49 Working SysTick, code factoring, some boot-up code. 2013-10-19 14:40:54 +01:00
Damien 995b8aabb1 Partially implement proper flash storage. 2013-10-18 23:44:05 +01:00
Damien 5ac1b2efbd Implement REPL. 2013-10-18 19:58:12 +01:00
Damien 7bbd110691 Remove line in emitbc.c to print code size. 2013-10-18 19:57:17 +01:00
Damien 3997be444c Add single_input rule to grammar, for REPL. 2013-10-18 19:56:48 +01:00
Damien 9f770c658f Fix up insertion of newline at end of lexer stream. 2013-10-18 19:54:31 +01:00
Damien 4a175e1f11 Fix up linker script; improve startup code; printf to USB. 2013-10-17 22:50:21 +01:00
Damien d2755ec538 Add iterators and comprehension to emitnative. 2013-10-16 23:58:48 +01:00
Damien c12aa468a1 Add SET_ADD opcode to VM. 2013-10-16 20:57:49 +01:00
Damien 5fd09668b7 Add MAP_ADD opcode to VM. 2013-10-16 20:54:01 +01:00
Damien bd25445a82 Implement BC & runtime support for generator/yielding. 2013-10-16 20:39:12 +01:00
Damien c226dca1f7 Support tuples and list comprehension, albeit crude. 2013-10-16 16:12:52 +01:00
Damien 152568bcb6 NLR and Python exceptions work on the board. 2013-10-16 00:46:39 +01:00
Damien c9f91976e1 Crude try-except working. 2013-10-15 23:46:01 +01:00
Damien ce89a21ea4 Implement basic exception framework, and simple for loop. 2013-10-15 22:25:17 +01:00
Damien 5dd455d06d Change VID/PID info so USB works on Windows. 2013-10-14 00:03:29 +01:00
Damien fee89d520f Implement crude but functional CDC + MSC USB device. 2013-10-13 19:02:15 +01:00
Damien ed65605edc Inital commit of stm32f4xx framework. 2013-10-13 00:42:20 +01:00
Damien 3ef4abb446 Change ifdef/if defined to simple if's. 2013-10-12 16:53:13 +01:00
Damien 0efb3a1b66 Tidy up SMALL_INT optimisations and CPython compatibility. 2013-10-12 16:16:56 +01:00
Damien 3a205179ea Option in compile.c to emit compatible or not with CPython. 2013-10-12 15:01:56 +01:00
Damien c025ebb2dc Separate out mpy core and unix version. 2013-10-12 14:30:21 +01:00
Damien a56f292626 Remove obsolete emitx64.c (now in emitnative.c). 2013-10-10 23:30:29 +01:00
Damien a1ddfcc213 Wrap out-native code in preprocessor declarations. 2013-10-10 23:25:50 +01:00
Damien eb19efb27e Simplify and improve function & method calling. 2013-10-10 22:06:54 +01:00
Damien 5609cca2ce Rename vm.h to bc.h. 2013-10-10 20:00:08 +01:00
Damien 7f5dacf345 Implement basic class/object in native code. 2013-10-10 11:24:39 +01:00
Damien a397776d6b Implement basic class/object functionality in runtime. 2013-10-09 23:10:10 +01:00
Damien 91d387de7d Improve indent/dedent error checking and reporting. 2013-10-09 15:09:52 +01:00
Damien ff8ed77cc1 Improve push/pop and register usage for native emit. 2013-10-08 22:18:32 +01:00
Damien 13ed3a658d Native Python and Viper support for x64 and thumb all together. 2013-10-08 09:05:10 +01:00
Damien 3410be8035 Merge viper types with standard native emitter. 2013-10-07 23:09:10 +01:00