ddc3ec855e
fix: resolve local names in methods as self sends instead of upvalues
Bob Nystrom2015-10-05 14:44:51 +00:00
27d6176f40
fix: correct two typos in contributing documentation
Bob Nystrom2015-10-04 04:45:59 +00:00
640779a81c
refactor: replace PrimitiveResult enum with boolean return type for primitive functions
Bob Nystrom2015-10-04 03:43:12 +00:00
4d1d6d03f4
feat: remove PRIM_CALL result type and add METHOD_FN_CALL for function call special-casing
Bob Nystrom2015-10-04 02:04:11 +00:00
d463507b6e
docs: reword embedding guide intro and add configuration details for Wren VM setup
Bob Nystrom2015-10-03 04:25:55 +00:00
1ebb7f2507
refactor: remove explicit ObjFiber parameter from all primitive function signatures
Bob Nystrom2015-10-02 14:51:12 +00:00
8fd9449196
feat: implement async file I/O with open/close/readBytes and scheduler error handling
Bob Nystrom2015-10-01 04:13:36 +00:00
af90291f6f
feat: add isInfinity and isInteger methods to Num class
Bob Nystrom2015-09-30 15:41:43 +00:00
b3086333f0
refactor: unify PRIM_ERROR and PRIM_RUN_FIBER into single PRIM_FIBER enum value
Bob Nystrom2015-09-30 14:32:39 +00:00
2dcb3660b5
feat: add Fiber.transferError and allow non-string error objects in fiber abort
Bob Nystrom2015-09-30 05:57:03 +00:00
f6c36ec85b
feat: add va_list version of wrenCall and fix GC bug with return values
Bob Nystrom2015-09-30 02:29:10 +00:00
b19d85f618
feat: add 'a' format specifier and null-value support to wrenCall, plus tests for strings with null bytes
Bob Nystrom2015-09-24 15:02:31 +00:00
9eea1bccc3
fix: replace sys.version_info.major with tuple index and add fallback for subprocess.check_output on Python 2.6
Peter Pearson2015-09-24 09:05:08 +00:00
5e63e65752
docs: flesh out Range class docs, fix grammar, add smarty plugin, and improve CLI description
Bob Nystrom2015-09-23 04:19:38 +00:00
6bda720b71
feat: replace all :::dart code fence markers with :::wren in documentation
Bob Nystrom2015-09-22 14:59:54 +00:00
2544aa74d8
refactor: rename script/ to util/ and remove project/ directory consolidating build tools
Bob Nystrom2015-09-22 14:45:58 +00:00
b111e7df1c
fix: replace hardcoded python calls with python2_binary helper for gyp build scripts
Bob Nystrom2015-09-22 02:48:08 +00:00
dbddd15e29
refactor: replace per-module bind functions with centralized ModuleRegistry table in modules.c
Bob Nystrom2015-09-21 14:58:39 +00:00
3a8582af89
feat: allow super calls in static methods by removing compiler error and fixing metaclass binding
Bob Nystrom2015-09-19 22:19:41 +00:00
a4922635f2
refactor: replace ad-hoc isKeyword checks with static keyword lookup table in lexer
Bob Nystrom2015-09-18 03:51:24 +00:00
e4cac681a5
feat: add io module with File.size async stat and scheduler resume helpers
Bob Nystrom2015-09-16 14:34:49 +00:00
e0984a5012
fix: require parentheses for zero-argument join() method on Sequence
Bob Nystrom2015-09-16 14:15:48 +00:00
ffe87c271d
feat: add configurable write callback for System.print output delegation
Bob Nystrom2015-09-16 06:01:43 +00:00
aa72900a9e
feat: replace IO class with System class and remove separate IO module
Bob Nystrom2015-09-15 14:46:09 +00:00
f12581a674
refactor: merge io.c file I/O and module resolution functions into vm.c
Bob Nystrom2015-09-14 05:29:47 +00:00
6af2e4a4d9
fix: use python2_binary helper to select python2 executable for libuv build scripts
krypt-n2015-09-13 20:03:09 +00:00
34bcc6bd2d
feat: add scheduler module and refactor built-in module loading into shared modules.c
Bob Nystrom2015-09-13 18:32:39 +00:00
95626bb136
feat: replace inline C string literals with auto-generated .wren.inc includes
Bob Nystrom2015-09-13 17:03:02 +00:00
95ec9c63bd
fix: correct platform.system() call by removing incorrect arch argument in Windows branch
Bob Nystrom2015-09-12 17:45:18 +00:00
eba4911485
fix: error when class inherits from null instead of defaulting to Object
Bob Nystrom2015-09-12 17:14:04 +00:00
9b002c6d67
fix: replace string length calls with counter in map_string benchmarks across all languages
Bob Nystrom2015-09-12 16:59:30 +00:00
e0fda5e315
docs: clarify string encoding and indexing terminology in core string docs
Bob Nystrom2015-09-12 16:42:31 +00:00
c5cea469e3
docs: clarify string is byte array, move .count to codePoints.count, remove O(n) primitive
Bob Nystrom2015-09-12 04:33:26 +00:00
85750ca338
feat: add StringCodePointSequence class and expose codePoints property on String
Bob Nystrom2015-09-11 14:56:01 +00:00
731e1f4b1d
feat: replace public byteAt with private byteAt_ and add O(1) bytes.count
Bob Nystrom2015-09-11 06:52:18 +00:00
0397da2451
refactor: pass value directly to emitConstant instead of relying on parser state
Bob Nystrom2015-09-09 13:44:26 +00:00
21765218c4
fix: correct wrenUtf8DecodeNumBytes signature to accept single byte and fix range subscript bug
Bob Nystrom2015-09-09 03:59:47 +00:00
96d9d644af
fix: remove erroneous argument from platform.system() call in libuv build script
Jess Kay2015-09-06 01:11:08 +00:00
a619851cf2
feat: implement UTF-8 aware string subscript ranges with new wrenNewStringFromRange helper
Bob Nystrom2015-09-02 05:14:55 +00:00
ef93496fd4
fix: remove default constructors and require explicit construct new() for all user classes
Bob Nystrom2015-09-01 15:16:04 +00:00
4665ec1913
feat: implement foreign object finalization and expose wrenCollectGarbage API
Bob Nystrom2015-09-01 04:56:21 +00:00
2a8847fa57
feat: replace WrenMethod with WrenValue for method handles and update wrenCall signature to return WrenInterpretResult
Bob Nystrom2015-08-31 14:57:48 +00:00
c0d90460f0
fix: remove redundant ignoreNewlines call after list instantiation in wren_compiler.c
Bob Nystrom2015-08-31 14:46:17 +00:00
075f487b6e
refactor: restructure list/map compilation loops and extract syntax error tests
Bob Nystrom2015-08-31 14:23:36 +00:00
d608a03244
test: add invalid trailing comma tests for list and map literals
Lukas Werling2015-05-30 20:17:12 +00:00
d2c8bacbaa
feat: allow trailing comma in list literal by early break on right bracket
Lukas Werling2015-05-30 20:18:37 +00:00
bf3aea5755
feat: allow trailing comma in map literal by checking right brace in parser
Lukas Werling2015-05-30 20:17:58 +00:00
6b40c5b3f5
docs: update README and site docs to clarify VM vs CLI separation and mention libuv dependency
Bob Nystrom2015-08-31 05:38:40 +00:00
7e111d19da
feat: replace fiber run() with transfer() and suspend() for scheduler-friendly semantics
Bob Nystrom2015-08-31 05:15:37 +00:00
ca8e97521a
feat: add Alexander Roper to AUTHORS and expand embedding API documentation
Bob Nystrom2015-08-29 06:13:56 +00:00
4de5d75fc6
fix: install g++-multilib package for 32-bit C++ standard library support on Travis CI
Bob Nystrom2015-08-29 03:25:26 +00:00
3253c54eda
fix: print captured stdout/stderr output when libuv build command fails
Bob Nystrom2015-08-29 03:14:55 +00:00
f0cd0e854e
feat: add architecture-specific target flags to libuv Linux build script
Bob Nystrom2015-08-29 02:49:19 +00:00
f95436f640
refactor: move libuv download to deps/ and build per-arch static libs
Bob Nystrom2015-08-29 02:31:03 +00:00
eb1bcb35d1
fix: align libuv output directory path across Mac and Linux builds
Bob Nystrom2015-08-27 14:55:12 +00:00
bd0957dc48
fix: double delta_blue benchmark iterations and update expected result
Bob Nystrom2015-08-27 13:25:24 +00:00
674f682ce1
style: reorder single-char token cases in nextToken and fix wren_utils.h comment
Bob Nystrom2015-08-22 14:56:38 +00:00
69c328c575
fix: exclude brace-only lines from empty line count in metrics script
Bob Nystrom2015-08-22 14:27:32 +00:00
4f053e7a3c
feat: add matchChar helper and refactor twoCharToken, skipBlockComment, readNumber, and nextToken to use it
Bob Nystrom2015-08-22 06:08:11 +00:00
e4adcd5c5b
feat: store number and string literals directly as Value in parser struct
Bob Nystrom2015-08-22 05:54:30 +00:00
b289ef4195
fix: update Wren codebase size estimate from 5k to 7k lines in README
Bob Nystrom2015-08-21 05:34:42 +00:00
6fa0e8cc0a
docs: update Wren codebase line count from 5,000 to 7,000 in index.markdown
Bob Nystrom2015-08-21 05:34:33 +00:00
3b49ded36e
docs: update Wren codebase line count from 5000 to 7000 in README
Bob Nystrom2015-08-21 05:34:08 +00:00
16613c678b
fix: rename constructor initializer keyword from "this" to "init" across compiler, core, and documentation
Bob Nystrom2015-08-21 05:30:44 +00:00
869ecb9f07
fix: correct error message and comment to use 'construct' instead of 'this' in constructor methods
Bob Nystrom2015-08-21 05:23:53 +00:00
087649abc5
fix: replace free with uv_close in timer callback and fix strncpy off-by-one
Bob Nystrom2015-08-21 05:09:52 +00:00
aa3c1308b8
style: reformat subprocess.check_call args in remove_dir for readability
Bob Nystrom2015-08-21 05:08:39 +00:00
149da8fc9a
feat: add libuv dependency and Windows build support to MSVC project
Bob Nystrom2015-08-21 05:07:34 +00:00
80f60f385d
fix: correct test name from 'should_process_empty_input' to 'should_handle_empty_input'
Bob Nystrom2015-08-21 05:04:42 +00:00
f2ba534704
feat: add scientific notation parsing for number literals in wren compiler
Bob Nystrom2015-08-21 05:03:19 +00:00
e24aba2644
docs: replace placeholder embedding API page with full configuration and hosting guide
Bob Nystrom2015-08-21 05:02:13 +00:00
d675e77081
chore: update error messages and comments to use 'construct' instead of 'this' for constructors
minirop2015-08-19 17:33:54 +00:00
82cbef0281
docs: update README line count from 5000 to 7000 based on cloc output
Sam Nipps2015-08-18 16:03:11 +00:00
388334e871
fix: replace shutil.rmtree with custom remove_dir for Windows compatibility
Rohan Singh2015-08-16 13:32:38 +00:00
b89f0040b2
fix: include null terminator in strncpy length for timerGetSource
Rohan Singh2015-08-16 12:59:51 +00:00
fb79617c95
fix: properly dispose libuv timers via uv_close with dedicated callback
Rohan Singh2015-08-13 05:54:30 +00:00
be7a76a18f
fix: ensure null terminator is appended to string copy in timerGetSource
Rohan Singh2015-08-13 05:50:21 +00:00
83fbc7b27f
fix: enable 32-bit Mac libuv build and add explicit Linux pthread/rt linking
Bob Nystrom2015-08-16 17:28:55 +00:00
ef721ee355
build: link rtlib to wren binary and test executable for timer support
Bob Nystrom2015-08-16 16:59:53 +00:00
66c6987270
fix: move library flags after object files in linker commands for wren.mk
Bob Nystrom2015-08-16 16:57:47 +00:00
33df26d181
chore: switch C standard from c99 to gnu99 and reorder linker flags in wren.mk
Bob Nystrom2015-08-16 16:55:50 +00:00
b1d94e945b
refactor: replace libuv dynamic link with object inclusion in wren.mk build rules
Bob Nystrom2015-08-16 16:40:02 +00:00
aa5a4ee755
fix: replace automatic $^ expansion with explicit object lists in wren.mk link rules
Bob Nystrom2015-08-16 16:36:17 +00:00
0aaf3eca7b
fix: reorder libuv link flags and remove silent @ prefix from link commands
Bob Nystrom2015-08-16 16:16:26 +00:00
4d175783d7
fix: move pthread flag from global CFLAGS to libuv link step for Linux builds
Bob Nystrom2015-08-16 16:07:41 +00:00
7269ded75c
build: add libuv library path and timer module to MSVC project files
Rohan Singh2015-08-13 05:39:34 +00:00
85487d9d8c
feat: enable pthread flag for gcc builds on non-macOS platforms
Bob Nystrom2015-08-08 16:14:52 +00:00
283c64d713
fix: bump _XOPEN_SOURCE to 600 for libuv compatibility on Linux
Bob Nystrom2015-08-08 16:06:40 +00:00
fc745b43ed
feat: add CLI_FLAGS variable with _XOPEN_SOURCE=500 and consolidate include paths for cli, module, and test targets
Bob Nystrom2015-08-08 15:57:57 +00:00
0f4d3025b8
fix: adjust libuv build paths for Linux output directory and parameterize in Makefile
Bob Nystrom2015-08-08 14:40:27 +00:00
408ded555d
fix: change libuv Linux build directory from 'out' to 'build' in build_libuv_linux
Bob Nystrom2015-08-08 14:20:07 +00:00
664a166d6c
feat: add input validation and stack trace filtering for Timer.sleep
Bob Nystrom2015-08-08 14:17:30 +00:00
810da1f0fc
feat: add libuv event loop integration with timer module and CLI restructuring
Bob Nystrom2015-08-07 15:10:55 +00:00
e7bdca2cfa
feat: add 'v' type specifier to wrenCall for passing WrenValue arguments
Bob Nystrom2015-08-07 14:57:32 +00:00
81ffd6e001
feat: add WrenValue handle API for persistent GC-rooted object references
Bob Nystrom2015-08-07 06:15:55 +00:00
7eb6ea6b4f
feat: expose core module pointer and fix map tombstone reuse in Wren VM
Bob Nystrom2015-08-07 04:37:13 +00:00
0b1098f56a
fix: set working directory to LIB_UV_DIR for Linux libuv make invocation
Bob Nystrom2015-08-02 17:58:27 +00:00
a96f756d24
feat: implement Linux build for libuv by running gyp and make
Bob Nystrom2015-08-02 17:56:44 +00:00
e24d9ef0c3
feat: integrate libuv as external dependency for CLI and add separate vm build target
Bob Nystrom2015-08-02 17:43:38 +00:00
dba104a696
feat: implement scientific notation parsing for number literals in wren compiler
minirop2015-07-10 16:07:48 +00:00